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 |