From: Walter M. <wal...@us...> - 2007-11-02 18:13:31
|
User: walterim Date: 07/11/02 11:13:33 Modified: andromda-jsf2/src/main/resources/templates/jsf2/views/facelets/crud view.xhtml.vsl andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFManageableEntityLogicImpl.java andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2 JSFGlobals.java andromda-jsf2/src/main/resources/META-INF/andromda cartridge.xml andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip andromda-jsf2/src/main/resources/templates/jsf2/configuration faces-config.xml.vsl Added: andromda-jsf2/src/main/resources/templates/jsf2/converters/crud EntityConverter.java.vsl Log: Added the generation of manageable entity converters (JSF) to get the descriptive value of entity instances. Revision Changes Path 1.1 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/converters/crud/EntityConverter.java.vsl Index: EntityConverter.java.vsl =================================================================== #set ($generatedFile = "${manageable.converterFullPath}.java") // license-header java merge-point package $manageable.manageablePackageName; /** * Handles conversion of the entity id to a String. */ public class $manageable.converterClassName implements javax.faces.convert.Converter { /** * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object) */ public String getAsString( javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, java.lang.Object value) throws javax.faces.convert.ConverterException { final ${manageable.valueObjectClassName} vo; try { vo = ${manageable.manageableServiceAccessorCall}.readById((${manageable.manageableIdentifier.type.name})value); } catch (Exception e) { e.printStackTrace(); return ("Id "+value+" not found."); } #if($manageable.displayAttribute.type.stringType) return vo.get$stringUtils.upperCamelCaseName($manageable.displayAttribute.name)(); #else return String.valueOf(vo.get$stringUtils.upperCamelCaseName($manageable.displayAttribute.name)()); #end } /** * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String) */ public Object getAsObject( javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, java.lang.String value) throws javax.faces.convert.ConverterException { return null; } } 1.11 +10 -0 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/views/facelets/crud/view.xhtml.vsl Index: view.xhtml.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/views/facelets/crud/view.xhtml.vsl,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- view.xhtml.vsl 9 Sep 2007 11:01:09 -0000 1.10 +++ view.xhtml.vsl 2 Nov 2007 18:13:32 -0000 1.11 @@ -159,6 +159,16 @@ </tr:column> #end #end +#foreach ($field in $manageable.manageableSearchAssociationEnds) +#if(!$field.many) + <tr:column sortable="false"> + <f:facet name="header"> + <tr:outputText value="#{messages['$field.type.viewTitleKey']}"/> + </f:facet> + <tr:outputText value="#{row.${field.name}}" converter="$field.type.converterType"/> + </tr:column> +#end +#end </tr:table> </tr:form> <tr:group rendered="#{${formName}.editState}"> 1.5 +21 -0 cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades/JSFManageableEntityLogicImpl.java Index: JSFManageableEntityLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades/JSFManageableEntityLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- JSFManageableEntityLogicImpl.java 4 Mar 2007 19:08:31 -0000 1.4 +++ JSFManageableEntityLogicImpl.java 2 Nov 2007 18:13:32 -0000 1.5 @@ -599,4 +599,25 @@ return false; } + /** + * @see org.andromda.cartridges.jsf2.metafacades.JSFManageableEntity#converterClassName + */ + public java.lang.String handleGetConverterClassName(){ + return this.getName() + JSFGlobals.CONVERTER_SUFFIX; + } + + /** + * @see org.andromda.cartridges.jsf2.metafacades.JSFManageableEntity#converterType + */ + public java.lang.String handleGetConverterType(){ + return this.getManageablePackageName() + this.getNamespaceProperty() + this.getConverterClassName(); + } + + /** + * @see org.andromda.cartridges.jsf2.metafacades.JSFManageableEntity#converterFullPath + */ + public java.lang.String handleGetConverterFullPath(){ + return StringUtils.replace(this.getConverterType(), this.getNamespaceProperty(), "/"); + } + } \ No newline at end of file 1.4 +5 -0 cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/JSFGlobals.java Index: JSFGlobals.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/JSFGlobals.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- JSFGlobals.java 20 Feb 2007 10:10:32 -0000 1.3 +++ JSFGlobals.java 2 Nov 2007 18:13:32 -0000 1.4 @@ -67,6 +67,11 @@ public static final String FORM_SUFFIX = "Form"; /** + * The suffix for converter names. + */ + public static final String CONVERTER_SUFFIX = "Converter"; + + /** * Stores the default form scope which can be overriden with a tagged value. */ public static final String FORM_SCOPE = "formScope"; 1.11 +12 -0 cartridges/andromda-jsf2/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- cartridge.xml 30 Aug 2007 20:05:35 -0000 1.10 +++ cartridge.xml 2 Nov 2007 18:13:33 -0000 1.11 @@ -893,6 +893,18 @@ <!-- manageable --> <template + path="templates/jsf2/converters/crud/EntityConverter.java.vsl" + outputPattern="$generatedFile" + outlet="controllers" + overwrite="true"> + <modelElements variable="manageable"> + <modelElement> + <type name="org.andromda.cartridges.jsf2.metafacades.JSFManageableEntity"/> + </modelElement> + </modelElements> + </template> + + <template path="templates/jsf2/controllers/crud/Controller.java.vsl" outputPattern="$generatedFile" outlet="controllers" 1.9 +230 -194 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> 1.12 +7 -0 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/configuration/faces-config.xml.vsl Index: faces-config.xml.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/configuration/faces-config.xml.vsl,v retrieving revision 1.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- faces-config.xml.vsl 19 Jul 2007 17:11:06 -0000 1.11 +++ faces-config.xml.vsl 2 Nov 2007 18:13:33 -0000 1.12 @@ -303,5 +303,12 @@ </converter> #end +#foreach ($manageable in $manageables) + <converter> + <converter-id>$manageable.ConverterType</converter-id> + <converter-class>$manageable.converterType</converter-class> + </converter> +#end + <!-- faces-config merge-point --> </faces-config> |