From: Chad B. <cwb...@us...> - 2008-03-28 18:36:59
|
User: cwbrandon Date: 08/03/28 11:37:04 Modified: andromda-jsf2/src/main/resources/META-INF/andromda cartridge.xml metafacades.xml andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFUseCaseLogicImpl.java andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip Added: andromda-jsf2/src/main/resources/templates/jsf2/preferences/portlet Preferences.java.vsl andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFPortletPreferencesLogicImpl.java andromda-jsf2/src/main/resources/templates/jsf2/preferences Preferences.java.vsl Removed: andromda-jsf2/src/main/resources/templates/jsf2/views/preferences Preferences.java.vsl Log: start on support for modeling portlet prefs Revision Changes Path 1.17 +14 -1 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.16 retrieving revision 1.17 diff -u -w -r1.16 -r1.17 --- cartridge.xml 27 Mar 2008 21:58:35 -0000 1.16 +++ cartridge.xml 28 Mar 2008 18:37:02 -0000 1.17 @@ -443,7 +443,7 @@ </template> <template - path="templates/jsf2/views/preferences/Preferences.java.vsl" + path="templates/jsf2/preferences/Preferences.java.vsl" outputPattern="$generatedFile" outlet="managed-beans" overwrite="true" @@ -1209,6 +1209,19 @@ </template> <template + path="templates/jsf2/preferences/portlet/Preferences.java.vsl" + outputPattern="{0}/{1}.java" + outlet="controllers" + overwrite="true" + outputCondition="portlet"> + <modelElements variable="class"> + <modelElement> + <type name="org.andromda.cartridges.jsf2.metafacades.JSFPortletPreferences"/> + </modelElement> + </modelElements> + </template> + + <template path="templates/jsf2/utils/portlet/PageableDataModel.java.vsl" outputPattern="$stringUtils.replace($managedBeansPackage, '.', '/')/${className}.java" outlet="managed-beans" 1.4 +8 -3 cartridges/andromda-jsf2/src/main/resources/META-INF/andromda/metafacades.xml Index: metafacades.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/META-INF/andromda/metafacades.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- metafacades.xml 20 Feb 2007 10:10:32 -0000 1.3 +++ metafacades.xml 28 Mar 2008 18:37:02 -0000 1.4 @@ -51,6 +51,11 @@ </mapping> <property reference="controllerImplementationPattern"/> </metafacade> + <metafacade class="org.andromda.cartridges.jsf2.metafacades.JSFPortletPreferencesLogicImpl"> + <mapping> + <property name="useCase"/> + </mapping> + </metafacade> <metafacade class="org.andromda.cartridges.jsf2.metafacades.JSFUseCaseLogicImpl"> <mapping> <stereotype>FRONT_END_APPLICATION</stereotype> 1.1 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/preferences/portlet/Preferences.java.vsl Index: Preferences.java.vsl =================================================================== // license-header java merge-point // // Attention: Generated code! Do not modify by hand! // Generated by: Preferences.vsl in andromda-jsf2-cartridge. // #if ($stringUtils.isNotBlank($class.packageName)) package $class.packageName; #end /** $class.getDocumentation(" * ") */ public#if($class.abstract) abstract#end class $class.name #if($class.generalization) extends $class.generalization.fullyQualifiedName #end #if ($serializable) implements java.io.Serializable #end { #if ($serializable) /** * The serial version UID of this class. Needed for serialization. */ private static final long serialVersionUID = ${class.serialVersionUID}L; #end ## ## default constructor ## #if ($class.requiredConstructorParameters.size() > 0 || $class.allRequiredConstructorParameters.size() > $class.requiredConstructorParameters.size()) public ${class.name}() { #if($class.generalization) super(); #end } #end ## ## constructor taking only required properties ## #if ($class.allProperties.size() > $class.allRequiredConstructorParameters.size() && ($class.allRequiredConstructorParameters.size() != 1 || !$class.allRequiredConstructorParameters.get(0).getterSetterTypeName.equals($class.fullyQualifiedName))) public ${class.name}(## no newline #set ($comma = "") #foreach ($property in $class.allRequiredConstructorParameters) ${comma}${property.getterSetterTypeName} ${property.name}## no newline #set ($comma = ", ") #end ) { #if($class.generalization) super(## no newline #set ($comma = "") #foreach ($property in $class.generalization.allRequiredConstructorParameters) ${comma}${property.name}## no newline #set ($comma = ", ") #end ); #end #foreach ($property in $class.requiredConstructorParameters) this.${property.name} = ${property.name}; #end } #end ## ## constructor taking all properties ## #if ($class.allProperties.size() != 1 || !$class.allProperties.get(0).getterSetterTypeName.equals($class.fullyQualifiedName)) public ${class.name}(## no newline #set ($comma = "") #foreach ($property in $class.allProperties) ${comma}${property.getterSetterTypeName} ${property.name}## no newline #set ($comma = ", ") #end ) { #if($class.generalization) super(## no newline #set ($comma = "") #foreach ($property in $class.generalization.allProperties) ${comma}${property.name}## no newline #set ($comma = ", ") #end ); #end #foreach ($property in $class.properties) this.${property.name} = ${property.name}; #end } #end /** * Copies constructor from other ${class.name} * * @param otherBean, cannot be <code>null</code> * @throws java.lang.NullPointerException if the argument is <code>null</code> */ public ${class.name}(${class.name} otherBean) { this(## no newline #set ($comma = "") #foreach ($property in $class.allProperties) ${comma}otherBean.${property.getterName}()## no newline #set ($comma = ", ") #end ); } /** * Copies all properties from the argument value object into this value object. */ public void copy(${class.name} otherBean) { if (otherBean != null) { #foreach ($property in $class.allProperties) this.${property.setterName}(otherBean.${property.getterName}()); #end } } #foreach ($attribute in $class.attributes) private $attribute.getterSetterTypeName $attribute.name#if ($attribute.defaultValuePresent) = $attribute.defaultValue#end; /** $attribute.getDocumentation(" * ") */ public $attribute.getterSetterTypeName ${attribute.getterName}() { return this.${attribute.name}; } ## - always have as public, having read-only causes too many issues when attempting to ## use in other cartridges public void ${attribute.setterName}($attribute.getterSetterTypeName $attribute.name) { this.${attribute.name} = $attribute.name; } #end ## Generate the relation methods. #foreach ($associationEnd in $class.associationEnds) #set ($target = $associationEnd.otherEnd) #if ($target.navigable) private $target.getterSetterTypeName $target.name; /** * Get the $target.name $target.getDocumentation(" * ") */ public $target.getterSetterTypeName ${target.getterName}() { return this.${target.name}; } ## - always have as public, having read-only causes too many issues when attempting to ## use in other cartridges /** * Sets the $target.name */ public void ${target.setterName}($target.getterSetterTypeName $target.name) { this.${target.name} = ${target.name}; } #end #end // ${class.fullyQualifiedName} value-object java merge-point } 1.5 +24 -1 cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades/JSFUseCaseLogicImpl.java Index: JSFUseCaseLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades/JSFUseCaseLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- JSFUseCaseLogicImpl.java 5 Jul 2007 20:20:27 -0000 1.4 +++ JSFUseCaseLogicImpl.java 28 Mar 2008 18:37:03 -0000 1.5 @@ -9,11 +9,13 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; + import org.andromda.cartridges.jsf2.JSFGlobals; import org.andromda.cartridges.jsf2.JSFProfile; import org.andromda.cartridges.jsf2.JSFUtils; import org.andromda.metafacades.uml.AssociationEndFacade; import org.andromda.metafacades.uml.ClassifierFacade; +import org.andromda.metafacades.uml.DependencyFacade; import org.andromda.metafacades.uml.FrontEndAction; import org.andromda.metafacades.uml.FrontEndActivityGraph; import org.andromda.metafacades.uml.FrontEndFinalState; @@ -22,13 +24,13 @@ import org.andromda.metafacades.uml.FrontEndView; import org.andromda.metafacades.uml.IncludeFacade; import org.andromda.metafacades.uml.ModelElementFacade; +import org.andromda.metafacades.uml.Role; import org.andromda.utils.StringUtilsHelper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.collections.Transformer; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; -import org.andromda.metafacades.uml.Role; /** @@ -782,4 +784,25 @@ } return rolesBuffer.toString(); } + + @Override + protected Object handleGetPreferences() + { + JSFPortletPreferences preferences = null; + final Collection dependencies = this.getSourceDependencies(); + if (dependencies != null && !dependencies.isEmpty()) + { + for (final Iterator iterator = dependencies.iterator(); iterator.hasNext();) + { + final DependencyFacade dependency = (DependencyFacade)iterator.next(); + final Object target = dependency.getTargetElement(); + if (dependency.getTargetElement() instanceof JSFPortletPreferences) + { + preferences = (JSFPortletPreferences)target; + break; + } + } + } + return preferences; + } } 1.1 cartridges/andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades/JSFPortletPreferencesLogicImpl.java Index: JSFPortletPreferencesLogicImpl.java =================================================================== package org.andromda.cartridges.jsf2.metafacades; import java.util.Collection; import java.util.Iterator; import org.andromda.metafacades.uml.DependencyFacade; import org.andromda.metafacades.uml.UseCaseFacade; /** * MetafacadeLogic implementation for org.andromda.cartridges.jsf2.metafacades.JSFPortletPreferences. * * @see org.andromda.cartridges.jsf2.metafacades.JSFPortletPreferences */ public class JSFPortletPreferencesLogicImpl extends JSFPortletPreferencesLogic { public JSFPortletPreferencesLogicImpl (Object metaObject, String context) { super (metaObject, context); } /** * @see org.andromda.cartridges.jsf2.metafacades.JSFPortletPreferences#getUseCase() */ protected java.lang.Object handleGetUseCase() { UseCaseFacade useCase = null; final Collection dependencies = this.getTargetDependencies(); if (dependencies != null && !dependencies.isEmpty()) { for (final Iterator iterator = dependencies.iterator(); iterator.hasNext();) { final DependencyFacade dependency = (DependencyFacade)iterator.next(); final Object source = dependency.getSourceElement(); if (source instanceof UseCaseFacade) { useCase = (UseCaseFacade)source; break; } } } return useCase; } } 1.1 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/preferences/Preferences.java.vsl Index: Preferences.java.vsl =================================================================== #set ($generatedFile = "$stringUtils.replace($managedBeansPackage, '.', '/')/${preferencesClassName}.java") #if ($stringUtils.isNotEmpty($managedBeansPackage)) package $managedBeansPackage; #end /** * Provides dynamically changeable preferences for changing the application * display. */ public class $preferencesClassName implements java.io.Serializable { /** * The skin to apply. */ private String skin; public String getSkin() { return this.skin; } public void setSkin(final String skin) { this.skin = skin; } /** * The maximum rows displayed in a table. */ private int maxTableRows; public void setMaxTableRows(final int maxTableRows) { this.maxTableRows = maxTableRows; } public void setMaxTableRows(final String maxTableRows) { try { this.maxTableRows = Integer.parseInt(maxTableRows); } catch (Exception ex) { this.maxTableRows = 1; } } public int getMaxTableRows() { return this.maxTableRows; } } 1.12 +202 -205 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> |