|
From: Vance K. <va...@us...> - 2007-07-21 13:31:51
|
User: vancek
Date: 07/07/21 06:31:53
Modified: andromda-ejb3/src/site changes.xml
andromda-ejb3/src/test/expected cartridge-output.zip
andromda-ejb3/src/test/uml EJB3CartridgeTestModel.xml.zip
andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades
EJB3EntityFacadeLogicImpl.java
Log:
ejb-65 - fix for abstract parent entities and supporting associations
Revision Changes Path
1.25 +10 -1 cartridges/andromda-ejb3/src/site/changes.xml
Index: changes.xml
===================================================================
RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/changes.xml,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -w -r1.24 -r1.25
--- changes.xml 30 Jun 2007 03:53:47 -0000 1.24
+++ changes.xml 21 Jul 2007 13:31:51 -0000 1.25
@@ -505,6 +505,15 @@
relationNameSeparator in the andromda.xml within the ejb3 namespace with a value of underscore (_) if you
wish to adopt this separator. The default separator will remain the AndroMDA default digit two.
</action>
+ <action dev="walter" type="add">
+ JIRA EJB-58 - Add readById method to crud services such that cartridge can be used with JSF2 cartridge
+ and crud/manageable features.
+ </action>
+ <action dev="vancek" due-to="hermida" type="fix">
+ JIRA EJB-65 - Modify the cartridge to support abstract parent entities. EJB2.x did not support this, but
+ this is now supported with EJb 3.0. An abstract parent entity can have a relationship with any other
+ entity and this should be available to the child inheriting entities. Add test cases to support this.
+ </action>
</release>
</body>
</document>
\ No newline at end of file
1.15 +515 -499 cartridges/andromda-ejb3/src/test/expected/cartridge-output.zip
<<Binary file>>
1.10 +298 -248 cartridges/andromda-ejb3/src/test/uml/EJB3CartridgeTestModel.xml.zip
<<Binary file>>
1.30 +1 -29 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.29
retrieving revision 1.30
diff -u -w -r1.29 -r1.30
--- EJB3EntityFacadeLogicImpl.java 17 Feb 2007 14:09:07 -0000 1.29
+++ EJB3EntityFacadeLogicImpl.java 21 Jul 2007 13:31:53 -0000 1.30
@@ -289,24 +289,7 @@
*/
protected java.util.Collection handleGetAllEntityRelations()
{
- // Only concrete entities may have EJB relations. Return
- // an empty collection for everything else
- if (this.isAbstract())
- {
- return Collections.EMPTY_LIST;
- }
-
- Collection result = new ArrayList();
- result.addAll(getEntityRelations());
-
- ClassifierFacade classifier = (ClassifierFacade)this.getGeneralization();
- while (classifier != null && classifier instanceof EJB3EntityFacade && classifier.isAbstract())
- {
- EJB3EntityFacade entity = (EJB3EntityFacade)classifier;
- result.addAll(entity.getEntityRelations());
- classifier = (ClassifierFacade)classifier.getGeneralization();
- }
- return result;
+ return this.getEntityRelations();
}
/**
@@ -413,17 +396,6 @@
ClassifierFacade target = associationEnd.getOtherEnd().getType();
if (target instanceof EJB3EntityFacade && associationEnd.getOtherEnd().isNavigable())
{
- // Check the integrity constraint
- Object value = associationEnd.getOtherEnd().getAssociation().findTaggedValue(
- EJB3Profile.TAGGEDVALUE_GENERATE_CMR);
- String generateCmr = value == null ? null : value.toString();
- if (target.isAbstract() && !"false".equalsIgnoreCase(generateCmr))
- {
- throw new IllegalStateException("Relation '" + associationEnd.getAssociation().getName() +
- "' has the abstract target '" +
- target.getName() +
- "'. Abstract targets are not allowed in EJB.");
- }
result.add(associationEnd);
}
}
|