From: Chad B. <cwb...@us...> - 2008-04-07 15:38:34
|
User: cwbrandon Date: 08/04/07 08:38:36 Modified: andromda-jsf2/src/main/resources/META-INF/andromda cartridge.xml andromda-jsf2/src/main/java/org/andromda/cartridges/jsf2/metafacades JSFUseCaseLogicImpl.java andromda-jsf2/src/main/uml JSFMetafacadeModel.xml.zip andromda-jsf2/src/main/resources/templates/jsf2/flow/portlet PortletPhaseListener.java.vsl Log: make the portlet phase listener handle all front end use cases in the model Revision Changes Path 1.21 +2 -4 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.20 retrieving revision 1.21 diff -u -w -r1.20 -r1.21 --- cartridge.xml 3 Apr 2008 22:21:20 -0000 1.20 +++ cartridge.xml 7 Apr 2008 15:38:34 -0000 1.21 @@ -1085,10 +1085,8 @@ outputCondition="portlet" outputOnEmptyElements="false"> <modelElements> - <modelElement variable="applicationUseCases"> - <type name="org.andromda.metafacades.uml.FrontEndUseCase"> - <property name="entryUseCase"/> - </type> + <modelElement variable="useCases"> + <type name="org.andromda.metafacades.uml.FrontEndUseCase"/> </modelElement> </modelElements> </template> 1.8 +15 -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.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- JSFUseCaseLogicImpl.java 29 Mar 2008 00:05:32 -0000 1.7 +++ JSFUseCaseLogicImpl.java 7 Apr 2008 15:38:34 -0000 1.8 @@ -671,6 +671,7 @@ /** * @see org.andromda.cartridges.jsf2.metafacades.JSFUseCase#getRegistrationUseCases() */ + @SuppressWarnings("unchecked") protected List handleGetRegistrationUseCases() { final List useCases = new ArrayList(this.getAllUseCases()); @@ -708,6 +709,7 @@ /** * @see org.andromda.cartridges.jsf2.metafacades.JSFUseCase#getNavigationRules() */ + @SuppressWarnings("unchecked") protected Collection handleGetNavigationRules() { final Map rules = new LinkedHashMap(); @@ -768,6 +770,7 @@ { final JSFUseCase theUseCase = this; return CollectionUtils.select(getAllUseCases(),new Predicate() { + @SuppressWarnings("synthetic-access") public boolean evaluate(Object o) { final JSFUseCase useCase = (JSFUseCase)o; @@ -864,4 +867,16 @@ { return this.getInitialTargetPath(); } + + @SuppressWarnings("unchecked") + @Override + protected Collection handleGetAllViews() + { + final Set allViews = new LinkedHashSet(); + for (final Iterator iterator = this.getAllUseCases().iterator(); iterator.hasNext();) + { + allViews.addAll(((FrontEndUseCase)iterator.next()).getViews()); + } + return allViews; + } } 1.14 +213 -224 cartridges/andromda-jsf2/src/main/uml/JSFMetafacadeModel.xml.zip <<Binary file>> 1.6 +8 -3 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/flow/portlet/PortletPhaseListener.java.vsl Index: PortletPhaseListener.java.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/flow/portlet/PortletPhaseListener.java.vsl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- PortletPhaseListener.java.vsl 3 Apr 2008 23:53:23 -0000 1.5 +++ PortletPhaseListener.java.vsl 7 Apr 2008 15:38:36 -0000 1.6 @@ -22,9 +22,13 @@ { if (javax.faces.event.PhaseId.RENDER_RESPONSE.equals(event.getPhaseId())) { -#set ($useCase = ${applicationUseCases.iterator().next()}) +#foreach ($useCase in $useCases) #set ($controller = $useCase.controller) - if (viewId.equals("${useCase.initialTargetPath}.xhtml")) +#set ($ifClause = "if") +#if ($velocityCount > 1) +#set ($ifClause = "else $ifClause") +#end + $ifClause (viewId.equals("${useCase.initialTargetPath}.xhtml")) { final $controller.fullyQualifiedName controller = ($controller.fullyQualifiedName) event.getFacesContext().getApplication().getVariableResolver().resolveVariable( @@ -32,6 +36,7 @@ controller.${useCase.controllerAction}(); this.populateView(event, viewId); } +#end } else if (javax.faces.event.PhaseId.APPLY_REQUEST_VALUES.equals(event.getPhaseId())) { @@ -53,7 +58,7 @@ private void populateView(javax.faces.event.PhaseEvent event, String viewId) { -#foreach ($view in $useCase.views) +#foreach ($view in $useCases.iterator().next().allViews) #if ($view.populatorRequired) #set ($ifClause = "if") #if ($velocityCount > 1) |