From: Leif J. <le...@us...> - 2007-02-12 16:55:00
|
User: leifj Date: 07/02/12 08:54:56 Modified: andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFUseCaseLogicImpl.java andromda-jsf2/src/main/resources/resources/configuration/facelets andromda.taglib.xml andromda-jsf2/src/main/resources/templates/jsf2/configuration faces-config.xml.vsl andromda-jsf2/src/main/resources/templates/jsf2/utils NavigationItem.java.vsl andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip Added: andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/taglib PermissionChecker.java RoleAssociated.java Log: conditionally render navigation-items based on roles - we must fix this for manageable entities too\! Revision Changes Path 1.1 cartridges/andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/taglib/PermissionChecker.java Index: PermissionChecker.java =================================================================== /* * Created on Feb 12, 2007 * */ package org.andromda.cartridges.jsf2.taglib; public class PermissionChecker { public static boolean isUserInItemRoles(RoleAssociated item) { String[] roles = item.getAssociatedRoles(); if (roles == null || roles.length == 0) // no constraints at all return true; javax.faces.context.ExternalContext ctx = javax.faces.context.FacesContext.getCurrentInstance().getExternalContext(); if (ctx.getUserPrincipal() == null) // not logged in return false; for (int i = 0; i < roles.length; i++) { String role = roles[i]; if (ctx.isUserInRole(role)) return true; } return false; } } 1.1 cartridges/andromda-jsf2/components/src/main/java/org/andromda/cartridges/jsf2/taglib/RoleAssociated.java Index: RoleAssociated.java =================================================================== /* * Created on Feb 12, 2007 * */ package org.andromda.cartridges.jsf2.taglib; public interface RoleAssociated { public String[] getAssociatedRoles(); } 1.2 +24 -0 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.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- JSFUseCaseLogicImpl.java 5 Dec 2006 19:39:09 -0000 1.1 +++ JSFUseCaseLogicImpl.java 12 Feb 2007 16:54:55 -0000 1.2 @@ -28,6 +28,7 @@ import org.apache.commons.collections.Transformer; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; +import org.andromda.metafacades.uml.Role; /** @@ -754,4 +755,27 @@ }); } + /** + * @see org.andromda.cartridges.jsf2.metafacades.JSFUseCase#getActionRoles() + */ + protected String handleGetActionRoles() + { + 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(); + } } 1.2 +6 -0 cartridges/andromda-jsf2/src/main/resources/resources/configuration/facelets/andromda.taglib.xml Index: andromda.taglib.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/resources/configuration/facelets/andromda.taglib.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- andromda.taglib.xml 5 Dec 2006 19:39:34 -0000 1.1 +++ andromda.taglib.xml 12 Feb 2007 16:54:55 -0000 1.2 @@ -45,4 +45,10 @@ </component> </tag> + <function> + <function-name>isUserInItemRoles</function-name> + <function-class>org.andromda.cartridges.jsf2.taglib.PermissionChecker</function-class> + <function-signature>boolean isUserInItemRoles(org.andromda.cartridges.jsf2.taglib.RoleAssociated)</function-signature> + </function> + </facelet-taglib> 1.6 +8 -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.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- faces-config.xml.vsl 1 Feb 2007 19:46:51 -0000 1.5 +++ faces-config.xml.vsl 12 Feb 2007 16:54:55 -0000 1.6 @@ -83,6 +83,14 @@ <property-name>controllerAction</property-name> <value>${useCase.controllerAction}</value> </managed-property> +#set ($roles = $useCase.actionRoles) +#set ($securityEnabled = $stringUtils.isNotBlank($securityRealm) && $stringUtils.isNotBlank($roles) ) +#if ($securityEnabled) + <managed-property> + <property-name>roles</property-name> + <value>$roles</value> + </managed-property> +#end <managed-property> <property-name>outcome</property-name> <value>$useCase.forwardName</value> 1.2 +31 -1 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/utils/NavigationItem.java.vsl Index: NavigationItem.java.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/utils/NavigationItem.java.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- NavigationItem.java.vsl 5 Dec 2006 19:39:21 -0000 1.1 +++ NavigationItem.java.vsl 12 Feb 2007 16:54:56 -0000 1.2 @@ -6,13 +6,14 @@ import java.util.List; import java.lang.StringBuffer; import org.apache.commons.beanutils.MethodUtils; +import javax.servlet.http.HttpServletRequest; /** * * @author Leif Johansson */ public class $className - implements java.io.Serializable + implements java.io.Serializable, org.andromda.cartridges.jsf2.taglib.RoleAssociated { private String label = null; @@ -22,6 +23,8 @@ private List children = null; private Object controllerBean = null; private String controllerAction = null; + private String roles = null; + protected String[] _roles = null; public NavigationItem() {} @@ -65,6 +68,32 @@ this.icon = icon; } + public String getRoles() { + return roles; + } + + private void _updateRoles() { + if (roles != null && roles.length() > 0) + _roles = roles.split(","); + else + _roles = null; + } + + public void setRoles(String roles) { + this.roles = roles; + _updateRoles(); + } + + public String[] getAssociatedRoles() + { + return _roles; + } + + public boolean isRendered() + { + return org.andromda.cartridges.jsf2.taglib.PermissionChecker.isUserInItemRoles(this); + } + public String getAction() { try { return (java.lang.String)MethodUtils.invokeMethod(getControllerBean(),getControllerAction(),null); @@ -96,6 +125,7 @@ buf.append("label=").append(label); buf.append(",outcome=").append(outcome); buf.append(",viewId=").append(viewId); + buf.append(",roles=").append(roles); if (children != null) buf.append(",children=").append(children); buf.append("]"); 1.3 +185 -180 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> |
From: Chad B. <cwb...@us...> - 2007-07-09 17:55:07
|
User: cwbrandon Date: 07/07/09 10:55:09 Modified: andromda-jsf2/src/main/resources/META-INF/andromda cartridge.xml andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip Log: Fix table rendering bug (depends on latest fix in andromda 3.3-SNAPSHOT) Revision Changes Path 1.6 +6 -8 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.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- cartridge.xml 5 Jul 2007 17:09:24 -0000 1.5 +++ cartridge.xml 9 Jul 2007 17:55:08 -0000 1.6 @@ -670,11 +670,10 @@ outlet="views" overwrite="true" outputCondition="viewTypeIsFacelets"> - <modelElements variable="table"> + <modelElements> <modelElement> - <type name="org.andromda.metafacades.uml.FrontEndParameter"> - <property name="table"/> - <property name="view"/> + <type name="org.andromda.metafacades.uml.FrontEndView"> + <property name="tables" variable="table"/> </type> </modelElement> </modelElements> @@ -847,11 +846,10 @@ outlet="views" overwrite="true" outputCondition="viewTypeIsJsp"> - <modelElements variable="table"> + <modelElements> <modelElement> - <type name="org.andromda.metafacades.uml.FrontEndParameter"> - <property name="table"/> - <property name="view"/> + <type name="org.andromda.metafacades.uml.FrontEndView"> + <property name="tables" variable="table"/> </type> </modelElement> </modelElements> 1.7 +179 -185 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> |
From: Walter M. <wal...@us...> - 2008-06-16 19:34:14
|
User: walterim Date: 08/06/16 12:34:13 Modified: andromda-jsf2 pom.xml andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip Log: Using andromda 3.3 instead of 3.3-SNAPSHOT Revision Changes Path 1.9 +2 -2 cartridges/andromda-jsf2/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/pom.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- pom.xml 25 Feb 2008 14:16:49 -0000 1.8 +++ pom.xml 16 Jun 2008 19:34:11 -0000 1.9 @@ -16,7 +16,7 @@ <dependency> <groupId>${pom.groupId}</groupId> <artifactId>andromda-jsf-cartridge-components</artifactId> - <version>3.3-SNAPSHOT</version> + <version>3.3</version> </dependency> <dependency> <groupId>commons-lang</groupId> @@ -33,7 +33,7 @@ <dependency> <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-meta-cartridge</artifactId> - <version>3.3-SNAPSHOT</version> + <version>3.3</version> </dependency> </dependencies> </plugin> 1.15 +185 -214 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> |