From: Vance K. <va...@us...> - 2006-03-09 04:45:36
|
User: vancek Date: 06/03/08 20:45:36 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: fixed getInterceptorReferences to recursively look through all interceptors to keep interceptor ordering implemented isExcludeDefaultInterceptors fixed code spacing Revision Changes Path 1.14 +140 -89 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionFacadeLogicImpl.java Index: EJB3SessionFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionFacadeLogicImpl.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- EJB3SessionFacadeLogicImpl.java 7 Mar 2006 09:23:46 -0000 1.13 +++ EJB3SessionFacadeLogicImpl.java 9 Mar 2006 04:45:35 -0000 1.14 @@ -1,6 +1,7 @@ package org.andromda.cartridges.ejb3.metafacades; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashSet; @@ -114,7 +115,9 @@ protected java.util.Collection handleGetBusinessOperations() { Collection operations = super.getOperations(); - CollectionUtils.filter(operations, new Predicate() + CollectionUtils.filter( + operations, + new Predicate() { public boolean evaluate(Object object) { @@ -487,7 +490,9 @@ protected Collection handleGetPersistenceContextReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -496,7 +501,9 @@ && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_PERSISTENCE_CONTEXT)); } }); - CollectionUtils.transform(references, new Transformer() + CollectionUtils.transform( + references, + new Transformer() { public Object transform(final Object object) { @@ -514,7 +521,9 @@ public Collection getServiceReferences() { Collection references = super.getServiceReferences(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -708,7 +717,9 @@ protected Collection handleGetResourceUserTransactionReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -729,7 +740,9 @@ protected Collection handleGetResourceDataSourceReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -769,7 +782,9 @@ protected Collection handleGetInterceptorReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -778,14 +793,29 @@ return (targetElement != null && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_INTERCEPTOR)); } }); - CollectionUtils.transform(references, new Transformer() + CollectionUtils.transform( + references, + new Transformer() { public Object transform(final Object object) { return ((DependencyFacade)object).getTargetElement(); } }); - return references; + final Collection interceptors = new LinkedHashSet(references); + CollectionUtils.forAllDo( + references, + new Closure() + { + public void execute(Object object) + { + if (object instanceof EJB3InterceptorFacade) + { + interceptors.addAll(((EJB3InterceptorFacade)object).getInterceptorReferences()); + } + } + }); + return interceptors; } /** @@ -794,7 +824,9 @@ protected Collection handleGetNonRunAsRoles() { Collection roles = this.getTargetDependencies(); - CollectionUtils.filter(roles, new Predicate() + CollectionUtils.filter( + roles, + new Predicate() { public boolean evaluate(final Object object) { @@ -805,7 +837,9 @@ && !dependency.hasStereotype(EJB3Profile.STEREOTYPE_SECURITY_RUNAS); } }); - CollectionUtils.transform(roles, new Transformer() + CollectionUtils.transform( + roles, + new Transformer() { public Object transform(final Object object) { @@ -814,7 +848,9 @@ }); final Collection allRoles = new LinkedHashSet(roles); // add all roles which are generalizations of this one - CollectionUtils.forAllDo(roles, new Closure() + CollectionUtils.forAllDo( + roles, + new Closure() { public void execute(final Object object) { @@ -873,4 +909,19 @@ { return this.hasStereotype(EJB3Profile.STEREOTYPE_LISTENER); } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsExcludeDefaultInterceptors() + */ + protected boolean handleIsExcludeDefaultInterceptors() + { + boolean excludeDefault = false; + String excludeDefaultStr = + (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_SERVICE_INTERCEPTOR_EXCLUDE_DEFAULT); + if (excludeDefaultStr != null) + { + excludeDefault = BooleanUtils.toBoolean(excludeDefaultStr); + } + return excludeDefault; + } } \ No newline at end of file |