From: Vance K. <va...@us...> - 2006-01-03 01:44:15
|
User: vancek Date: 06/01/02 17:44:08 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: Added session bean operation methods Revision Changes Path 1.2 +125 -2 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- EJB3SessionOperationFacadeLogicImpl.java 28 Dec 2005 00:32:55 -0000 1.1 +++ EJB3SessionOperationFacadeLogicImpl.java 3 Jan 2006 01:44:07 -0000 1.2 @@ -1,5 +1,11 @@ package org.andromda.cartridges.ejb3.metafacades; +import org.andromda.cartridges.ejb3.EJB3Globals; +import org.andromda.cartridges.ejb3.EJB3Profile; +import org.apache.commons.lang.BooleanUtils; +import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang.StringUtils; + /** * MetafacadeLogic implementation for org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacade. @@ -20,8 +26,125 @@ */ protected java.lang.String handleGetViewType() { - // TODO: put your implementation here. - return null; + String viewType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_VIEWTYPE); + if (StringUtils.isEmpty(viewType)) + { + EJB3SessionFacade sessionFacade = (EJB3SessionFacade)this.getOwner(); + if (StringUtils.isNotEmpty(sessionFacade.getViewType())) + { + viewType = sessionFacade.getViewType(); + } + else + { + viewType = EJB3Globals.VIEW_TYPE_BOTH; + } + } + return viewType; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsViewTypeRemote() + */ + protected boolean handleIsViewTypeRemote() + { + boolean isRemote = false; + if (this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_REMOTE)) + { + isRemote = true; + } + return isRemote; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsViewTypeLocal() + */ + protected boolean handleIsViewTypeLocal() + { + boolean isLocal = false; + if (this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_LOCAL)) + { + isLocal = true; + } + return isLocal; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsViewTypeBoth() + */ + protected boolean handleIsViewTypeBoth() + { + boolean isBoth = false; + if (this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_BOTH)) + { + isBoth = true; + } + return isBoth; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetTransactionType() + */ + protected String handleGetTransactionType() + { + String transType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_TRANSACTION_TYPE); + if (StringUtils.isNotBlank(transType)) + { + transType = EJB3MetafacadeUtils.convertTransactionType(transType); + } + else + { + transType = StringUtils.trimToEmpty( + ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.TRANSACTION_TYPE))); + } + return transType; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsBusinessOperation() + */ + protected boolean handleIsBusinessOperation() + { + return !this.hasStereotype(EJB3Profile.STEREOTYPE_CREATE_METHOD); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetRolesAllowed() + */ + protected String handleGetRolesAllowed() + { + String rolesAllowedStr = null; + final String tmpRoles = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_ROLES_ALLOWED); + if (StringUtils.isNotBlank(tmpRoles)) + { + StringBuffer rolesAllowed = new StringBuffer(); + final String[] roles = StringUtils.split(tmpRoles, ','); + for (int i = 0; i < roles.length; i++) + { + if (i > 0) + { + rolesAllowed.append(", "); + } + rolesAllowed.append('"'); + rolesAllowed.append(roles[i]); + rolesAllowed.append('"'); + } + rolesAllowedStr = rolesAllowed.toString(); + } + return rolesAllowedStr; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsPermitAll() + */ + protected boolean handleIsPermitAll() + { + boolean permitAll = false; + String permitAllStr = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_PERMIT_ALL); + if (StringUtils.isNotBlank(permitAllStr)) + { + permitAll = BooleanUtils.toBoolean(permitAllStr); + } + return permitAll; } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-06 14:01:32
|
User: vancek Date: 06/01/06 06:01:11 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: added isDenyAll and getFlushMode methods Revision Changes Path 1.3 +22 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- EJB3SessionOperationFacadeLogicImpl.java 3 Jan 2006 01:44:07 -0000 1.2 +++ EJB3SessionOperationFacadeLogicImpl.java 6 Jan 2006 14:01:11 -0000 1.3 @@ -147,4 +147,26 @@ return permitAll; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsDenyAll() + */ + protected boolean handleIsDenyAll() + { + boolean denyAll = false; + String denyAllStr = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_DENY_ALL); + if (StringUtils.isNotBlank(denyAllStr)) + { + denyAll = BooleanUtils.toBoolean(denyAllStr); + } + return denyAll; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetFlushMode() + */ + protected String handleGetFlushMode() + { + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_PERSISTENCE_FLUSH_MODE); + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-10 08:16:41
|
User: vancek Date: 06/01/10 00:16:32 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: added getThrowsClause Revision Changes Path 1.4 +35 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- EJB3SessionOperationFacadeLogicImpl.java 6 Jan 2006 14:01:11 -0000 1.3 +++ EJB3SessionOperationFacadeLogicImpl.java 10 Jan 2006 08:16:32 -0000 1.4 @@ -169,4 +169,39 @@ return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_PERSISTENCE_FLUSH_MODE); } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetThrowsClause() + */ + protected String handleGetThrowsClause() + { + StringBuffer throwsClause = null; + if (this.isExceptionsPresent()) + { + throwsClause = new StringBuffer(this.getExceptionList()); + } + if (throwsClause != null) + { + throwsClause.insert(0, "throws "); + } + return throwsClause != null ? throwsClause.toString() : null; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetThrowsClause(java.lang.String) + */ + protected String handleGetThrowsClause(String initialExceptions) + { + final StringBuffer throwsClause = new StringBuffer(initialExceptions); + if (this.getThrowsClause() != null) + { + throwsClause.insert(0, ", "); + throwsClause.insert(0, this.getThrowsClause()); + } + else + { + throwsClause.insert(0, "throws "); + } + return throwsClause.toString(); + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-17 04:07:22
|
User: vancek Date: 06/01/16 20:07:16 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: changed getRolesAllowed to used actors for roles, added getNonRunAsRoles method Revision Changes Path 1.5 +77 -16 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3SessionOperationFacadeLogicImpl.java 10 Jan 2006 08:16:32 -0000 1.4 +++ EJB3SessionOperationFacadeLogicImpl.java 17 Jan 2006 04:07:16 -0000 1.5 @@ -1,7 +1,18 @@ package org.andromda.cartridges.ejb3.metafacades; +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedHashSet; + import org.andromda.cartridges.ejb3.EJB3Globals; import org.andromda.cartridges.ejb3.EJB3Profile; +import org.andromda.metafacades.uml.DependencyFacade; +import org.andromda.metafacades.uml.Role; +import org.andromda.metafacades.uml.Service; +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.BooleanUtils; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; @@ -112,25 +123,23 @@ */ protected String handleGetRolesAllowed() { - String rolesAllowedStr = null; - final String tmpRoles = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_ROLES_ALLOWED); - if (StringUtils.isNotBlank(tmpRoles)) - { - StringBuffer rolesAllowed = new StringBuffer(); - final String[] roles = StringUtils.split(tmpRoles, ','); - for (int i = 0; i < roles.length; i++) + StringBuffer rolesAllowed = null; + String separator = ""; + + for (final Iterator iter = this.getNonRunAsRoles().iterator(); iter.hasNext(); ) { - if (i > 0) + if (rolesAllowed == null) { - rolesAllowed.append(", "); + rolesAllowed = new StringBuffer(); } + rolesAllowed.append(separator); + Role role = (Role)iter.next(); rolesAllowed.append('"'); - rolesAllowed.append(roles[i]); + rolesAllowed.append(role.getName()); rolesAllowed.append('"'); + separator = ", "; } - rolesAllowedStr = rolesAllowed.toString(); - } - return rolesAllowedStr; + return rolesAllowed != null ? rolesAllowed.toString() : null; } /** @@ -204,4 +213,56 @@ return throwsClause.toString(); } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetNonRunAsRoles() + */ + protected Collection handleGetNonRunAsRoles() + { + final Collection roles = new LinkedHashSet(); + if (this.getOwner() instanceof EJB3SessionFacade) + { + roles.addAll(((EJB3SessionFacade)this.getOwner()).getNonRunAsRoles()); + } + Collection operationRoles = this.getTargetDependencies(); + CollectionUtils.filter( + operationRoles, + new Predicate() + { + public boolean evaluate(Object object) + { + DependencyFacade dependency = (DependencyFacade)object; + return dependency != null + && dependency.getSourceElement() != null + && Role.class.isAssignableFrom(dependency.getSourceElement().getClass()) + && !dependency.hasStereotype(EJB3Profile.STEREOTYPE_SECURITY_RUNAS); + } + }); + CollectionUtils.transform( + operationRoles, + new Transformer() + { + public Object transform(Object object) + { + return ((DependencyFacade)object).getSourceElement(); + } + }); + roles.addAll(operationRoles); + final Collection allRoles = new LinkedHashSet(roles); + + // add all roles which are specializations of this one + CollectionUtils.forAllDo( + roles, + new Closure() + { + public void execute(Object object) + { + if (object instanceof Role) + { + allRoles.addAll(((Role)object).getAllSpecializations()); + } + } + }); + return allRoles; + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-18 09:24:04
|
User: vancek Date: 06/01/18 01:23:55 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: added isTimeoutCallback lookup timeout callback tagged value for session bean operation Revision Changes Path 1.6 +11 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- EJB3SessionOperationFacadeLogicImpl.java 17 Jan 2006 04:07:16 -0000 1.5 +++ EJB3SessionOperationFacadeLogicImpl.java 18 Jan 2006 09:23:55 -0000 1.6 @@ -265,4 +265,15 @@ return allRoles; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsTimeoutCallback() + */ + protected boolean handleIsTimeoutCallback() + { + boolean isTimeout = false; + isTimeout = BooleanUtils.toBoolean( + (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_SERVICE_TIMER_TIMEOUT)); + return isTimeout; + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-28 03:01:55
|
User: vancek Date: 06/01/27 19:01:49 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: added service operation implementation facility Revision Changes Path 1.7 +48 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- EJB3SessionOperationFacadeLogicImpl.java 18 Jan 2006 09:23:55 -0000 1.6 +++ EJB3SessionOperationFacadeLogicImpl.java 28 Jan 2006 03:01:49 -0000 1.7 @@ -1,5 +1,6 @@ package org.andromda.cartridges.ejb3.metafacades; +import java.text.MessageFormat; import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashSet; @@ -26,6 +27,12 @@ public class EJB3SessionOperationFacadeLogicImpl extends EJB3SessionOperationFacadeLogic { + /** + * The property used to specify the implementation operation name pattern + * on service beans. + */ + public static final String SERVICE_IMPLEMENTATION_OPERATION_NAME_PATTERN = + "serviceImplementationOperationNamePattern"; public EJB3SessionOperationFacadeLogicImpl (Object metaObject, String context) { @@ -276,4 +283,44 @@ return isTimeout; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetImplementationName() + */ + protected String handleGetImplementationName() + { + return this.getImplementationOperationName(StringUtils.capitalize(this.getName())); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetImplementationCall() + */ + protected String handleGetImplementationCall() + { + return this.getImplementationOperationName(StringUtils.capitalize(this.getCall())); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetImplementationSignature() + */ + protected String handleGetImplementationSignature() + { + return this.getImplementationOperationName(StringUtils.capitalize(this.getSignature())); + } + + /** + * Retrieves the implementationOperatName by replacing the <code>replacement</code> in the {@link + * SERVICE_IMPLEMENTATION_OPERATION_NAME_PATTERN} + * + * @param replacement the replacement string for the pattern. + * @return the operation name + */ + private String getImplementationOperationName(String replacement) + { + String implementationNamePattern = + (String)this.getConfiguredProperty(SERVICE_IMPLEMENTATION_OPERATION_NAME_PATTERN); + + return MessageFormat.format( + implementationNamePattern, + new Object[] {StringUtils.trimToEmpty(replacement)}); + } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-02-06 04:08:25
|
User: vancek Date: 06/02/05 20:08:19 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: isTimeoutCallback checks for Timeout stereotype rather than tagged value added getInterceptorReferences to return target elements added isExcludeDefaultInterceptors and isExcludeClassInterceptors implementations Revision Changes Path 1.8 +58 -4 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- EJB3SessionOperationFacadeLogicImpl.java 28 Jan 2006 03:01:49 -0000 1.7 +++ EJB3SessionOperationFacadeLogicImpl.java 6 Feb 2006 04:08:19 -0000 1.8 @@ -8,6 +8,7 @@ import org.andromda.cartridges.ejb3.EJB3Globals; import org.andromda.cartridges.ejb3.EJB3Profile; import org.andromda.metafacades.uml.DependencyFacade; +import org.andromda.metafacades.uml.ModelElementFacade; import org.andromda.metafacades.uml.Role; import org.andromda.metafacades.uml.Service; import org.apache.commons.collections.Closure; @@ -277,10 +278,7 @@ */ protected boolean handleIsTimeoutCallback() { - boolean isTimeout = false; - isTimeout = BooleanUtils.toBoolean( - (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_SERVICE_TIMER_TIMEOUT)); - return isTimeout; + return this.hasStereotype(EJB3Profile.STEREOTYPE_SERVICE_TIMER_TIMEOUT); } /** @@ -323,4 +321,60 @@ implementationNamePattern, new Object[] {StringUtils.trimToEmpty(replacement)}); } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetInterceptorReferences() + */ + protected Collection handleGetInterceptorReferences() + { + Collection references = this.getSourceDependencies(); + CollectionUtils.filter(references, new Predicate() + { + public boolean evaluate(Object object) + { + DependencyFacade dependency = (DependencyFacade)object; + ModelElementFacade targetElement = dependency.getTargetElement(); + return (targetElement != null && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_INTERCEPTOR)); + } + }); + CollectionUtils.transform(references, new Transformer() + { + public Object transform(final Object object) + { + return ((DependencyFacade)object).getTargetElement(); + } + }); + return references; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic# + * 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; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsExcludeClassInterceptors() + */ + protected boolean handleIsExcludeClassInterceptors() + { + boolean excludeClass = false; + String excludeClassStr = + (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_SERVICE_INTERCEPTOR_EXCLUDE_CLASS); + if (excludeClassStr != null) + { + excludeClass = BooleanUtils.toBoolean(excludeClassStr); + } + return excludeClass; + } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-02 10:32:40
|
User: vancek Date: 06/03/02 02:32:38 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: implemented the lifecycle callback method checks Revision Changes Path 1.9 +40 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- EJB3SessionOperationFacadeLogicImpl.java 6 Feb 2006 04:08:19 -0000 1.8 +++ EJB3SessionOperationFacadeLogicImpl.java 2 Mar 2006 10:32:36 -0000 1.9 @@ -377,4 +377,44 @@ } return excludeClass; } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsPostConstruct() + */ + protected boolean handleIsPostConstruct() + { + return this.hasStereotype(EJB3Profile.STEREOTYPE_POST_CONSTRUCT); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsPreDestroy() + */ + protected boolean handleIsPreDestroy() + { + return this.hasStereotype(EJB3Profile.STEREOTYPE_PRE_DESTROY); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsPostActivate() + */ + protected boolean handleIsPostActivate() + { + return this.hasStereotype(EJB3Profile.STEREOTYPE_POST_ACTIVATE); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsPrePassivate() + */ + protected boolean handleIsPrePassivate() + { + return this.hasStereotype(EJB3Profile.STEREOTYPE_PRE_PASSIVATE); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleIsLifecycleCallback() + */ + protected boolean handleIsLifecycleCallback() + { + return this.isPostConstruct() || this.isPreDestroy() || this.isPostActivate() || this.isPrePassivate(); + } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-09 04:46:27
|
User: vancek Date: 06/03/08 20:46:26 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: fixed getInterceptorReferences to get all interceptors recursively to maintain ordering Revision Changes Path 1.10 +33 -15 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- EJB3SessionOperationFacadeLogicImpl.java 2 Mar 2006 10:32:36 -0000 1.9 +++ EJB3SessionOperationFacadeLogicImpl.java 9 Mar 2006 04:46:26 -0000 1.10 @@ -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; @@ -328,7 +329,9 @@ protected Collection handleGetInterceptorReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -337,14 +340,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; } /** |