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 |