You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2009/06/30 03:04:59 UTC
svn commit: r789518 [1/3] - in
/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance:
./ entities/ entities/idmsc/ entities/idmsc/primitiveidentity/
entities/idmsc/primitiveidentity/jointable/ entities/idmsc/p...
Author: mikedd
Date: Tue Jun 30 01:04:57 2009
New Revision: 789518
URL: http://svn.apache.org/viewvc?rev=789518&view=rev
Log:
OPENJPA-1061 committing patch from Jody Grassel.
modified: openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
modified: openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestInheritanceWithMSCID.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/EntityMapping.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/PrimitiveIDMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCRootEntity.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCEntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCEntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCRootEntity.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCEntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCEntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCRootEntity.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCEntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCEntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCRootEntity.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCEntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCEntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCRootEntity.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCEntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCEntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCMappedSuperclass.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCRootEntity.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/EntityB.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/EntityD.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafA.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafB1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafB2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafD1.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafD2.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/MSC.java
new file: openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/RootEntity.java
modified: openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
modified: openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
Conflicts:
openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
openjpa-kernel/src/main/java/org/apache/openjpa/meta/ClassMetaData.java
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
Added:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestInheritanceWithMSCID.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/EntityMapping.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/PrimitiveIDMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCRootEntity.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCEntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCEntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCLeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/intdiscriminator/PIdJTIDMSCRootEntity.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCEntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCEntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCLeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/stringdiscriminator/PIdJTSDMSCRootEntity.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCEntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCEntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCLeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/chardiscriminator/PIdSTCDMSCRootEntity.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCEntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCEntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCLeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/intdiscriminator/PIdSTIDMSCRootEntity.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCEntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCEntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCLeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCMappedSuperclass.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/singletable/stringdiscriminator/PIdSTSDMSCRootEntity.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/EntityB.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/EntityD.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafB1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafB2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafD1.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/LeafD2.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/MSC.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/testinterfaces/RootEntity.java
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestInheritanceWithMSCID.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestInheritanceWithMSCID.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestInheritanceWithMSCID.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestInheritanceWithMSCID.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,283 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
+import org.apache.openjpa.persistence.inheritance.entities.EntityMapping;
+import org.apache.openjpa.persistence.inheritance.entities.EntityMapping.
+ InheritanceEntityMapping;
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ RootEntity;
+import org.apache.openjpa.persistence.test.SingleEMFTestCase;
+
+public class TestInheritanceWithMSCID extends SingleEMFTestCase {
+ @SuppressWarnings("unchecked")
+ public void setUp() {
+ /*
+ * All entities used by this test are defined in the enumeration
+ * EntityMapping.InheritanceEntityMapping.
+ */
+ EntityMapping.InheritanceEntityMapping[] entityClassEnums =
+ EntityMapping.InheritanceEntityMapping.values();
+
+ Class[] entityClassTypes = new Class[entityClassEnums.length];
+ int idx = 0;
+ for (EntityMapping.InheritanceEntityMapping eEnum : entityClassEnums) {
+ entityClassTypes[idx] = eEnum.getEntityClass();
+ idx++;
+ }
+
+ setUp((Object[]) entityClassTypes);
+ }
+
+ private InheritanceEntityMapping[][] allEntityGroups = {
+ EntityMapping.PIdJTIDMSC,
+ EntityMapping.PIdJTCDMSC,
+ EntityMapping.PIdJTSDMSC,
+
+ EntityMapping.PIdSTIDMSC,
+ EntityMapping.PIdSTCDMSC,
+ EntityMapping.PIdSTSDMSC
+ };
+
+ /**
+ * Verifies that each entity type in the inheritance structure can be
+ * persisted. Entities are not cleared out of the persistence context
+ * (the L1 cache) when they are created.
+ */
+ @SuppressWarnings("unchecked")
+ public void testPersistableWithEntitiesInL1Cache() {
+ EntityManager em = emf.createEntityManager();
+
+ for (InheritanceEntityMapping[] tEntities : allEntityGroups ) {
+ int idx = 0;
+
+ try {
+ for (InheritanceEntityMapping tEntity : tEntities) {
+ RootEntity entity = (RootEntity)
+ EntityMapping.createEntityObjectInstance(tEntity);
+ entity.updateId(new Integer(idx++));
+ entity.setRootEntityData("Root " + (idx - 1));
+
+ em.getTransaction().begin();
+ em.persist(entity);
+ em.getTransaction().commit();
+ }
+ } catch (Exception e) {
+ fail("Test failed with Exception\n" + e);
+ }
+
+ List<RootEntity> resultList = (List<RootEntity>) em.createQuery(
+ "SELECT e FROM " + tEntities[0].getEntityName() +
+ " e ORDER BY e.id").getResultList();
+ assertEquals(tEntities.length, resultList.size());
+
+ idx = 0;
+ for (Object obj : resultList) {
+ RootEntity entity = (RootEntity) obj;
+ Class<? extends RootEntity> actualType = entity.getClass();
+ Class<? extends RootEntity> expectedType =
+ tEntities[idx].getEntityClass();
+
+ assertEquals(
+ "Assert Entity " + (idx + 1) + "is entity of type " +
+ expectedType, expectedType, actualType);
+
+ idx++;
+ }
+ }
+
+ em.close();
+ }
+
+ /**
+ * Verifies that each entity type in the inheritance structure can be
+ * persisted. Entities are cleared out of the persistence context
+ * (the L1 cache) after they are created.
+ */
+ @SuppressWarnings("unchecked")
+ public void testPersistableWithEntitiesClearedFromL1Cache() {
+ EntityManager em = emf.createEntityManager();
+
+ for (InheritanceEntityMapping[] tEntities : allEntityGroups ) {
+ int idx = 0;
+
+ try {
+ for (InheritanceEntityMapping tEntity : tEntities) {
+ RootEntity entity = (RootEntity)
+ EntityMapping.createEntityObjectInstance(tEntity);
+ entity.updateId(new Integer(idx++));
+ entity.setRootEntityData("Root " + (idx - 1));
+
+ em.getTransaction().begin();
+ em.persist(entity);
+ em.getTransaction().commit();
+ em.clear();
+ }
+ } catch (Exception e) {
+ fail("Test failed with Exception\n" + e);
+ }
+
+ List<RootEntity> resultList = (List<RootEntity>) em.createQuery(
+ "SELECT e FROM " + tEntities[0].getEntityName() +
+ " e ORDER BY e.id").getResultList();
+ assertEquals(tEntities.length, resultList.size());
+
+ idx = 0;
+ for (Object obj : resultList) {
+ RootEntity entity = (RootEntity) obj;
+ Class<? extends RootEntity> actualType = entity.getClass();
+ Class<? extends RootEntity> expectedType =
+ tEntities[idx].getEntityClass();
+
+ assertEquals(
+ "Assert Entity " + (idx + 1) + "is entity of type " +
+ expectedType, expectedType, actualType);
+
+ idx++;
+ }
+ }
+
+ em.close();
+ }
+
+
+
+ /*
+ * The following tests exercise the following scenario:
+ *
+ * Verify that all-inclusive SELECT against an entity that is a member
+ * of an inheritance hierarchy will include all of its subclasses within
+ * the query results as well.
+ *
+ * Variations of this test include clearing the L1 cache after db
+ * population and between each Query check, and not clearing the L1
+ * cache.
+ *
+ */
+
+ private boolean[][] queryLogic001AcceptenceMapping = new boolean[][] {
+ // RootEntity
+ new boolean[] { true, true, true, true, true, true, true, true,
+ true },
+ // Leaf A
+ new boolean[] { false, true, false, false, false, false, false,
+ false, false },
+ // EntityB
+ new boolean[] { false, false, true, true, true, false, false,
+ false, false },
+ // Leaf B1
+ new boolean[] { false, false, false, true, false, false, false,
+ false, false },
+ // Leaf B2
+ new boolean[] { false, false, false, false, true, false, false,
+ false, false },
+ // Leaf C
+ new boolean[] { false, false, false, false, false, true, false,
+ false, false },
+ // Entity D
+ new boolean[] { false, false, false, false, false, false, true,
+ true, true },
+ // Leaf D1
+ new boolean[] { false, false, false, false, false, false, false,
+ true, false },
+ // Leaf D2
+ new boolean[] { false, false, false, false, false, false, false,
+ false, true } };
+
+ @SuppressWarnings("unchecked")
+ private void query001TestLogic(boolean clearL1Cache) {
+ EntityManager em = emf.createEntityManager();
+
+ boolean[][] acceptenceMapping = queryLogic001AcceptenceMapping;
+
+ for (InheritanceEntityMapping[] tEntities : allEntityGroups ) {
+ // Populate Database
+ int idx = 0;
+ try {
+ for (InheritanceEntityMapping tEntity : tEntities) {
+ RootEntity entity = (RootEntity)
+ EntityMapping.createEntityObjectInstance(tEntity);
+ entity.updateId(new Integer(idx++));
+ entity.setRootEntityData("Root " + (idx - 1));
+
+ em.getTransaction().begin();
+ em.persist(entity);
+ em.getTransaction().commit();
+
+ if (clearL1Cache)
+ em.clear();
+ }
+ } catch (Exception e) {
+ fail("Test failed with Exception\n" + e);
+ }
+
+ // Run through acceptance tests
+ idx = 0;
+ for (boolean[] acceptenceMap : acceptenceMapping) {
+ int expectedQueryResultListSize = 0;
+ for (boolean acceptence : acceptenceMap) {
+ if (acceptence)
+ expectedQueryResultListSize++;
+ }
+ String queryStr = "SELECT e FROM " +
+ tEntities[idx].getEntityName() + " e";
+ List<RootEntity> resultList = (List<RootEntity>)
+ em.createQuery(queryStr).getResultList();
+
+ assertEquals(
+ "Assert the following query creates a result list " +
+ "with " + expectedQueryResultListSize + " entities: " +
+ "\"" + queryStr + "\". ",
+ expectedQueryResultListSize,
+ resultList.size());
+ idx++;
+
+ if (clearL1Cache)
+ em.clear();
+ }
+ }
+
+ em.close();
+ }
+
+ /**
+ * Verify that all-inclusive SELECT against an entity that is a member of an
+ * inheritance hierarchy will include all of its subclasses within the query
+ * results as well. Test will not clear the L1 cache after populating DB
+ * and will not clear the L1 cache in between Query executions.
+ */
+ public void testQuery001WithL1() {
+ query001TestLogic(false);
+ }
+
+ /**
+ * Verify that all-inclusive SELECT against an entity that is a member of an
+ * inheritance hierarchy will include all of its subclasses within the query
+ * results as well. Test will clear the L1 cache after populating DB
+ * and will clear the L1 cache in between Query executions.
+ */
+ public void testQuery001NoL1() {
+ query001TestLogic(true);
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestMappedSuperclass.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestMappedSuperclass.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestMappedSuperclass.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/TestMappedSuperclass.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.inheritance;
+
+import javax.persistence.EntityManager;
+
+import org.apache.openjpa.persistence.inheritance.entity.BaseClass;
+import org.apache.openjpa.persistence.inheritance.entity.MappedSuper;
+import org.apache.openjpa.persistence.inheritance.entity.SubclassC;
+import org.apache.openjpa.persistence.inheritance.entity.SubclassD;
+import org.apache.openjpa.persistence.test.SingleEMFTestCase;
+
+/**
+ * This test verifies basic Mapped Superclass functionality as dictated by
+ * the JPA Specification contract.
+ *
+ * OpenJPA JIRA: {@link http://issues.apache.org/jira/browse/OPENJPA-1061}
+ *
+ */
+public class TestMappedSuperclass extends SingleEMFTestCase {
+ public void setUp() {
+ setUp(BaseClass.class, SubclassC.class, MappedSuper.class,
+ SubclassD.class);
+ }
+
+ private Class[] classArray(Class... classes) {
+ return classes;
+ }
+
+ /**
+ * Verify that two entity classes, extending a Mapped Superclass that
+ * defines an ID field, are not members of a common inheritance
+ * hierarchy. This test variant inserts new entities into the persistence
+ * context by calling EntityManager.persist() on the new entity object.
+ */
+ public void testMappedSuperclassContract001() {
+ EntityManager em = emf.createEntityManager();
+
+ // Create two entities, SubclassC and SubclassD, with the same
+ // primary key value
+ SubclassC sc = new SubclassC();
+ sc.setId(42);
+ sc.setName("SubclassCMappedSuperName");
+ sc.setClassCName("SubclassCName");
+
+ em.getTransaction().begin();
+ em.persist(sc);
+ em.getTransaction().commit();
+
+ SubclassD sd = new SubclassD();
+ sd.setId(42);
+ sd.setName("SubclassDMappedSuperName");
+ sd.setClassDName("SubclassDName");
+
+ // No EntityExistsException should be thrown by the persist
+ em.getTransaction().begin();
+ em.persist(sd);
+ em.getTransaction().commit();
+ }
+
+ /**
+ * Verify that two entity classes, extending a Mapped Superclass that
+ * defines an ID field, are not members of a common inheritance
+ * hierarchy. This test variant inserts new entities into the persistence
+ * context by calling EntityManager.merge() on the new entity object.
+ */
+ public void testMappedSuperclassContract002() {
+ EntityManager em = emf.createEntityManager();
+
+ // Create two entities, SubclassC and SubclassD, with the same
+ // primary key value
+
+ SubclassC sc = new SubclassC();
+ sc.setId(43);
+ sc.setName("SubclassCMappedSuperName");
+ sc.setClassCName("SubclassCName");
+
+ em.getTransaction().begin();
+ em.merge(sc);
+ em.getTransaction().commit();
+
+ SubclassD sd = new SubclassD();
+ sd.setId(43);
+ sd.setName("SubclassDMappedSuperName");
+ sd.setClassDName("SubclassDName");
+
+ // No EntityExistsException should be thrown by the merge
+ em.getTransaction().begin();
+ em.merge(sd);
+ em.getTransaction().commit();
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/EntityMapping.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/EntityMapping.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/EntityMapping.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/EntityMapping.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,559 @@
+package org.apache.openjpa.persistence.inheritance.entities;
+
+import java.lang.reflect.Constructor;
+
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ PrimitiveIDMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCEntityB;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCEntityD;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCLeafA;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCLeafB1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCLeafB2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCLeafC;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCLeafD1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCLeafD2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.chardiscriminator.PIdJTCDMSCRootEntity;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCEntityB;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCEntityD;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCLeafA;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCLeafB1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCLeafB2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCLeafC;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCLeafD1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCLeafD2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.intdiscriminator.PIdJTIDMSCRootEntity;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCEntityB;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCEntityD;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCLeafA;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCLeafB1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCLeafB2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCLeafC;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCLeafD1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCLeafD2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.jointable.stringdiscriminator.PIdJTSDMSCRootEntity;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCEntityB;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCEntityD;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCLeafA;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCLeafB1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCLeafB2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCLeafC;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCLeafD1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCLeafD2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.chardiscriminator.PIdSTCDMSCRootEntity;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCEntityB;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCEntityD;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCLeafA;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCLeafB1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCLeafB2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCLeafC;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCLeafD1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCLeafD2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.intdiscriminator.PIdSTIDMSCRootEntity;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCEntityB;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCEntityD;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCLeafA;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCLeafB1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCLeafB2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCLeafC;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCLeafD1;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCLeafD2;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCMappedSuperclass;
+import org.apache.openjpa.persistence.inheritance.entities.idmsc.
+ primitiveidentity.singletable.stringdiscriminator.PIdSTSDMSCRootEntity;
+
+public class EntityMapping {
+ @SuppressWarnings("unchecked")
+ public static enum InheritanceEntityMapping {
+ /*
+ * Primitive Identity defined on a Mapped Superclass,
+ * Joined Table Entity Inheritance
+ */
+
+ // Primitive Identity defined on a Mapped Superclass,
+ // Joined Table Entity Inheritance, Integer Discriminator
+ PIdJTIDMSCRootEntity {
+ public Class getEntityClass() {
+ return PIdJTIDMSCRootEntity.class;
+ }
+ },
+ PIdJTIDMSCLeafA {
+ public Class getEntityClass() {
+ return PIdJTIDMSCLeafA.class;
+ }
+ },
+ PIdJTIDMSCEntityB {
+ public Class getEntityClass() {
+ return PIdJTIDMSCEntityB.class;
+ }
+ },
+ PIdJTIDMSCLeafB1 {
+ public Class getEntityClass() {
+ return PIdJTIDMSCLeafB1.class;
+ }
+ },
+ PIdJTIDMSCLeafB2 {
+ public Class getEntityClass() {
+ return PIdJTIDMSCLeafB2.class;
+ }
+ },
+ PIdJTIDMSCLeafC {
+ public Class getEntityClass() {
+ return PIdJTIDMSCLeafC.class;
+ }
+ },
+ PIdJTIDMSCEntityD {
+ public Class getEntityClass() {
+ return PIdJTIDMSCEntityD.class;
+ }
+ },
+ PIdJTIDMSCLeafD1 {
+ public Class getEntityClass() {
+ return PIdJTIDMSCLeafD1.class;
+ }
+ },
+ PIdJTIDMSCLeafD2 {
+ public Class getEntityClass() {
+ return PIdJTIDMSCLeafD2.class;
+ }
+ },
+
+ // Primitive Identity defined on a Mapped Superclass,
+ // Joined Table Entity Inheritance, Char Discriminator
+ PIdJTCDMSCRootEntity {
+ public Class getEntityClass() {
+ return PIdJTCDMSCRootEntity.class;
+ }
+ },
+ PIdJTCDMSCLeafA {
+ public Class getEntityClass() {
+ return PIdJTCDMSCLeafA.class;
+ }
+ },
+ PIdJTCDMSCEntityB {
+ public Class getEntityClass() {
+ return PIdJTCDMSCEntityB.class;
+ }
+ },
+ PIdJTCDMSCLeafB1 {
+ public Class getEntityClass() {
+ return PIdJTCDMSCLeafB1.class;
+ }
+ },
+ PIdJTCDMSCLeafB2 {
+ public Class getEntityClass() {
+ return PIdJTCDMSCLeafB2.class;
+ }
+ },
+ PIdJTCDMSCLeafC {
+ public Class getEntityClass() {
+ return PIdJTCDMSCLeafC.class;
+ }
+ },
+ PIdJTCDMSCEntityD {
+ public Class getEntityClass() {
+ return PIdJTCDMSCEntityD.class;
+ }
+ },
+ PIdJTCDMSCLeafD1 {
+ public Class getEntityClass() {
+ return PIdJTCDMSCLeafD1.class;
+ }
+ },
+ PIdJTCDMSCLeafD2 {
+ public Class getEntityClass() {
+ return PIdJTCDMSCLeafD2.class;
+ }
+ },
+
+ // Primitive Identity defined on a Mapped Superclass,
+ // Joined Table Entity Inheritance, String Discriminator
+ PIdJTSDMSCRootEntity {
+ public Class getEntityClass() {
+ return PIdJTSDMSCRootEntity.class;
+ }
+ },
+ PIdJTSDMSCLeafA {
+ public Class getEntityClass() {
+ return PIdJTSDMSCLeafA.class;
+ }
+ },
+ PIdJTSDMSCEntityB {
+ public Class getEntityClass() {
+ return PIdJTSDMSCEntityB.class;
+ }
+ },
+ PIdJTSDMSCLeafB1 {
+ public Class getEntityClass() {
+ return PIdJTSDMSCLeafB1.class;
+ }
+ },
+ PIdJTSDMSCLeafB2 {
+ public Class getEntityClass() {
+ return PIdJTSDMSCLeafB2.class;
+ }
+ },
+ PIdJTSDMSCLeafC {
+ public Class getEntityClass() {
+ return PIdJTSDMSCLeafC.class;
+ }
+ },
+ PIdJTSDMSCEntityD {
+ public Class getEntityClass() {
+ return PIdJTSDMSCEntityD.class;
+ }
+ },
+ PIdJTSDMSCLeafD1 {
+ public Class getEntityClass() {
+ return PIdJTSDMSCLeafD1.class;
+ }
+ },
+ PIdJTSDMSCLeafD2 {
+ public Class getEntityClass() {
+ return PIdJTSDMSCLeafD2.class;
+ }
+ },
+
+ /*
+ * Primitive Identity defined on a Mapped Superclass,
+ * Single Table Entity Inheritance
+ */
+
+ // Primitive Identity defined on a Mapped Superclass,
+ // Single Table Entity Inheritance, Integer Discriminator
+ PIdSTIDMSCRootEntity {
+ public Class getEntityClass() {
+ return PIdSTIDMSCRootEntity.class;
+ }
+ },
+ PIdSTIDMSCLeafA {
+ public Class getEntityClass() {
+ return PIdSTIDMSCLeafA.class;
+ }
+ },
+ PIdSTIDMSCEntityB {
+ public Class getEntityClass() {
+ return PIdSTIDMSCEntityB.class;
+ }
+ },
+ PIdSTIDMSCLeafB1 {
+ public Class getEntityClass() {
+ return PIdSTIDMSCLeafB1.class;
+ }
+ },
+ PIdSTIDMSCLeafB2 {
+ public Class getEntityClass() {
+ return PIdSTIDMSCLeafB2.class;
+ }
+ },
+ PIdSTIDMSCLeafC {
+ public Class getEntityClass() {
+ return PIdSTIDMSCLeafC.class;
+ }
+ },
+ PIdSTIDMSCEntityD {
+ public Class getEntityClass() {
+ return PIdSTIDMSCEntityD.class;
+ }
+ },
+ PIdSTIDMSCLeafD1 {
+ public Class getEntityClass() {
+ return PIdSTIDMSCLeafD1.class;
+ }
+ },
+ PIdSTIDMSCLeafD2 {
+ public Class getEntityClass() {
+ return PIdSTIDMSCLeafD2.class;
+ }
+ },
+
+ // Primitive Identity defined on a Mapped Superclass,
+ // Single Table Entity Inheritance, Char Discriminator
+ PIdSTCDMSCRootEntity {
+ public Class getEntityClass() {
+ return PIdSTCDMSCRootEntity.class;
+ }
+ },
+ PIdSTCDMSCLeafA {
+ public Class getEntityClass() {
+ return PIdSTCDMSCLeafA.class;
+ }
+ },
+ PIdSTCDMSCEntityB {
+ public Class getEntityClass() {
+ return PIdSTCDMSCEntityB.class;
+ }
+ },
+ PIdSTCDMSCLeafB1 {
+ public Class getEntityClass() {
+ return PIdSTCDMSCLeafB1.class;
+ }
+ },
+ PIdSTCDMSCLeafB2 {
+ public Class getEntityClass() {
+ return PIdSTCDMSCLeafB2.class;
+ }
+ },
+ PIdSTCDMSCLeafC {
+ public Class getEntityClass() {
+ return PIdSTCDMSCLeafC.class;
+ }
+ },
+ PIdSTCDMSCEntityD {
+ public Class getEntityClass() {
+ return PIdSTCDMSCEntityD.class;
+ }
+ },
+ PIdSTCDMSCLeafD1 {
+ public Class getEntityClass() {
+ return PIdSTCDMSCLeafD1.class;
+ }
+ },
+ PIdSTCDMSCLeafD2 {
+ public Class getEntityClass() {
+ return PIdSTCDMSCLeafD2.class;
+ }
+ },
+
+ // Primitive Identity defined on a Mapped Superclass,
+ // Single Table Entity Inheritance, String Discriminator
+ PIdSTSDMSCRootEntity {
+ public Class getEntityClass() {
+ return PIdSTSDMSCRootEntity.class;
+ }
+ },
+ PIdSTSDMSCLeafA {
+ public Class getEntityClass() {
+ return PIdSTSDMSCLeafA.class;
+ }
+ },
+ PIdSTSDMSCEntityB {
+ public Class getEntityClass() {
+ return PIdSTSDMSCEntityB.class;
+ }
+ },
+ PIdSTSDMSCLeafB1 {
+ public Class getEntityClass() {
+ return PIdSTSDMSCLeafB1.class;
+ }
+ },
+ PIdSTSDMSCLeafB2 {
+ public Class getEntityClass() {
+ return PIdSTSDMSCLeafB2.class;
+ }
+ },
+ PIdSTSDMSCLeafC {
+ public Class getEntityClass() {
+ return PIdSTSDMSCLeafC.class;
+ }
+ },
+ PIdSTSDMSCEntityD {
+ public Class getEntityClass() {
+ return PIdSTSDMSCEntityD.class;
+ }
+ },
+ PIdSTSDMSCLeafD1 {
+ public Class getEntityClass() {
+ return PIdSTSDMSCLeafD1.class;
+ }
+ },
+ PIdSTSDMSCLeafD2 {
+ public Class getEntityClass() {
+ return PIdSTSDMSCLeafD2.class;
+ }
+ },
+
+
+ /*
+ * Non Entity PC-Aware Types
+ */
+ PrimitiveIDMappedSuperclass {
+ public Class getEntityClass() {
+ return PrimitiveIDMappedSuperclass.class;
+ }
+ },
+ PIdJTIDMSCMappedSuperclass {
+ public Class getEntityClass() {
+ return PIdJTIDMSCMappedSuperclass.class;
+ }
+ },
+ PIdJTICMSCMappedSuperclass {
+ public Class getEntityClass() {
+ return PIdJTCDMSCMappedSuperclass.class;
+ }
+ },
+ PIdJTISMSCMappedSuperclass {
+ public Class getEntityClass() {
+ return PIdJTSDMSCMappedSuperclass.class;
+ }
+ },
+ PIdSTIDMSCMappedSuperclass {
+ public Class getEntityClass() {
+ return PIdSTIDMSCMappedSuperclass.class;
+ }
+ },
+ PIdSTICMSCMappedSuperclass {
+ public Class getEntityClass() {
+ return PIdSTCDMSCMappedSuperclass.class;
+ }
+ },
+ PIdSTISMSCMappedSuperclass {
+ public Class getEntityClass() {
+ return PIdSTSDMSCMappedSuperclass.class;
+ }
+ }
+
+ ;
+
+ public abstract Class getEntityClass();
+ public String getEntityName() {
+ return getEntityClass().getSimpleName();
+ }
+ };
+
+ public final static InheritanceEntityMapping[] PIdJTIDMSC = {
+ InheritanceEntityMapping.PIdJTIDMSCRootEntity,
+ InheritanceEntityMapping.PIdJTIDMSCLeafA,
+ InheritanceEntityMapping.PIdJTIDMSCEntityB,
+ InheritanceEntityMapping.PIdJTIDMSCLeafB1,
+ InheritanceEntityMapping.PIdJTIDMSCLeafB2,
+ InheritanceEntityMapping.PIdJTIDMSCLeafC,
+ InheritanceEntityMapping.PIdJTIDMSCEntityD,
+ InheritanceEntityMapping.PIdJTIDMSCLeafD1,
+ InheritanceEntityMapping.PIdJTIDMSCLeafD2
+ };
+
+ public final static InheritanceEntityMapping[] PIdJTCDMSC = {
+ InheritanceEntityMapping.PIdJTCDMSCRootEntity,
+ InheritanceEntityMapping.PIdJTCDMSCLeafA,
+ InheritanceEntityMapping.PIdJTCDMSCEntityB,
+ InheritanceEntityMapping.PIdJTCDMSCLeafB1,
+ InheritanceEntityMapping.PIdJTCDMSCLeafB2,
+ InheritanceEntityMapping.PIdJTCDMSCLeafC,
+ InheritanceEntityMapping.PIdJTCDMSCEntityD,
+ InheritanceEntityMapping.PIdJTCDMSCLeafD1,
+ InheritanceEntityMapping.PIdJTCDMSCLeafD2
+ };
+
+ public final static InheritanceEntityMapping[] PIdJTSDMSC = {
+ InheritanceEntityMapping.PIdJTSDMSCRootEntity,
+ InheritanceEntityMapping.PIdJTSDMSCLeafA,
+ InheritanceEntityMapping.PIdJTSDMSCEntityB,
+ InheritanceEntityMapping.PIdJTSDMSCLeafB1,
+ InheritanceEntityMapping.PIdJTSDMSCLeafB2,
+ InheritanceEntityMapping.PIdJTSDMSCLeafC,
+ InheritanceEntityMapping.PIdJTSDMSCEntityD,
+ InheritanceEntityMapping.PIdJTSDMSCLeafD1,
+ InheritanceEntityMapping.PIdJTSDMSCLeafD2
+ };
+
+ public final static InheritanceEntityMapping[] PIdSTIDMSC = {
+ InheritanceEntityMapping.PIdSTIDMSCRootEntity,
+ InheritanceEntityMapping.PIdSTIDMSCLeafA,
+ InheritanceEntityMapping.PIdSTIDMSCEntityB,
+ InheritanceEntityMapping.PIdSTIDMSCLeafB1,
+ InheritanceEntityMapping.PIdSTIDMSCLeafB2,
+ InheritanceEntityMapping.PIdSTIDMSCLeafC,
+ InheritanceEntityMapping.PIdSTIDMSCEntityD,
+ InheritanceEntityMapping.PIdSTIDMSCLeafD1,
+ InheritanceEntityMapping.PIdSTIDMSCLeafD2
+ };
+
+ public final static InheritanceEntityMapping[] PIdSTCDMSC = {
+ InheritanceEntityMapping.PIdSTCDMSCRootEntity,
+ InheritanceEntityMapping.PIdSTCDMSCLeafA,
+ InheritanceEntityMapping.PIdSTCDMSCEntityB,
+ InheritanceEntityMapping.PIdSTCDMSCLeafB1,
+ InheritanceEntityMapping.PIdSTCDMSCLeafB2,
+ InheritanceEntityMapping.PIdSTCDMSCLeafC,
+ InheritanceEntityMapping.PIdSTCDMSCEntityD,
+ InheritanceEntityMapping.PIdSTCDMSCLeafD1,
+ InheritanceEntityMapping.PIdSTCDMSCLeafD2
+ };
+
+ public final static InheritanceEntityMapping[] PIdSTSDMSC = {
+ InheritanceEntityMapping.PIdSTSDMSCRootEntity,
+ InheritanceEntityMapping.PIdSTSDMSCLeafA,
+ InheritanceEntityMapping.PIdSTSDMSCEntityB,
+ InheritanceEntityMapping.PIdSTSDMSCLeafB1,
+ InheritanceEntityMapping.PIdSTSDMSCLeafB2,
+ InheritanceEntityMapping.PIdSTSDMSCLeafC,
+ InheritanceEntityMapping.PIdSTSDMSCEntityD,
+ InheritanceEntityMapping.PIdSTSDMSCLeafD1,
+ InheritanceEntityMapping.PIdSTSDMSCLeafD2
+ };
+
+
+ @SuppressWarnings("unchecked")
+ public static Object createEntityObjectInstance(
+ InheritanceEntityMapping eType) throws Exception {
+ Class eClassType = eType.getEntityClass();
+
+ Constructor c = eClassType.getConstructor(new Class[] {});
+ Object eObj = c.newInstance(new Object[] {});
+ return eObj;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/PrimitiveIDMappedSuperclass.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/PrimitiveIDMappedSuperclass.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/PrimitiveIDMappedSuperclass.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/PrimitiveIDMappedSuperclass.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.inheritance.entities.idmsc;
+
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+
+/**
+ * Mapped Superclass defining an integer-type primary key field.
+ *
+ */
+@MappedSuperclass
+public abstract class PrimitiveIDMappedSuperclass {
+ @Id
+ private int id;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public Object fetchId() {
+ return new Integer(getId());
+ }
+
+ public void updateId(Object obj) {
+ Integer i = (Integer) obj;
+ setId(i.intValue());
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityB.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityB.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityB.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityB.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ EntityB;
+
+@Entity
+@DiscriminatorValue("C")
+public class PIdJTCDMSCEntityB
+extends PIdJTCDMSCRootEntity implements EntityB {
+ private String entityBData;
+
+ public String getEntityBData() {
+ return entityBData;
+ }
+ public void setEntityBData(String entityBData) {
+ this.entityBData = entityBData;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityD.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityD.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityD.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCEntityD.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ EntityD;
+@Entity
+@DiscriminatorValue("G")
+public class PIdJTCDMSCEntityD
+extends PIdJTCDMSCMappedSuperclass implements EntityD {
+private String entityDData;
+
+ public String getEntityDData() {
+ return entityDData;
+ }
+ public void setEntityDData(String entityDData) {
+ this.entityDData = entityDData;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafA.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafA.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafA.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafA.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.LeafA;
+
+@Entity
+@DiscriminatorValue("B")
+public class PIdJTCDMSCLeafA
+extends PIdJTCDMSCRootEntity implements LeafA {
+ private String leafAData;
+
+ public String getLeafAData()
+ {
+ return leafAData;
+ }
+
+ public void setLeafAData(String leafAData) {
+ this.leafAData = leafAData;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB1.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB1.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB1.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB1.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ LeafB1;
+
+@Entity
+@DiscriminatorValue("D")
+public class PIdJTCDMSCLeafB1
+extends PIdJTCDMSCEntityB implements LeafB1 {
+ private String leafB1Data;
+
+ public String getLeafB1Data() {
+ return leafB1Data;
+ }
+ public void setLeafB1Data(String leafB1Data) {
+ this.leafB1Data = leafB1Data;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB2.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB2.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafB2.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ LeafB2;
+
+@Entity
+@DiscriminatorValue("E")
+public class PIdJTCDMSCLeafB2
+extends PIdJTCDMSCEntityB implements LeafB2 {
+private String leafB2Data;
+
+ public String getLeafB2Data() {
+ return leafB2Data;
+ }
+ public void setLeafB2Data(String leafB2Data) {
+ this.leafB2Data = leafB2Data;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafC.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafC.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.LeafC;
+
+@Entity
+@DiscriminatorValue("F")
+public class PIdJTCDMSCLeafC
+extends PIdJTCDMSCMappedSuperclass implements LeafC {
+ private String leafCData;
+
+ public String getLeafCData()
+ {
+ return leafCData;
+ }
+
+ public void setLeafCData(String leafCData) {
+ this.leafCData = leafCData;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD1.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD1.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD1.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD1.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ LeafD1;
+
+@Entity
+@DiscriminatorValue("H")
+public class PIdJTCDMSCLeafD1
+extends PIdJTCDMSCEntityD implements LeafD1 {
+ private String leafD1Data;
+
+ public String getLeafD1Data() {
+ return leafD1Data;
+ }
+ public void setLeafD1Data(String leafD1Data) {
+ this.leafD1Data = leafD1Data;
+ }
+}
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD2.java?rev=789518&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD2.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/entities/idmsc/primitiveidentity/jointable/chardiscriminator/PIdJTCDMSCLeafD2.java Tue Jun 30 01:04:57 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.openjpa.persistence.inheritance.entities.idmsc.
+primitiveidentity.jointable.chardiscriminator;
+
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.inheritance.entities.testinterfaces.
+ LeafD2;
+
+@Entity
+@DiscriminatorValue("I")
+public class PIdJTCDMSCLeafD2
+extends PIdJTCDMSCEntityD implements LeafD2 {
+ private String leafD2Data;
+
+ public String getLeafD2Data() {
+ return leafD2Data;
+ }
+ public void setLeafD2Data(String leafD2Data) {
+ this.leafD2Data = leafD2Data;
+ }
+}