From: Vance K. <va...@us...> - 2006-01-28 02:59:52
|
User: vancek Date: 06/01/27 18:59:46 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3EntityAttributeFacadeLogicImpl.java Log: override isRequired to cater for inheritance, utilise isRequired in isColumnNullable using multiplicity if no tagged value exists. Revision Changes Path 1.7 +19 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityAttributeFacadeLogicImpl.java Index: EJB3EntityAttributeFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityAttributeFacadeLogicImpl.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- EJB3EntityAttributeFacadeLogicImpl.java 25 Jan 2006 02:59:49 -0000 1.6 +++ EJB3EntityAttributeFacadeLogicImpl.java 28 Jan 2006 02:59:46 -0000 1.7 @@ -64,6 +64,24 @@ return (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_PERSISTENCE_FETCH_TYPE); } + /** + * Overridden to provide handling of inheritance. + * + * @see org.andromda.metafacades.uml.AttributeFacade#isRequired() + */ + public boolean isRequired() + { + boolean required = super.isRequired(); + if (this.getOwner() instanceof EJB3EntityFacade) + { + EJB3EntityFacade entity = (EJB3EntityFacade)this.getOwner(); + if (entity.isInheritanceSingleTable() && entity.getGeneralization() != null) + { + required = false; + } + } + return required; + } /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3EntityAttributeFacadeLogic#handleIsEager() @@ -398,7 +416,7 @@ if (StringUtils.isBlank(nullableString)) { - nullable = (this.isIdentifier() || this.isUnique() ? false : true); + nullable = (this.isIdentifier() || this.isUnique() ? false : !this.isRequired()); } else { |