From: Vance K. <va...@us...> - 2006-01-06 13:57:15
|
User: vancek Date: 06/01/06 05:56:35 Added: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== package org.andromda.cartridges.ejb3.metafacades; import java.text.MessageFormat; import java.util.Collection; import java.util.Iterator; import org.andromda.cartridges.ejb3.EJB3Globals; import org.andromda.cartridges.ejb3.EJB3Profile; import org.andromda.metafacades.uml.AttributeFacade; import org.andromda.metafacades.uml.DependencyFacade; import org.andromda.metafacades.uml.ModelElementFacade; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.lang.StringUtils; /** * MetafacadeLogic implementation for org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade. * * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade */ public class EJB3MessageDrivenFacadeLogicImpl extends EJB3MessageDrivenFacadeLogic { /** * The property which stores the default destination type */ public static final String MDB_DESTINATION_TYPE = "messageDrivenDestinationType"; /** * The property which stores the pattern defining the JMS message driven bean name. */ public static final String MESSAGE_DRIVEN_NAME_PATTERN = "messageDrivenNamePattern"; /** * The property which stores the pattern defining the JMS message driven bean listener callback name. */ private static final String MESSAGE_DRIVEN_LISTENER_NAME_PATTERN = "messageDrivenListenerNamePattern"; /** * The property which stores the pattern defining the JMS message driven bean implementation name. */ private static final String MESSAGE_DRIVEN_IMPLEMENTATION_NAME_PATTERN = "messageDrivenImplementationNamePattern"; // ---------------- constructor ------------------------------- public EJB3MessageDrivenFacadeLogicImpl (Object metaObject, String context) { super (metaObject, context); } // ---------------- methods ------------------------------- /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getAcknowledgeMode() */ protected java.lang.String handleGetAcknowledgeMode() { return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_MDB_ACKNOWLEDGE_MODE); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getDestination() */ protected java.lang.String handleGetDestination() { String destination = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_MDB_DESTINATION); if (StringUtils.isBlank(destination)) { destination = (getDestinationType().equalsIgnoreCase(EJB3Globals.MDB_DESTINATION_TYPE_TOPIC) ? "topic/" : "queue/") + getMessageDrivenName(); } return destination; } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getDestinationType() */ protected java.lang.String handleGetDestinationType() { String destinationType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_MDB_DESTINATION_TYPE); if (StringUtils.isBlank(destinationType)) { destinationType = (String)this.getConfiguredProperty(MDB_DESTINATION_TYPE); } return destinationType; } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenImplementationName() */ protected java.lang.String handleGetFullyQualifiedMessageDrivenImplementationName() { return EJB3MetafacadeUtils.getFullyQualifiedName( this.getPackageName(), this.getMessageDrivenImplementationName(), null); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenListenerName() */ protected java.lang.String handleGetFullyQualifiedMessageDrivenListenerName() { return EJB3MetafacadeUtils.getFullyQualifiedName( this.getPackageName(), this.getMessageDrivenListenerName(), null); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getFullyQualifiedMessageDrivenName() */ protected java.lang.String handleGetFullyQualifiedMessageDrivenName() { return EJB3MetafacadeUtils.getFullyQualifiedName( this.getPackageName(), this.getMessageDrivenName(), null); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenImplementationName() */ protected java.lang.String handleGetMessageDrivenImplementationName() { String messageDrivenImplNamePattern = (String)this.getConfiguredProperty(MESSAGE_DRIVEN_IMPLEMENTATION_NAME_PATTERN); return MessageFormat.format( messageDrivenImplNamePattern, new Object[] {StringUtils.trimToEmpty(this.getName())}); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenListenerName() */ protected java.lang.String handleGetMessageDrivenListenerName() { String messageDrivenListenerNamePattern = (String)this.getConfiguredProperty(MESSAGE_DRIVEN_LISTENER_NAME_PATTERN); return MessageFormat.format( messageDrivenListenerNamePattern, new Object[] {StringUtils.trimToEmpty(this.getName())}); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageDrivenName() */ protected java.lang.String handleGetMessageDrivenName() { String messageDrivenNamePattern = (String)this.getConfiguredProperty(MESSAGE_DRIVEN_NAME_PATTERN); return MessageFormat.format( messageDrivenNamePattern, new Object[] {StringUtils.trimToEmpty(this.getName())}); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getMessageSelector() */ protected java.lang.String handleGetMessageSelector() { return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_MDB_SELECTOR); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getRunAs() */ protected java.lang.String handleGetRunAs() { return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_RUN_AS); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getSubscriptionDurability() */ protected java.lang.String handleGetSubscriptionDurability() { String durability = null; if (StringUtils.equalsIgnoreCase(getDestinationType(), EJB3Globals.MDB_DESTINATION_TYPE_TOPIC)) { durability = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_MDB_DURABILITY); } return durability; } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getTransactionManagement() */ protected java.lang.String handleGetTransactionManagement() { return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_TRANSACTION_MANAGEMENT); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#isTransactionManagementBean() */ protected boolean handleIsTransactionManagementBean() { return StringUtils.equalsIgnoreCase(getTransactionManagement(), EJB3Globals.TRANSACTION_MANAGEMENT_BEAN); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getTransactionType() */ protected java.lang.String handleGetTransactionType() { return EJB3MetafacadeUtils.getTransactionType(this, String.valueOf(this.getConfiguredProperty(EJB3Globals.TRANSACTION_TYPE))); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade# * getAttributesAsList(java.util.Collection, boolean, boolean) */ protected java.lang.String handleGetAttributesAsList( java.util.Collection attributes, boolean includeTypes, boolean includeNames) { if (!includeNames && !includeTypes || attributes == null) { return ""; } StringBuffer sb = new StringBuffer(); String separator = ""; for (final Iterator it = attributes.iterator(); it.hasNext();) { AttributeFacade attr = (AttributeFacade)it.next(); sb.append(separator); separator = ", "; if (includeTypes) { sb.append(attr.getType().getFullyQualifiedName()); sb.append(" "); } if (includeNames) { sb.append(attr.getName()); } } return sb.toString(); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacade#getConstants(boolean) */ protected java.util.Collection handleGetConstants(boolean follow) { return EJB3MetafacadeUtils.getConstants(this, follow); } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#getServiceReferences() */ public Collection getServiceReferences() { Collection references = super.getServiceReferences(); CollectionUtils.filter(references, new Predicate() { public boolean evaluate(Object object) { ModelElementFacade targetElement = ((DependencyFacade)object).getTargetElement(); return targetElement.hasStereotype(EJB3Profile.STEREOTYPE_SERVICE); } }); return references; } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#handleIsDestinationTypeQueue() */ protected boolean handleIsDestinationTypeQueue() { boolean typeQueue = false; if (StringUtils.equalsIgnoreCase(this.getDestinationType(), EJB3Globals.MDB_DESTINATION_TYPE_QUEUE)) { typeQueue = true; } return typeQueue; } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#handleIsDestinationTypeTopic() */ protected boolean handleIsDestinationTypeTopic() { boolean typeTopic = false; if (StringUtils.equalsIgnoreCase(this.getDestinationType(), EJB3Globals.MDB_DESTINATION_TYPE_TOPIC)) { typeTopic = true; } return typeTopic; } } |
From: Vance K. <va...@us...> - 2006-01-17 03:54:02
|
User: vancek Date: 06/01/16 19:53:56 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: fixed handleGetRunAs to retrieve role from Actor dependency - inline with spring cartridge Revision Changes Path 1.2 +21 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- EJB3MessageDrivenFacadeLogicImpl.java 6 Jan 2006 13:56:35 -0000 1.1 +++ EJB3MessageDrivenFacadeLogicImpl.java 17 Jan 2006 03:53:55 -0000 1.2 @@ -9,6 +9,7 @@ import org.andromda.metafacades.uml.AttributeFacade; import org.andromda.metafacades.uml.DependencyFacade; import org.andromda.metafacades.uml.ModelElementFacade; +import org.andromda.metafacades.uml.Role; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.lang.StringUtils; @@ -171,7 +172,26 @@ */ protected java.lang.String handleGetRunAs() { - return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_RUN_AS); + String runAsRole = null; + DependencyFacade dependency = (DependencyFacade)CollectionUtils.find( + this.getTargetDependencies(), + new Predicate() + { + public boolean evaluate(final Object object) + { + DependencyFacade dependency = (DependencyFacade)object; + return dependency != null + && dependency.getSourceElement() != null + && dependency.getSourceElement() instanceof Role + && dependency.hasStereotype(EJB3Profile.STEREOTYPE_SECURITY_RUNAS); + } + }); + if (dependency != null) + { + Role role = (Role)dependency.getSourceElement(); + runAsRole = role.getName(); + } + return runAsRole; } /** |
From: Vance K. <va...@us...> - 2006-01-22 06:24:49
|
User: vancek Date: 06/01/21 22:24:43 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: added getEnvironmentEntries method Revision Changes Path 1.3 +8 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- EJB3MessageDrivenFacadeLogicImpl.java 17 Jan 2006 03:53:55 -0000 1.2 +++ EJB3MessageDrivenFacadeLogicImpl.java 22 Jan 2006 06:24:43 -0000 1.3 @@ -318,4 +318,12 @@ return typeTopic; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#handleGetEnvironmentEntries(boolean) + */ + protected Collection handleGetEnvironmentEntries(boolean follow) + { + return EJB3MetafacadeUtils.getEnvironmentEntries(this, follow); + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-23 05:56:33
|
User: vancek Date: 06/01/22 21:56:27 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: added getContainerConfiguration - currently used in the declarative configuration of the container for MDB in jboss.xml Revision Changes Path 1.4 +8 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- EJB3MessageDrivenFacadeLogicImpl.java 22 Jan 2006 06:24:43 -0000 1.3 +++ EJB3MessageDrivenFacadeLogicImpl.java 23 Jan 2006 05:56:27 -0000 1.4 @@ -326,4 +326,12 @@ return EJB3MetafacadeUtils.getEnvironmentEntries(this, follow); } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#handleGetContainerConfiguration() + */ + protected String handleGetContainerConfiguration() + { + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_CONTAINER_CONFIGURATION); + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-29 01:56:31
|
User: vancek Date: 06/01/28 17:56:26 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: added isListenerEnabled checking for Listener stereotype Revision Changes Path 1.5 +8 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3MessageDrivenFacadeLogicImpl.java 23 Jan 2006 05:56:27 -0000 1.4 +++ EJB3MessageDrivenFacadeLogicImpl.java 29 Jan 2006 01:56:26 -0000 1.5 @@ -334,4 +334,12 @@ return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_CONTAINER_CONFIGURATION); } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#handleIsListenerEnabled() + */ + protected boolean handleIsListenerEnabled() + { + return this.hasStereotype(EJB3Profile.STEREOTYPE_LISTENER); + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-09 04:43:39
|
User: vancek Date: 06/03/08 20:43:38 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: implemented getInterceptorReferences and isExcludeDefaultInterceptors Revision Changes Path 1.6 +71 -7 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- EJB3MessageDrivenFacadeLogicImpl.java 29 Jan 2006 01:56:26 -0000 1.5 +++ EJB3MessageDrivenFacadeLogicImpl.java 9 Mar 2006 04:43:38 -0000 1.6 @@ -1,8 +1,10 @@ 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; import org.andromda.cartridges.ejb3.EJB3Globals; import org.andromda.cartridges.ejb3.EJB3Profile; @@ -10,8 +12,11 @@ import org.andromda.metafacades.uml.DependencyFacade; import org.andromda.metafacades.uml.ModelElementFacade; import org.andromda.metafacades.uml.Role; +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.StringUtils; @@ -281,7 +286,9 @@ public Collection getServiceReferences() { Collection references = super.getServiceReferences(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -342,4 +349,61 @@ return this.hasStereotype(EJB3Profile.STEREOTYPE_LISTENER); } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#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(); + } + }); + 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; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3MessageDrivenFacadeLogic#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 |