Very close to having SRU working.

This commit is contained in:
sb 2009-02-19 15:29:27 +00:00
parent ae09844508
commit 9d09c248d0
3 changed files with 51 additions and 37 deletions

View file

@ -9,8 +9,8 @@
Transform ADL into (partial) controller classes Transform ADL into (partial) controller classes
$Author: sb $ $Author: sb $
$Revision: 1.27 $ $Revision: 1.28 $
$Date: 2009-02-06 17:48:58 $ $Date: 2009-02-19 15:29:27 $
--> -->
<!-- WARNING WARNING WARNING: Do NOT reformat this file! <!-- WARNING WARNING WARNING: Do NOT reformat this file!
@ -70,7 +70,7 @@
// //
// Automatically generated abstract super class for controllers for the // Automatically generated abstract super class for controllers for the
// <xsl:value-of select="/adl:application/@name"/> application; generated using // <xsl:value-of select="/adl:application/@name"/> application; generated using
// adl2controllerclasses.xslt version <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/> // adl2controllerclasses.xslt version <xsl:value-of select="substring( '$Revision: 1.28 $', 10)"/>
// //
// <xsl:value-of select="/adl:application/@revision"/> // <xsl:value-of select="/adl:application/@revision"/>
// //
@ -109,9 +109,8 @@
<xsl:choose> <xsl:choose>
<xsl:when test="$authentication-layer = 'Application'"/> <xsl:when test="$authentication-layer = 'Application'"/>
<xsl:when test="$authentication-layer = 'Database'"> <xsl:when test="$authentication-layer = 'Database'">
public <xsl:value-of select="concat( 'Abstract', /adl:application/@name, 'Controller')"/>(){ /* authentication layer is requested to be 'database', but in fact database-layer
dbSessionProvider = new DBLayerSessionProvider(); authentication does not work well with NHibernate so this is being ignored. */
}
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:message terminate="yes"> <xsl:message terminate="yes">
@ -181,7 +180,7 @@
// //
// Controller for auto-generated forms for editing <xsl:value-of select="@name"/>s // Controller for auto-generated forms for editing <xsl:value-of select="@name"/>s
// Automatically generated from application description using // Automatically generated from application description using
// adl2controllerclasses.xslt version <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/> // adl2controllerclasses.xslt version <xsl:value-of select="substring( '$Revision: 1.28 $', 10)"/>
// //
// This file is automatically generated; DO NOT EDIT IT. // This file is automatically generated; DO NOT EDIT IT.
// //
@ -435,7 +434,8 @@
<xsl:variable name="entityname" select="@entity"/> <xsl:variable name="entityname" select="@entity"/>
<xsl:choose> <xsl:choose>
<xsl:when test="//adl:entity[@name=$entityname]"> <xsl:when test="//adl:entity[@name=$entityname]">
if ( ! String.IsNullOrEmpty( Form["<xsl:value-of select="concat( 'instance.', @name)"/>"])) if ( ! String.IsNullOrEmpty( Form["<xsl:value-of select="concat( 'instance.', @name)"/>"]) &amp;&amp;
! EntityMenuControl&lt;<xsl:value-of select="concat( $entityns, '.', @entity)"/>&gt;.NULLMARKER.Equals ( Form["<xsl:value-of select="concat( 'instance.', @name)"/>"]))
{ {
record.<xsl:value-of select="@name"/> = <xsl:call-template name="fetch-property-instance"> record.<xsl:value-of select="@name"/> = <xsl:call-template name="fetch-property-instance">
<xsl:with-param name="property" select="."/> <xsl:with-param name="property" select="."/>
@ -939,12 +939,6 @@
{ {
ISession hibernator = GetDBSession(); ISession hibernator = GetDBSession();
if ( record == null ){
record = new <xsl:value-of select="concat($entityns, '.', ancestor::adl:entity/@name)"/>();
BindObjectInstance( record, ParamStore.Form, "instance");
}
TypedPropertyBag = new { TypedPropertyBag = new {
<xsl:call-template name="formmenus"> <xsl:call-template name="formmenus">
<xsl:with-param name="form" select="."/> <xsl:with-param name="form" select="."/>

View file

@ -12,7 +12,7 @@
Convert ADL to MS-SQL Convert ADL to MS-SQL
$Author: sb $ $Author: sb $
$Revision: 1.16 $ $Revision: 1.17 $
--> -->
<xsl:output indent="no" encoding="UTF-8" method="text"/> <xsl:output indent="no" encoding="UTF-8" method="text"/>
@ -112,7 +112,7 @@
-- <xsl:value-of select="$product-version"/> -- <xsl:value-of select="$product-version"/>
-- --
-- Database for application <xsl:value-of select="@name"/> version <xsl:value-of select="@version"/> -- Database for application <xsl:value-of select="@name"/> version <xsl:value-of select="@version"/>
-- Generated for MS-SQL 2000+ using adl2mssql.xslt <xsl:value-of select="substring('$Revision: 1.16 $', 12)"/> -- Generated for MS-SQL 2000+ using adl2mssql.xslt <xsl:value-of select="substring('$Revision: 1.17 $', 12)"/>
-- THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT IT. -- THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT IT.
-- --
-- <xsl:value-of select="@revision"/> -- <xsl:value-of select="@revision"/>
@ -130,6 +130,20 @@
------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------
<xsl:apply-templates select="adl:group"/> <xsl:apply-templates select="adl:group"/>
-------------------------------------------------------------------------------------------------
-- magic view for role membership, used in establishing security credentials
-------------------------------------------------------------------------------------------------
CREATE VIEW RoleMembership AS
SELECT dbuser.name as "dbuser",
dbrole.name as "dbrole"
FROM sysusers AS dbuser, sysmembers, sysusers AS dbrole
WHERE dbuser.uid = sysmembers.memberuid
AND dbrole.uid = sysmembers.groupuid
GO
GRANT SELECT on RoleMembership to public
GO
------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------
-- primary tables, views and permissions -- primary tables, views and permissions
------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------

View file

@ -15,8 +15,8 @@
Transform ADL into velocity view templates Transform ADL into velocity view templates
$Author: sb $ $Author: sb $
$Revision: 1.26 $ $Revision: 1.27 $
$Date: 2009-02-06 17:48:58 $ $Date: 2009-02-19 15:29:27 $
--> -->
<!-- WARNING WARNING WARNING: Do NOT reformat this file! <!-- WARNING WARNING WARNING: Do NOT reformat this file!
Whitespace (or lack of it) is significant! --> Whitespace (or lack of it) is significant! -->
@ -124,7 +124,7 @@
Auto generated Velocity maybe-delete form for <xsl:value-of select="@name"/>, Auto generated Velocity maybe-delete form for <xsl:value-of select="@name"/>,
generated from ADL. generated from ADL.
Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.26 $', 10)"/> Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/>
</xsl:comment> </xsl:comment>
<xsl:call-template name="maybe-delete"> <xsl:call-template name="maybe-delete">
<xsl:with-param name="entity" select="."/> <xsl:with-param name="entity" select="."/>
@ -161,7 +161,7 @@
Auto generated Velocity maybe-delete form for <xsl:value-of select="@name"/>, Auto generated Velocity maybe-delete form for <xsl:value-of select="@name"/>,
generated from ADL. generated from ADL.
Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.26 $', 10)"/> Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/>
<xsl:value-of select="/adl:application/@revision"/> <xsl:value-of select="/adl:application/@revision"/>
</xsl:comment> </xsl:comment>
@ -244,7 +244,7 @@
Auto generated Velocity <xsl:value-of select="@name"/> form for <xsl:value-of select="ancestor::adl:entity/@name"/>, Auto generated Velocity <xsl:value-of select="@name"/> form for <xsl:value-of select="ancestor::adl:entity/@name"/>,
generated from ADL. generated from ADL.
Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.26 $', 10)"/> Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/>
Generation parameters were: Generation parameters were:
locale: <xsl:value-of select="$locale"/> locale: <xsl:value-of select="$locale"/>
generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/> generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/>
@ -320,7 +320,7 @@
Auto generated Velocity form for <xsl:value-of select="ancestor::adl:entity/@name"/>, Auto generated Velocity form for <xsl:value-of select="ancestor::adl:entity/@name"/>,
generated from ADL. generated from ADL.
Generated using adl2views.xsl <xsl:value-of select="substring( '$Revision: 1.26 $', 10)"/> Generated using adl2views.xsl <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/>
Generation parameters were: Generation parameters were:
locale: <xsl:value-of select="$locale"/> locale: <xsl:value-of select="$locale"/>
generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/> generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/>
@ -900,7 +900,7 @@
Auto generated Velocity list for <xsl:value-of select="@name"/>, Auto generated Velocity list for <xsl:value-of select="@name"/>,
generated from ADL. generated from ADL.
Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.26 $', 10)"/> Generated using adl2views.xslt <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/>
Generation parameters were: Generation parameters were:
locale: <xsl:value-of select="$locale"/> locale: <xsl:value-of select="$locale"/>
generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/> generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/>
@ -963,7 +963,7 @@
Auto generated Velocity list for <xsl:value-of select="ancestor::adl:entity/@name"/>, Auto generated Velocity list for <xsl:value-of select="ancestor::adl:entity/@name"/>,
generated from ADL. generated from ADL.
Generated using adl2listview.xsl <xsl:value-of select="substring( '$Revision: 1.26 $', 10)"/> Generated using adl2listview.xsl <xsl:value-of select="substring( '$Revision: 1.27 $', 10)"/>
Generation parameters were: Generation parameters were:
locale: <xsl:value-of select="$locale"/> locale: <xsl:value-of select="$locale"/>
generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/> generate-site-navigation: <xsl:value-of select="$generate-site-navigation"/>
@ -1391,8 +1391,11 @@
<!-- assumed to be an instance of adl:form --> <!-- assumed to be an instance of adl:form -->
</xsl:param> </xsl:param>
<script type='text/javascript' language='JavaScript1.2'> <script type='text/javascript' language='JavaScript1.2'>
var site-root = '$site-root'; #if ( $site-root)
site-root = '$site-root';
#else
site-root = '/';
#end
function performInitialisation() function performInitialisation()
{ {
<xsl:for-each select="$form/ancestor::adl:entity/adl:property[@type='link']"> <xsl:for-each select="$form/ancestor::adl:entity/adl:property[@type='link']">
@ -1408,9 +1411,6 @@
we /don't/ set up a submit handler. --> we /don't/ set up a submit handler. -->
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
<xsl:if test="$form/adl:fieldgroup">
switchtab( '<xsl:value-of select="$form/adl:fieldgroup[1]/@name"/>');
</xsl:if>
} }
var validator = new Validation('<xsl:value-of select="$form/name"/>', {immediate : true, useTitles : true}); var validator = new Validation('<xsl:value-of select="$form/name"/>', {immediate : true, useTitles : true});
@ -1540,6 +1540,12 @@
<xsl:otherwise>1</xsl:otherwise> <xsl:otherwise>1</xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<xsl:variable name="required">
<xsl:choose>
<xsl:when test="$property/@required='true'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose> <xsl:choose>
<xsl:when test="$property/adl:option"> <xsl:when test="$property/adl:option">
<!-- emit a menu of options --> <!-- emit a menu of options -->
@ -1578,7 +1584,7 @@
<xsl:variable name="minimum" select="$definition/@minimum"/> <xsl:variable name="minimum" select="$definition/@minimum"/>
<xsl:choose> <xsl:choose>
<xsl:when test="$base-type='string'"> <xsl:when test="$base-type='string'">
${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")} ${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',required='<xsl:value-of select="normalize-space( $required)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")}
</xsl:when> </xsl:when>
<xsl:when test="string-length($definition/@minimum) &gt; 0 and string-length( $definition/@maximum) &gt; 0"> <xsl:when test="string-length($definition/@minimum) &gt; 0 and string-length( $definition/@maximum) &gt; 0">
<xsl:call-template name="slider-widget"> <xsl:call-template name="slider-widget">
@ -1589,7 +1595,7 @@
${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="concat('slider, ', normalize-space($cssclass))"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")} ${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="concat('slider, ', normalize-space($cssclass))"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")}
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")} ${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',required='<xsl:value-of select="normalize-space( $required)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")}
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:when> </xsl:when>
@ -1602,13 +1608,13 @@
</xsl:variable> </xsl:variable>
<!-- NOTE! NOTE! NOTE! Whitespace is significant - any linefeeds inside the #if ( ) clause cause the Velocity parser to break! --> <!-- NOTE! NOTE! NOTE! Whitespace is significant - any linefeeds inside the #if ( ) clause cause the Velocity parser to break! -->
#if ( <xsl:for-each select="exsl:node-set( $readgroups)/*">${SecurityHelper.InGroup( "<xsl:value-of select="./@name"/>")} ||</xsl:for-each> false) #if ( <xsl:for-each select="exsl:node-set( $readgroups)/*">${SecurityHelper.InGroup( "<xsl:value-of select="./@name"/>")} ||</xsl:for-each> false)
${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")} ${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',required='<xsl:value-of select="normalize-space( $required)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")}
#else #else
[Not authorised] [Not authorised]
#end #end
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")} ${<xsl:value-of select="concat( $property/ancestor::adl:entity/@name, 'FieldHelper', '.', $mode, '(')"/> "<xsl:value-of select="concat( 'instance.', $property/@name)"/>", "%{class='<xsl:value-of select="normalize-space($cssclass)"/>',required='<xsl:value-of select="normalize-space( $required)"/>',title='<xsl:value-of select="normalize-space($if-missing)"/>',size='<xsl:value-of select="normalize-space($size)"/>',maxlength='<xsl:value-of select="normalize-space($maxlength)"/>',rows='<xsl:value-of select="normalize-space($rows)"/>',href='<xsl:value-of select="normalize-space($href)"/>'}")}
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>