From: Vance K. <va...@us...> - 2006-01-03 01:43:51
|
User: vancek Date: 06/01/02 17:43:43 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: added and fixed session bean methods Revision Changes Path 1.2 +231 -21 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.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- EJB3SessionFacadeLogicImpl.java 28 Dec 2005 00:32:55 -0000 1.1 +++ EJB3SessionFacadeLogicImpl.java 3 Jan 2006 01:43:43 -0000 1.2 @@ -2,12 +2,17 @@ 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.cartridges.ejb3.metafacades.EJB3OperationFacade; +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.BooleanUtils; +import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; @@ -74,9 +79,9 @@ public boolean evaluate(Object object) { boolean businessOperation = false; - if (EJB3OperationFacade.class.isAssignableFrom(object.getClass())) + if (EJB3SessionOperationFacade.class.isAssignableFrom(object.getClass())) { - businessOperation = ((EJB3OperationFacade)object).isBusinessOperation(); + businessOperation = ((EJB3SessionOperationFacade)object).isBusinessOperation(); } return businessOperation; } @@ -137,7 +142,17 @@ */ protected boolean handleIsStateful() { - return !isStateless(); + boolean isStateful = false; + String sessionType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_TYPE); + if (StringUtils.isBlank(sessionType)) + { + isStateful = !isStateless(); + } + else + { + isStateful = sessionType.equalsIgnoreCase(EJB3Globals.SERVICE_TYPE_STATEFUL); + } + return isStateful; } /** @@ -145,7 +160,17 @@ */ protected boolean handleIsStateless() { - return this.getAllInstanceAttributes() == null || this.getAllInstanceAttributes().isEmpty(); + boolean isStateless = false; + String sessionType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_TYPE); + if (StringUtils.isBlank(sessionType)) + { + isStateless = this.getAllInstanceAttributes() == null || this.getAllInstanceAttributes().isEmpty(); + } + else + { + isStateless = sessionType.equalsIgnoreCase(EJB3Globals.SERVICE_TYPE_STATELESS); + } + return isStateless; } /** @@ -153,12 +178,16 @@ */ protected java.lang.String handleGetType() { - String type = "Stateful"; + String sessionType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_TYPE); + if (StringUtils.isBlank(sessionType)) + { + sessionType = "Stateful"; if (this.isStateless()) { - type = "Stateless"; + sessionType = "Stateless"; + } } - return type; + return sessionType; } /** @@ -166,7 +195,8 @@ */ protected java.lang.String handleGetViewType() { - return EJB3MetafacadeUtils.getViewType(this); + return EJB3MetafacadeUtils.getViewType(this, + String.valueOf(this.getConfiguredProperty(EJB3Globals.SESSION_DEFAULT_VIEW_TYPE))); } /** @@ -183,7 +213,11 @@ protected java.lang.String handleGetTransactionType() { String transactionType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_TRANSACTION_TYPE); - if (StringUtils.isBlank(transactionType)) + if (StringUtils.isNotBlank(transactionType)) + { + transactionType = EJB3MetafacadeUtils.convertTransactionType(transactionType); + } + else { transactionType = transactionType = String.valueOf(this.getConfiguredProperty(EJB3Globals.TRANSACTION_TYPE)); @@ -215,7 +249,7 @@ return EJB3MetafacadeUtils.getConstants(this, follow); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceName() */ protected String handleGetServiceName() @@ -227,7 +261,7 @@ new Object[] {StringUtils.trimToEmpty(this.getName())}); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceLocalInterfaceName() */ protected String handleGetServiceLocalInterfaceName() @@ -240,7 +274,7 @@ new Object[] {StringUtils.trimToEmpty(this.getName())}); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceRemoteInterfaceName() */ protected String handleGetServiceRemoteInterfaceName() @@ -253,7 +287,7 @@ new Object[] {StringUtils.trimToEmpty(this.getName())}); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceImplementationName() */ protected String handleGetServiceImplementationName() @@ -266,7 +300,7 @@ new Object[] {StringUtils.trimToEmpty(this.getName())}); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceListenerName() */ protected String handleGetServiceListenerName() @@ -279,7 +313,18 @@ new Object[] {StringUtils.trimToEmpty(this.getName())}); } - /* (non-Javadoc) + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceName() + */ + protected String handleGetFullyQualifiedServiceName() + { + return EJB3MetafacadeUtils.getFullyQualifiedName( + this.getPackageName(), + this.getServiceName(), + null); + } + + /** * @see org.andromda.cartridges.ejb3.metafacades. * EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceImplementationName() */ @@ -291,10 +336,10 @@ null); } - /* (non-Javadoc) - * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceListener() + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceListenerName() */ - protected String handleGetFullyQualifiedServiceListener() + protected String handleGetFullyQualifiedServiceListenerName() { return EJB3MetafacadeUtils.getFullyQualifiedName( this.getPackageName(), @@ -302,7 +347,7 @@ null); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades. * EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceLocalInterfaceName() */ @@ -314,7 +359,7 @@ null); } - /* (non-Javadoc) + /** * @see org.andromda.cartridges.ejb3.metafacades. * EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceRemoteInterfaceName() */ @@ -326,4 +371,169 @@ null); } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetPersistenceContextUnitName() + */ + protected String handleGetPersistenceContextUnitName() + { + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_UNIT_NAME); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetPersistenceContextType() + */ + protected String handleGetPersistenceContextType() + { + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_TYPE); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetPersistenceContextReferences() + */ + protected Collection handleGetPersistenceContextReferences() + { + Collection references = this.getSourceDependencies(); + CollectionUtils.filter(references, new Predicate() + { + public boolean evaluate(Object object) + { + ModelElementFacade targetElement = ((DependencyFacade)object).getTargetElement(); + return (targetElement != null + && EJB3SessionFacade.class.isAssignableFrom(targetElement.getClass()) + && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_PERSISTENCE_CONTEXT)); + } + }); + return references; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#getServiceReferences() + * + * Returns the Collection of DependencyFacades where the target is a Service ONLY. + */ + 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.EJB3SessionFacadeLogic# + * handleGetAttributesAsList(java.util.Collection, boolean, boolean) + */ + protected String handleGetAttributesAsList(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();) + { + EJB3SessionAttributeFacade attr = (EJB3SessionAttributeFacade)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.EJB3SessionFacadeLogic#handleGetPersistenceContainer() + */ + protected String handleGetPersistenceContainer() + { + return StringUtils.trimToEmpty( + ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.PERSISTENCE_CONTAINER))); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsPersistenceContainerJboss() + */ + protected boolean handleIsPersistenceContainerJboss() + { + return getPersistenceContainer().equalsIgnoreCase(EJB3Globals.PERSISTENCE_CONTAINER_JBOSS); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsPersistenceContainerWeblogic() + */ + protected boolean handleIsPersistenceContainerWeblogic() + { + return getPersistenceContainer().equalsIgnoreCase(EJB3Globals.PERSISTENCE_CONTAINER_WEBLOGIC); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#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.EJB3SessionFacadeLogic#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; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetSecurityDomain() + */ + protected String handleGetSecurityDomain() + { + String securityDomain = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_DOMAIN); + if (StringUtils.isBlank(securityDomain)) + { + securityDomain = StringUtils.trimToEmpty( + ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.SECURITY_DOMAIN))); + } + return securityDomain; + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-06 14:00:43
|
User: vancek Date: 06/01/06 06:00:33 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: added extra transaction and security related methods. added getMessageDrivenReferences method. Revision Changes Path 1.3 +106 -12 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.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- EJB3SessionFacadeLogicImpl.java 3 Jan 2006 01:43:43 -0000 1.2 +++ EJB3SessionFacadeLogicImpl.java 6 Jan 2006 14:00:32 -0000 1.3 @@ -212,17 +212,8 @@ */ protected java.lang.String handleGetTransactionType() { - String transactionType = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_TRANSACTION_TYPE); - if (StringUtils.isNotBlank(transactionType)) - { - transactionType = EJB3MetafacadeUtils.convertTransactionType(transactionType); - } - else - { - transactionType = transactionType = - String.valueOf(this.getConfiguredProperty(EJB3Globals.TRANSACTION_TYPE)); - } - return transactionType; + return EJB3MetafacadeUtils.getTransactionType(this, + String.valueOf(this.getConfiguredProperty(EJB3Globals.TRANSACTION_TYPE))); } /** @@ -429,7 +420,10 @@ * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic# * handleGetAttributesAsList(java.util.Collection, boolean, boolean) */ - protected String handleGetAttributesAsList(Collection attributes, boolean includeTypes, boolean includeNames) + protected String handleGetAttributesAsList( + Collection attributes, + boolean includeTypes, + boolean includeNames) { if (!includeNames && !includeTypes || attributes == null) { @@ -523,6 +517,20 @@ } /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#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.EJB3SessionFacadeLogic#handleGetSecurityDomain() */ protected String handleGetSecurityDomain() @@ -536,4 +544,90 @@ return securityDomain; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetRunAs() + */ + protected String handleGetRunAs() + { + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_RUN_AS); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetTransactionManagement() + */ + protected String handleGetTransactionManagement() + { + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_TRANSACTION_MANAGEMENT); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsTransactionManagementBean() + */ + protected boolean handleIsTransactionManagementBean() + { + return StringUtils.equalsIgnoreCase(getTransactionManagement(), EJB3Globals.TRANSACTION_MANAGEMENT_BEAN); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetResourceUserTransactionReferences() + */ + protected Collection handleGetResourceUserTransactionReferences() + { + 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 + && EJB3SessionFacade.class.isAssignableFrom(targetElement.getClass()) + && dependency.hasStereotype(EJB3Profile.STEREOTYPE_RESOURCE_REF) + && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_USER_TRANSACTION)); + } + }); + return references; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetResourceDataSourceReferences() + */ + protected Collection handleGetResourceDataSourceReferences() + { + 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 + && EJB3SessionFacade.class.isAssignableFrom(targetElement.getClass()) + && dependency.hasStereotype(EJB3Profile.STEREOTYPE_RESOURCE_REF) + && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_DATA_SOURCE)); + } + }); + return references; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetMessageDrivenReferences() + */ + protected Collection handleGetMessageDrivenReferences() + { + 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 + && dependency.hasStereotype(EJB3Profile.STEREOTYPE_MESSAGE_DRIVEN_REF) + && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_MESSAGE_DRIVEN)); + } + }); + return references; + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-10 08:15:40
|
User: vancek Date: 06/01/10 00:15:32 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: added getServiceDelegateName and getFullyQualifiedServiceDelegateName getters Revision Changes Path 1.4 +31 -0 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.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- EJB3SessionFacadeLogicImpl.java 6 Jan 2006 14:00:32 -0000 1.3 +++ EJB3SessionFacadeLogicImpl.java 10 Jan 2006 08:15:32 -0000 1.4 @@ -50,6 +50,11 @@ */ private static final String SERVICE_IMPLEMENTATION_NAME_PATTERN = "serviceImplementationNamePattern"; + /** + * The property which stores the pattern defining the service bean delegate class name. + */ + private static final String SERVICE_DELEGATE_NAME_PATTERN = "serviceDelegateNamePattern"; + // ---------------- constructor ------------------------------- @@ -304,6 +309,20 @@ new Object[] {StringUtils.trimToEmpty(this.getName())}); } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceDelegateName() + */ + protected String handleGetServiceDelegateName() + { + String serviceDelegateNamePattern = + (String)this.getConfiguredProperty(SERVICE_DELEGATE_NAME_PATTERN); + + return MessageFormat.format( + serviceDelegateNamePattern, + new Object[] {StringUtils.trimToEmpty(this.getName())}); + } + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceName() */ @@ -362,6 +381,18 @@ null); } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceDelegateName() + */ + protected String handleGetFullyQualifiedServiceDelegateName() + { + return EJB3MetafacadeUtils.getFullyQualifiedName( + this.getPackageName(), + this.getServiceDelegateName(), + null); + } + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetPersistenceContextUnitName() */ |
From: Vance K. <va...@us...> - 2006-01-17 04:06:28
|
User: vancek Date: 06/01/16 20:06:21 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: added getJNDINameRemote and getJNDINameLocal, removed getJNDIName and getJNDINamePrefix, added isViewTypeLocal and isViewTypeRemote, changed getRolesAllowed to used actors for roles, added getNonRunAsRoles, change getSecurityDomain to getSecurityRealm, changed getRunAs to use actors for roles, added getInterceptorReferences, added getInterceptorsAsList Revision Changes Path 1.5 +152 -46 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.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3SessionFacadeLogicImpl.java 10 Jan 2006 08:15:32 -0000 1.4 +++ EJB3SessionFacadeLogicImpl.java 17 Jan 2006 04:06:20 -0000 1.5 @@ -3,14 +3,18 @@ import java.text.MessageFormat; 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.cartridges.ejb3.metafacades.EJB3OperationFacade; 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.ObjectUtils; import org.apache.commons.lang.StringUtils; @@ -111,35 +115,19 @@ } /** - * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getJndiName() + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetJndiNameRemote() */ - protected java.lang.String handleGetJndiName() + protected String handleGetJndiNameRemote() { - StringBuffer jndiName = new StringBuffer(); - String jndiNamePrefix = StringUtils.trimToEmpty(this.getJndiNamePrefix()); - if (StringUtils.isNotEmpty(jndiNamePrefix)) - { - jndiName.append(jndiNamePrefix); - jndiName.append("/"); - } - jndiName.append("ejb/"); - jndiName.append(this.getFullyQualifiedName()); - return jndiName.toString(); + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_JNDI_NAME_REMOTE); } /** - * Gets the <code>jndiNamePrefix</code> for this EJB. - * - * @return the EJB Jndi name prefix. + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetJndiNameLocal() */ - protected String getJndiNamePrefix() + protected String handleGetJndiNameLocal() { - String prefix = null; - if (this.isConfiguredProperty(EJB3Globals.JNDI_NAME_PREFIX)) - { - prefix = (String)this.getConfiguredProperty(EJB3Globals.JNDI_NAME_PREFIX); - } - return prefix; + return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_JNDI_NAME_Local); } /** @@ -205,6 +193,34 @@ } /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsViewTypeLocal() + */ + protected boolean handleIsViewTypeLocal() + { + boolean isLocal = false; + if (this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_LOCAL) || + this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_BOTH)) + { + isLocal = true; + } + return isLocal; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsViewTypeRemote() + */ + protected boolean handleIsViewTypeRemote() + { + boolean isRemote = false; + if (this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_REMOTE) || + this.getViewType().equalsIgnoreCase(EJB3Globals.VIEW_TYPE_BOTH)) + { + isRemote = true; + } + return isRemote; + } + + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade#getHomeInterfaceName() */ protected java.lang.String handleGetHomeInterfaceName() @@ -512,25 +528,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; } /** @@ -562,17 +576,17 @@ } /** - * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetSecurityDomain() + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetSecurityRealm() */ - protected String handleGetSecurityDomain() + protected String handleGetSecurityRealm() { - String securityDomain = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_DOMAIN); - if (StringUtils.isBlank(securityDomain)) + String securityRealm = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SECURITY_REALM); + if (StringUtils.isBlank(securityRealm)) { - securityDomain = StringUtils.trimToEmpty( - ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.SECURITY_DOMAIN))); + securityRealm = StringUtils.trimToEmpty( + ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.SECURITY_REALM))); } - return securityDomain; + return securityRealm; } /** @@ -580,7 +594,26 @@ */ protected 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; } /** @@ -661,4 +694,77 @@ return references; } + /*( + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetInterceptorReferences() + */ + protected Collection handleGetInterceptorReferences() + { + Collection references = super.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)); + } + }); + return references; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic# + * handleGetInterceptorsAsList(java.util.Collection) + */ + protected String handleGetInterceptorsAsList(Collection interceptors) + { + StringBuffer sb = new StringBuffer(); + String separator = ""; + + for (final Iterator it = interceptors.iterator(); it.hasNext();) + { + DependencyFacade dependency = (DependencyFacade)it.next(); + sb.append(separator); + separator = ", "; + sb.append(dependency.getTargetElement().getFullyQualifiedName() + ".class"); + } + return sb.toString(); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetNonRunAsRoles() + */ + protected Collection handleGetNonRunAsRoles() + { + Collection roles = this.getTargetDependencies(); + CollectionUtils.filter(roles, 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); + } + }); + CollectionUtils.transform(roles, new Transformer() + { + public Object transform(final Object object) + { + return ((DependencyFacade)object).getSourceElement(); + } + }); + final Collection allRoles = new LinkedHashSet(roles); + // add all roles which are generalizations of this one + CollectionUtils.forAllDo(roles, new Closure() + { + public void execute(final Object object) + { + allRoles.addAll(((Role)object).getAllSpecializations()); + } + }); + return allRoles; + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-01-18 09:22:30
|
User: vancek Date: 06/01/18 01:22:21 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: added getPersistenceContextUnitName Revision Changes Path 1.6 +13 -1 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.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- EJB3SessionFacadeLogicImpl.java 17 Jan 2006 04:06:20 -0000 1.5 +++ EJB3SessionFacadeLogicImpl.java 18 Jan 2006 09:22:21 -0000 1.6 @@ -59,6 +59,12 @@ */ private static final String SERVICE_DELEGATE_NAME_PATTERN = "serviceDelegateNamePattern"; + /** + * The property which stores the persistence context unit name associated with the default + * Entity Manager. + */ + private static final String PERSISTENCE_CONTEXT_UNIT_NAME = "persistenceContextUnitName"; + // ---------------- constructor ------------------------------- @@ -414,7 +420,13 @@ */ protected String handleGetPersistenceContextUnitName() { - return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_UNIT_NAME); + String unitName = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_PERSISTENCE_CONTEXT_UNIT_NAME); + if (StringUtils.isBlank(unitName)) + { + unitName = StringUtils.trimToEmpty( + ObjectUtils.toString(this.getConfiguredProperty(PERSISTENCE_CONTEXT_UNIT_NAME))); + } + return unitName; } /** |
From: Vance K. <va...@us...> - 2006-01-25 03:03:37
|
User: vancek Date: 06/01/24 19:03:30 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: moved PERSISTENCE_CONTAINER and SESSION_DEFAULT_VIEW_TYPE from EJB3Globals to here Revision Changes Path 1.7 +12 -3 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.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- EJB3SessionFacadeLogicImpl.java 18 Jan 2006 09:22:21 -0000 1.6 +++ EJB3SessionFacadeLogicImpl.java 25 Jan 2006 03:03:30 -0000 1.7 @@ -60,11 +60,20 @@ private static final String SERVICE_DELEGATE_NAME_PATTERN = "serviceDelegateNamePattern"; /** + * The property that stores the persistence container name. + */ + public static final String PERSISTENCE_CONTAINER = "persistenceContainerName"; + + /** * The property which stores the persistence context unit name associated with the default * Entity Manager. */ private static final String PERSISTENCE_CONTEXT_UNIT_NAME = "persistenceContextUnitName"; + /** + * The default view type accessability for the session bean + */ + public static final String SESSION_DEFAULT_VIEW_TYPE = "serviceViewType"; // ---------------- constructor ------------------------------- @@ -195,7 +204,7 @@ protected java.lang.String handleGetViewType() { return EJB3MetafacadeUtils.getViewType(this, - String.valueOf(this.getConfiguredProperty(EJB3Globals.SESSION_DEFAULT_VIEW_TYPE))); + String.valueOf(this.getConfiguredProperty(SESSION_DEFAULT_VIEW_TYPE))); } /** @@ -516,7 +525,7 @@ protected String handleGetPersistenceContainer() { return StringUtils.trimToEmpty( - ObjectUtils.toString(this.getConfiguredProperty(EJB3Globals.PERSISTENCE_CONTAINER))); + ObjectUtils.toString(this.getConfiguredProperty(PERSISTENCE_CONTAINER))); } /** |
From: Vance K. <va...@us...> - 2006-01-28 03:01:02
|
User: vancek Date: 06/01/27 19:00:55 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: added default exception facility Revision Changes Path 1.8 +54 -1 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.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- EJB3SessionFacadeLogicImpl.java 25 Jan 2006 03:03:30 -0000 1.7 +++ EJB3SessionFacadeLogicImpl.java 28 Jan 2006 03:00:55 -0000 1.8 @@ -60,6 +60,12 @@ private static final String SERVICE_DELEGATE_NAME_PATTERN = "serviceDelegateNamePattern"; /** + * The property which stores the pattern defining the default service bean + * exception class name. + */ + private static final String SERVICE_DEFAULT_EXCEPTION_NAME_PATTERN = "defaultServiceExceptionNamePattern"; + + /** * The property that stores the persistence container name. */ public static final String PERSISTENCE_CONTAINER = "persistenceContainerName"; @@ -71,10 +77,15 @@ private static final String PERSISTENCE_CONTEXT_UNIT_NAME = "persistenceContextUnitName"; /** - * The default view type accessability for the session bean + * The default view type accessability for the session bean. */ public static final String SESSION_DEFAULT_VIEW_TYPE = "serviceViewType"; + /** + * The property that stores whether default service exceptions are permitted. + */ + public static final String ALLOW_DEFAULT_SERVICE_EXCEPTION = "allowDefaultServiceException"; + // ---------------- constructor ------------------------------- public EJB3SessionFacadeLogicImpl (Object metaObject, String context) @@ -788,4 +799,46 @@ return allRoles; } + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetDefaultExceptionName() + */ + protected String handleGetDefaultExceptionName() + { + String defaultExceptionNamePattern = + (String)this.getConfiguredProperty(SERVICE_DEFAULT_EXCEPTION_NAME_PATTERN); + + return MessageFormat.format( + defaultExceptionNamePattern, + new Object[] {StringUtils.trimToEmpty(this.getName())}); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic# + * handleGetFullyQualifiedDefaultExceptionName() + */ + protected String handleGetFullyQualifiedDefaultExceptionName() + { + StringBuffer fullyQualifiedName = new StringBuffer("java.lang.RuntimeException"); + if (this.isAllowDefaultServiceException()) + { + fullyQualifiedName = new StringBuffer(); + if (StringUtils.isNotBlank(this.getPackageName())) + { + fullyQualifiedName.append(this.getPackageName()); + fullyQualifiedName.append('.'); + } + fullyQualifiedName.append(this.getDefaultExceptionName()); + } + return fullyQualifiedName.toString(); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsAllowDefaultServiceException() + */ + protected boolean handleIsAllowDefaultServiceException() + { + return Boolean.valueOf( + String.valueOf(this.getConfiguredProperty(ALLOW_DEFAULT_SERVICE_EXCEPTION))).booleanValue(); + } + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-02-06 04:06:38
|
User: vancek Date: 06/02/05 20:06:30 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: moved getInterceptorsAsList to util class getInterceptorReferences transforms collection of dependencies to return the target elements Revision Changes Path 1.10 +8 -21 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.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- EJB3SessionFacadeLogicImpl.java 29 Jan 2006 01:55:58 -0000 1.9 +++ EJB3SessionFacadeLogicImpl.java 6 Feb 2006 04:06:30 -0000 1.10 @@ -719,7 +719,6 @@ DependencyFacade dependency = (DependencyFacade)object; ModelElementFacade targetElement = dependency.getTargetElement(); return (targetElement != null - && dependency.hasStereotype(EJB3Profile.STEREOTYPE_MESSAGE_DRIVEN_REF) && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_MESSAGE_DRIVEN)); } }); @@ -731,7 +730,7 @@ */ protected Collection handleGetInterceptorReferences() { - Collection references = super.getSourceDependencies(); + Collection references = this.getSourceDependencies(); CollectionUtils.filter(references, new Predicate() { public boolean evaluate(Object object) @@ -741,26 +740,14 @@ return (targetElement != null && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_INTERCEPTOR)); } }); - return references; - } - - /** - * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic# - * handleGetInterceptorsAsList(java.util.Collection) - */ - protected String handleGetInterceptorsAsList(Collection interceptors) + CollectionUtils.transform(references, new Transformer() { - StringBuffer sb = new StringBuffer(); - String separator = ""; - - for (final Iterator it = interceptors.iterator(); it.hasNext();) + public Object transform(final Object object) { - DependencyFacade dependency = (DependencyFacade)it.next(); - sb.append(separator); - separator = ", "; - sb.append(dependency.getTargetElement().getFullyQualifiedName() + ".class"); + return ((DependencyFacade)object).getTargetElement(); } - return sb.toString(); + }); + return references; } /** |
From: Vance K. <va...@us...> - 2006-02-09 07:18:49
|
User: vancek Date: 06/02/08 23:18:43 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: getJndiNameRemote and getJndiNameLocal add the jndiNamePrefix if corresponding jndi name explicitly defined using tagged values. added getJndiNamePrefix implementation Revision Changes Path 1.11 +28 -4 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.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- EJB3SessionFacadeLogicImpl.java 6 Feb 2006 04:06:30 -0000 1.10 +++ EJB3SessionFacadeLogicImpl.java 9 Feb 2006 07:18:43 -0000 1.11 @@ -79,13 +79,18 @@ /** * The default view type accessability for the session bean. */ - public static final String SESSION_DEFAULT_VIEW_TYPE = "serviceViewType"; + public static final String SERVICE_DEFAULT_VIEW_TYPE = "serviceViewType"; /** * The property that stores whether default service exceptions are permitted. */ public static final String ALLOW_DEFAULT_SERVICE_EXCEPTION = "allowDefaultServiceException"; + /** + * The property that stores the JNDI name prefix. + */ + public static final String SERVICE_JNDI_NAME_PREFIX = "jndiNamePrefix"; + // ---------------- constructor ------------------------------- public EJB3SessionFacadeLogicImpl (Object metaObject, String context) @@ -145,7 +150,12 @@ */ protected String handleGetJndiNameRemote() { - return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_JNDI_NAME_REMOTE); + String jndiName = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_JNDI_NAME_REMOTE); + if (StringUtils.isNotBlank(jndiName)) + { + jndiName = this.getJndiNamePrefix() + "/" + jndiName; + } + return jndiName; } /** @@ -153,7 +163,21 @@ */ protected String handleGetJndiNameLocal() { - return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_JNDI_NAME_Local); + String jndiName = (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_EJB_SESSION_JNDI_NAME_Local); + if (StringUtils.isNotBlank(jndiName)) + { + jndiName = this.getJndiNamePrefix() + "/" + jndiName; + } + return jndiName; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetJndiNamePrefix() + */ + protected String handleGetJndiNamePrefix() + { + return this.isConfiguredProperty(SERVICE_JNDI_NAME_PREFIX) ? + ObjectUtils.toString(this.getConfiguredProperty(SERVICE_JNDI_NAME_PREFIX)) : null; } /** @@ -215,7 +239,7 @@ protected java.lang.String handleGetViewType() { return EJB3MetafacadeUtils.getViewType(this, - String.valueOf(this.getConfiguredProperty(SESSION_DEFAULT_VIEW_TYPE))); + String.valueOf(this.getConfiguredProperty(SERVICE_DEFAULT_VIEW_TYPE))); } /** |
From: Vance K. <va...@us...> - 2006-02-22 06:16:57
|
User: vancek Date: 06/02/21 22:16:51 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: implemented isSecurityEnabled Revision Changes Path 1.12 +8 -1 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.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- EJB3SessionFacadeLogicImpl.java 9 Feb 2006 07:18:43 -0000 1.11 +++ EJB3SessionFacadeLogicImpl.java 22 Feb 2006 06:16:50 -0000 1.12 @@ -646,6 +646,14 @@ } /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsSecurityEnabled() + */ + protected boolean handleIsSecurityEnabled() + { + return StringUtils.isNotBlank(this.getSecurityRealm()); + } + + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetRunAs() */ protected String handleGetRunAs() @@ -859,5 +867,4 @@ { return this.hasStereotype(EJB3Profile.STEREOTYPE_LISTENER); } - } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-07 09:23:51
|
User: vancek Date: 06/03/07 01:23:47 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: removed isAssignableFrom check in the implementation of getPersistenceContextReferences Revision Changes Path 1.13 +8 -2 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.12 retrieving revision 1.13 diff -u -w -r1.12 -r1.13 --- EJB3SessionFacadeLogicImpl.java 22 Feb 2006 06:16:50 -0000 1.12 +++ EJB3SessionFacadeLogicImpl.java 7 Mar 2006 09:23:46 -0000 1.13 @@ -493,10 +493,16 @@ { ModelElementFacade targetElement = ((DependencyFacade)object).getTargetElement(); return (targetElement != null - && EJB3SessionFacade.class.isAssignableFrom(targetElement.getClass()) && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_PERSISTENCE_CONTEXT)); } }); + CollectionUtils.transform(references, new Transformer() + { + public Object transform(final Object object) + { + return ((DependencyFacade)object).getTargetElement(); + } + }); return references; } |
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 |
From: Vance K. <va...@us...> - 2006-03-14 06:24:53
|
User: vancek Date: 06/03/13 22:24:52 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: implemented isClusteringEnabled. Revision Changes Path 1.15 +13 -0 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.14 retrieving revision 1.15 diff -u -w -r1.14 -r1.15 --- EJB3SessionFacadeLogicImpl.java 9 Mar 2006 04:45:35 -0000 1.14 +++ EJB3SessionFacadeLogicImpl.java 14 Mar 2006 06:24:52 -0000 1.15 @@ -92,6 +92,11 @@ */ public static final String SERVICE_JNDI_NAME_PREFIX = "jndiNamePrefix"; + /** + * The property that determines application wide clustering + */ + public static final String SERVICE_ENABLE_CLUSTERING = "enableClustering"; + // ---------------- constructor ------------------------------- public EJB3SessionFacadeLogicImpl (Object metaObject, String context) @@ -924,4 +929,12 @@ } return excludeDefault; } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsClusteringEnabled() + */ + protected boolean handleIsClusteringEnabled() + { + return BooleanUtils.toBoolean(String.valueOf(this.getConfiguredProperty(SERVICE_ENABLE_CLUSTERING))); + } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-04-11 16:11:39
|
User: vancek Date: 06/04/11 09:11:34 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: implemented handleGetServiceBaseName, handleGetFullyQualifiedServiceBaseName, handleIsWebServiceEnabled and handleIsWebServiceOperationExists Revision Changes Path 1.16 +67 -0 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.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- EJB3SessionFacadeLogicImpl.java 14 Mar 2006 06:24:52 -0000 1.15 +++ EJB3SessionFacadeLogicImpl.java 11 Apr 2006 16:11:34 -0000 1.16 @@ -11,7 +11,9 @@ import org.andromda.cartridges.ejb3.metafacades.EJB3OperationFacade; import org.andromda.metafacades.uml.DependencyFacade; import org.andromda.metafacades.uml.ModelElementFacade; +import org.andromda.metafacades.uml.OperationFacade; import org.andromda.metafacades.uml.Role; +import org.andromda.metafacades.uml.UMLProfile; import org.apache.commons.collections.Closure; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; @@ -61,6 +63,11 @@ private static final String SERVICE_DELEGATE_NAME_PATTERN = "serviceDelegateNamePattern"; /** + * The property which stores the pattern defining the service bean base class name. + */ + private static final String SERVICE_BASE_NAME_PATTERN = "serviceBaseNamePattern"; + + /** * The property which stores the pattern defining the default service bean * exception class name. */ @@ -97,6 +104,11 @@ */ public static final String SERVICE_ENABLE_CLUSTERING = "enableClustering"; + /** + * The property that sets whether EJB 3.0 JSR 181 webservices is enabled + */ + private static final String PROPERTY_WEBSERVICE_ENABLED = "webServiceEnabled"; + // ---------------- constructor ------------------------------- public EJB3SessionFacadeLogicImpl (Object metaObject, String context) @@ -398,6 +410,19 @@ } /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetServiceBaseName() + */ + protected String handleGetServiceBaseName() + { + String serviceBaseNamePattern = + (String)this.getConfiguredProperty(SERVICE_BASE_NAME_PATTERN); + + return MessageFormat.format( + serviceBaseNamePattern, + new Object[] {StringUtils.trimToEmpty(this.getName())}); + } + + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceName() */ protected String handleGetFullyQualifiedServiceName() @@ -468,6 +493,17 @@ } /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetFullyQualifiedServiceBaseName() + */ + protected String handleGetFullyQualifiedServiceBaseName() + { + return EJB3MetafacadeUtils.getFullyQualifiedName( + this.getPackageName(), + this.getServiceBaseName(), + null); + } + + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleGetPersistenceContextUnitName() */ protected String handleGetPersistenceContextUnitName() @@ -937,4 +973,35 @@ { return BooleanUtils.toBoolean(String.valueOf(this.getConfiguredProperty(SERVICE_ENABLE_CLUSTERING))); } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsWebServiceEnabled() + */ + protected boolean handleIsWebServiceEnabled() + { + return (this.hasStereotype(UMLProfile.STEREOTYPE_WEBSERVICE) || this.isWebServiceOperationExists()) && + BooleanUtils.toBoolean(String.valueOf(this.getConfiguredProperty(PROPERTY_WEBSERVICE_ENABLED))); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsWebServiceOperationExists() + */ + protected boolean handleIsWebServiceOperationExists() + { + return CollectionUtils.find( + this.getOperations(), + new Predicate() + { + public boolean evaluate(final Object object) + { + boolean isWebService = false; + final OperationFacade operation = (OperationFacade)object; + if (operation.hasStereotype(UMLProfile.STEREOTYPE_WEBSERVICE_OPERATION)) + { + isWebService = true; + } + return isWebService; + } + }) != null; + } } \ No newline at end of file |