From: Vance K. <va...@us...> - 2006-02-20 05:20:26
|
User: vancek Date: 06/02/19 21:20:22 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3EntityFacadeLogicImpl.java Log: implemented isManageable, getManageableDisplayAttribute and getIdentifier Revision Changes Path 1.14 +57 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityFacadeLogicImpl.java Index: EJB3EntityFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityFacadeLogicImpl.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- EJB3EntityFacadeLogicImpl.java 8 Feb 2006 10:16:20 -0000 1.13 +++ EJB3EntityFacadeLogicImpl.java 20 Feb 2006 05:20:22 -0000 1.14 @@ -15,11 +15,12 @@ import org.andromda.metafacades.uml.AttributeFacade; import org.andromda.metafacades.uml.ClassifierFacade; import org.andromda.metafacades.uml.DependencyFacade; +import org.andromda.metafacades.uml.EntityAttribute; import org.andromda.metafacades.uml.MetafacadeUtils; import org.andromda.metafacades.uml.OperationFacade; -import org.andromda.metafacades.uml.ParameterFacade; import org.andromda.metafacades.uml.TypeMappings; import org.andromda.metafacades.uml.UMLMetafacadeProperties; +import org.andromda.metafacades.uml.UMLProfile; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.lang.BooleanUtils; @@ -985,4 +986,59 @@ } return finderExists; } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogic#handleIsManageable() + */ + protected boolean handleIsManageable() + { + return this.hasStereotype(EJB3Profile.STEREOTYPE_MANAGEABLE); + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogic#handleGetManageableDisplayAttribute() + */ + protected Object handleGetManageableDisplayAttribute() + { + AttributeFacade displayAttribute = null; + + final Object taggedValueObject = this.findTaggedValue(UMLProfile.TAGGEDVALUE_MANAGEABLE_DISPLAY_NAME); + if (taggedValueObject != null) + { + displayAttribute = this.findAttribute(StringUtils.trimToEmpty(taggedValueObject.toString())); + } + + final Collection attributes = this.getAttributes(true); + for (final Iterator attributeIterator = attributes.iterator(); + attributeIterator.hasNext() && displayAttribute == null;) + { + final EntityAttribute attribute = (EntityAttribute)attributeIterator.next(); + if (attribute.isUnique()) + { + displayAttribute = attribute; + } + } + + if (displayAttribute == null) + { + if (!getIdentifiers().isEmpty()) + { + displayAttribute = (EntityAttribute)this.getIdentifiers().iterator().next(); + } + else if (!attributes.isEmpty()) + { + displayAttribute = (EntityAttribute)attributes.iterator().next(); + } + } + + return displayAttribute; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogic#handleGetIdentifer() + */ + protected Object handleGetIdentifer() + { + return (EJB3EntityAttributeFacade)this.getIdentifiers().iterator().next(); + } } \ No newline at end of file |