From: Walter M. <wal...@us...> - 2007-02-21 19:41:27
|
User: walterim Date: 07/02/21 11:41:27 Modified: andromda-jsf2/src/main/resources/templates/jsf2/configuration faces-config.xml.vsl web.xml.vsl andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFManageableEntityLogicImpl.java Log: Added security (roles) support to the crud feature. Revision Changes Path 1.9 +2 -2 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.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- faces-config.xml.vsl 21 Feb 2007 10:11:41 -0000 1.8 +++ faces-config.xml.vsl 21 Feb 2007 19:41:22 -0000 1.9 @@ -131,11 +131,11 @@ <property-name>controllerAction</property-name> <value>init</value> </managed-property> -#set ($securityEnabled = $stringUtils.isNotBlank($securityRealm) && !$manageable.users.empty ) +#set ($securityEnabled = $stringUtils.isNotBlank($securityRealm) && !$manageable.roles.empty ) #if ($securityEnabled) <managed-property> <property-name>roles</property-name> - <value>$manageable.users</value> + <value>$manageable.actionRoles</value> </managed-property> #end <managed-property> 1.8 +3 -3 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/configuration/web.xml.vsl Index: web.xml.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/configuration/web.xml.vsl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- web.xml.vsl 21 Feb 2007 10:11:41 -0000 1.7 +++ web.xml.vsl 21 Feb 2007 19:41:23 -0000 1.8 @@ -404,10 +404,10 @@ </description> <url-pattern>${manageable.viewFullPath}.${jsfUtils.viewExtension}</url-pattern> </web-resource-collection> -#if (!$manageable.users.empty) +#if (!$manageable.roles.empty) <auth-constraint> -#foreach ($user in $manageable.users) - <role-name>${user.name}</role-name> +#foreach ($role in $manageable.roles) + <role-name>${role.name}</role-name> #end </auth-constraint> #end 1.4 +192 -181 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> 1.3 +66 -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.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- JSFManageableEntityLogicImpl.java 20 Feb 2007 10:12:05 -0000 1.2 +++ JSFManageableEntityLogicImpl.java 21 Feb 2007 19:41:27 -0000 1.3 @@ -4,12 +4,20 @@ import org.andromda.cartridges.jsf2.JSFUtils; import org.andromda.cartridges.jsf2.JSFProfile; import org.andromda.utils.StringUtilsHelper; +import org.andromda.metafacades.uml.DependencyFacade; +import org.andromda.metafacades.uml.Role; import org.andromda.metafacades.uml.UMLMetafacadeProperties; import org.andromda.metafacades.uml.AttributeFacade; +import org.apache.commons.collections.Closure; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.Predicate; +import org.apache.commons.collections.Transformer; import org.apache.commons.lang.StringUtils; +import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; +import java.util.LinkedHashSet; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.andromda.metafacades.uml.ModelElementFacade; @@ -518,4 +526,62 @@ return serialVersionUID; } + /** + * @see org.andromda.cartridges.jsf2.metafacades.JSFManageableEntity#getRoles() + */ + protected Collection handleGetRoles() + { + //copied form the Service <<Metafacade>> + final Collection roles = new ArrayList(this.getTargetDependencies()); + CollectionUtils.filter(roles, new Predicate() + { + public boolean evaluate(final Object object) + { + DependencyFacade dependency = (DependencyFacade)object; + return dependency != null && dependency.getSourceElement() instanceof Role; + } + }); + CollectionUtils.transform(roles, new Transformer() + { + public Object transform(final Object object) + { + return ((DependencyFacade)object).getSourceElement(); + } + }); + final Collection allRoles = new LinkedHashSet(roles); + // add all roles which are generalizations of this one + CollectionUtils.forAllDo(roles, new Closure() + { + public void execute(final Object object) + { + allRoles.addAll(((Role)object).getAllSpecializations()); + } + }); + return allRoles; + } + + /** + * @see org.andromda.cartridges.jsf2.metafacades.JSFManageableEntity#getActionRoles() + */ + protected String handleGetActionRoles() + { + //copied from JSFUseCaseLogicImpl + final Collection users = this.getRoles(); + final StringBuffer rolesBuffer = new StringBuffer(); + boolean first = true; + for (final Iterator userIterator = users.iterator(); userIterator.hasNext();) + { + if (first) + { + first = false; + } + else + { + rolesBuffer.append(','); + } + final Role role = (Role)userIterator.next(); + rolesBuffer.append(role.getName()); + } + return rolesBuffer.toString(); + } } \ No newline at end of file |
From: Javier A. <ja...@us...> - 2007-12-17 20:45:24
|
User: jadorno Date: 07/12/17 12:45:23 Modified: andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFManageableEntityLogicImpl.java Log: handleGetExceptionKey in JSFManageableEntityLogic was missing the trailing ".exception:" message key. Revision Changes Path 1.6 +1 -1 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.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- JSFManageableEntityLogicImpl.java 2 Nov 2007 18:13:32 -0000 1.5 +++ JSFManageableEntityLogicImpl.java 17 Dec 2007 20:45:23 -0000 1.6 @@ -90,7 +90,7 @@ */ protected java.lang.String handleGetExceptionKey() { - return StringUtilsHelper.toResourceMessageKey(this.getName()); + return StringUtilsHelper.toResourceMessageKey(this.getName()) + ".exception"; } /** |
From: Walter M. <wal...@us...> - 2008-07-04 12:16:21
|
User: walterim Date: 08/07/04 05:16:29 Modified: andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFManageableEntityLogicImpl.java Log: Fix to support manageable entities associated with nom-manageable entities Revision Changes Path 1.7 +6 -3 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.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- JSFManageableEntityLogicImpl.java 17 Dec 2007 20:45:23 -0000 1.6 +++ JSFManageableEntityLogicImpl.java 4 Jul 2008 12:16:29 -0000 1.7 @@ -440,10 +440,13 @@ { final Collection coll=new java.util.ArrayList(); for(final java.util.Iterator it=getManageableAttributes().iterator(); it.hasNext(); ){ - final JSFManageableEntityAttribute attr=(JSFManageableEntityAttribute)it.next(); + Object next = it.next(); + if(next instanceof JSFManageableEntityAttribute){ + final JSFManageableEntityAttribute attr=(JSFManageableEntityAttribute)next; if(!attr.isHidden()) coll.add(attr); } + } return coll; } |
From: Walter M. <wal...@us...> - 2008-07-10 14:59:47
|
User: walterim Date: 08/07/10 07:59:52 Modified: andromda-jsf2/src/main/resources/META-INF/andromda cartridge.xml metafacades.xml namespace.xml andromda-jsf2/src/main/resources/templates/jsf2/controllers/crud Controller.java.vsl andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2 JSFGlobals.java andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFManageableEntityLogicImpl.java Log: Added/corrected the manageableFormKey namespace property Revision Changes Path 1.32 +0 -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.31 retrieving revision 1.32 diff -u -w -r1.31 -r1.32 --- cartridge.xml 4 Jul 2008 12:17:50 -0000 1.31 +++ cartridge.xml 10 Jul 2008 14:59:51 -0000 1.32 @@ -68,7 +68,6 @@ <property reference="fileUploadMaxMemoryPerRequest"/> <property reference="fileUploadMaxDiskSpacePerRequest"/> <property reference="defaultTableExportTypes"/> - <property reference="manageableFormName"/> <property reference="manageableFieldMaxLength"/> <property reference="useAutocompleteLookup"/> <property reference="manageableReferenceParameterPrefix"/> 1.5 +1 -1 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.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- metafacades.xml 28 Mar 2008 18:37:02 -0000 1.4 +++ metafacades.xml 10 Jul 2008 14:59:51 -0000 1.5 @@ -135,9 +135,9 @@ <stereotype>MANAGEABLE</stereotype> </mapping> <property reference="crudValueObjectSuffix"/> + <property reference="manageableActionFormKey"/> <property reference="defaultTableExportTypes"/> <property reference="viewPopulatorPattern"/> - <property reference="actionFormKey"/> </metafacade> <metafacade class="org.andromda.cartridges.jsf2.metafacades.JSFManageableEntityAttributeLogicImpl"> 1.12 +8 -7 cartridges/andromda-jsf2/src/main/resources/META-INF/andromda/namespace.xml Index: namespace.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/META-INF/andromda/namespace.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- namespace.xml 4 Jul 2008 12:17:50 -0000 1.11 +++ namespace.xml 10 Jul 2008 14:59:51 -0000 1.12 @@ -80,6 +80,14 @@ The suffix to append to the names of generated value objects used in CRUD (manageable entities). </documentation> </property> + <property name="manageableActionFormKey"> + <default>manageableForm</default> + <documentation> + The name of the key under which each manageable action form is stored. This + form is passed along from action to action in order to transfer + all parameters. + </documentation> + </property> </propertyGroup> <propertyGroup name="Configuration"> <documentation> @@ -577,13 +585,6 @@ Properties related to the generation of the web-tier part of the manageable entities (also known as the CRUD feature). </documentation> - <property name="manageableFormName"> - <default>manageableForm</default> - <documentation> - Defines the name of the <code>form</code> that is passed along during application execution - when using the pages related to <i>manageable entities</i>. - </documentation> - </property> <property name="manageableReferenceParameterPrefix"> <default>ref_</default> <documentation> 1.15 +11 -11 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/controllers/crud/Controller.java.vsl Index: Controller.java.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/controllers/crud/Controller.java.vsl,v retrieving revision 1.14 retrieving revision 1.15 diff -u -w -r1.14 -r1.15 --- Controller.java.vsl 13 Mar 2008 13:12:06 -0000 1.14 +++ Controller.java.vsl 10 Jul 2008 14:59:52 -0000 1.15 @@ -13,7 +13,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doInit(form); } @@ -73,7 +73,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doLoad(${idParamClass}.valueOf(((javax.faces.component.UIParameter)event.getComponent().findComponent("${manageable.manageableIdentifier.name}")).getValue().toString()),form); } @@ -115,7 +115,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doCancel(form); } @@ -147,7 +147,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doStartNew(form); } @@ -232,7 +232,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doSave(form); } @@ -303,7 +303,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doSave(form); this.doStartNew(form); @@ -332,7 +332,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doSearch(form); } @@ -418,7 +418,7 @@ try { - contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form); + contextWrapper.getCurrentInstance().getPageFlowScope().put("${manageable.formKey}", form); this.doDelete(${idParamClass}.valueOf(((javax.faces.component.UIParameter)event.getComponent().findComponent("${manageable.manageableIdentifier.name}")).getValue().toString()),form); } @@ -486,7 +486,7 @@ public java.util.Collection<javax.faces.model.SelectItem> getAsSelectItems(){ final java.util.Collection<${manageable.valueObjectClassName}> vos; try { - vos = ${manageable.manageableServiceAccessorCall}.readAll(); + vos = (java.util.Collection<${manageable.valueObjectClassName}>)${manageable.manageableServiceAccessorCall}.readAll(); } catch (Exception e) { e.printStackTrace(); this.addExceptionMessage(e); @@ -505,9 +505,9 @@ } /** - * Returns an javax.faces.event.ActionEvent parameter value, from its name + * Returns an javax.faces.event.FacesEvent parameter value, from its name */ - protected Object getParameterValue(String parameterName, javax.faces.event.ActionEvent event){ + protected Object getParameterValue(String parameterName, javax.faces.event.FacesEvent event){ for(Object uiObject : event.getComponent().getChildren()){ if(uiObject instanceof javax.faces.component.UIParameter){ final javax.faces.component.UIParameter param = (javax.faces.component.UIParameter)uiObject; 1.5 +6 -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.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- JSFGlobals.java 2 Nov 2007 18:13:32 -0000 1.4 +++ JSFGlobals.java 10 Jul 2008 14:59:52 -0000 1.5 @@ -12,6 +12,12 @@ * The suffix to append to the class names of CRUD value objects. */ public static final String CRUD_VALUE_OBJECT_SUFFIX = "crudValueObjectSuffix"; + + /** + * The default key under which the manageable action form is stored. + */ + public static final String CRUD_ACTION_FORM_KEY = "manageableActionFormKey"; + /** * A space-separated list of types to which displaytag table are to be exported by default. */ 1.8 +1 -1 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.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- JSFManageableEntityLogicImpl.java 4 Jul 2008 12:16:29 -0000 1.7 +++ JSFManageableEntityLogicImpl.java 10 Jul 2008 14:59:52 -0000 1.8 @@ -373,7 +373,7 @@ protected java.lang.String handleGetFormKey() { final Object formKeyValue = this.findTaggedValue(JSFProfile.TAGGEDVALUE_ACTION_FORM_KEY); - return formKeyValue == null ? ObjectUtils.toString(this.getConfiguredProperty(JSFGlobals.ACTION_FORM_KEY)) + return formKeyValue == null ? ObjectUtils.toString(this.getConfiguredProperty(JSFGlobals.CRUD_ACTION_FORM_KEY)) : String.valueOf(formKeyValue); } |