You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2012/01/16 19:32:57 UTC
svn commit: r1232104 - in /db/jdo/trunk/api/src:
java/javax/jdo/annotations/Embedded.java
java/javax/jdo/metadata/EmbeddedMetadata.java schema/javax/jdo/jdo_3_1.dtd
schema/javax/jdo/jdo_3_1.xsd schema/javax/jdo/orm_3_1.dtd
schema/javax/jdo/orm_3_1.xsd
Author: andyj
Date: Mon Jan 16 18:32:56 2012
New Revision: 1232104
URL: http://svn.apache.org/viewvc?rev=1232104&view=rev
Log:
JDO-702 Apply patch to allow specification of embedded inherited objects, adding a discriminator to <embedded>
Modified:
db/jdo/trunk/api/src/java/javax/jdo/annotations/Embedded.java
db/jdo/trunk/api/src/java/javax/jdo/metadata/EmbeddedMetadata.java
db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.dtd
db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.xsd
db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.dtd
db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd
Modified: db/jdo/trunk/api/src/java/javax/jdo/annotations/Embedded.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/annotations/Embedded.java?rev=1232104&r1=1232103&r2=1232104&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/annotations/Embedded.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/annotations/Embedded.java Mon Jan 16 18:32:56 2012
@@ -54,4 +54,10 @@ public @interface Embedded
* @return the members embedded in the field or property being annotated
*/
Persistent[] members() default {};
+
+ /**
+ * Discriminator for cases where the embedded object has inheritance.
+ * @return the discriminator for inheritance determination
+ */
+ Discriminator discriminatorColumnName() default @Discriminator;
}
Modified: db/jdo/trunk/api/src/java/javax/jdo/metadata/EmbeddedMetadata.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/java/javax/jdo/metadata/EmbeddedMetadata.java?rev=1232104&r1=1232103&r2=1232104&view=diff
==============================================================================
--- db/jdo/trunk/api/src/java/javax/jdo/metadata/EmbeddedMetadata.java (original)
+++ db/jdo/trunk/api/src/java/javax/jdo/metadata/EmbeddedMetadata.java Mon Jan 16 18:32:56 2012
@@ -92,4 +92,16 @@ public interface EmbeddedMetadata extend
* @return The PropertyMetadata
*/
PropertyMetadata newPropertyMetadata(String name);
+
+ /**
+ * Accessor for the discriminator metadata when handling inherited objects.
+ * @return Discriminator details
+ */
+ DiscriminatorMetadata getDiscriminatorMetadata();
+
+ /**
+ * Method to define the new discriminator metadata for handling inherited embedded objects.
+ * @return Discriminator metadata
+ */
+ DiscriminatorMetadata newDiscriminatorMetadata();
}
Modified: db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.dtd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.dtd?rev=1232104&r1=1232103&r2=1232104&view=diff
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.dtd (original)
+++ db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.dtd Mon Jan 16 18:32:56 2012
@@ -218,7 +218,7 @@
<!ATTLIST fetch-plan max-fetch-depth CDATA #IMPLIED>
<!ATTLIST fetch-plan fetch-size CDATA #IMPLIED>
-<!ELEMENT embedded (extension*, (field|property)*, extension*)>
+<!ELEMENT embedded (extension*, discriminator?, (field|property)*, extension*)>
<!ATTLIST embedded owner-field CDATA #IMPLIED>
<!ATTLIST embedded null-indicator-column CDATA #IMPLIED>
<!ATTLIST embedded null-indicator-value CDATA #IMPLIED>
Modified: db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.xsd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.xsd?rev=1232104&r1=1232103&r2=1232104&view=diff
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.xsd (original)
+++ db/jdo/trunk/api/src/schema/javax/jdo/jdo_3_1.xsd Mon Jan 16 18:32:56 2012
@@ -1161,6 +1161,7 @@
<xs:element ref="extension"/>
<xs:element ref="field"/>
<xs:element ref="property"/>
+ <xs:element ref="discriminator"/>
</xs:choice>
<xs:attributeGroup ref="attlist.embedded"/>
</xs:complexType>
Modified: db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.dtd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.dtd?rev=1232104&r1=1232103&r2=1232104&view=diff
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.dtd (original)
+++ db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.dtd Mon Jan 16 18:32:56 2012
@@ -148,7 +148,7 @@
<!ATTLIST order column CDATA #IMPLIED>
<!ATTLIST order mapped-by CDATA #IMPLIED>
-<!ELEMENT embedded (extension*, (field|property)*, extension*)>
+<!ELEMENT embedded (extension*, discriminator?, (field|property)*, extension*)>
<!ATTLIST embedded owner-field CDATA #IMPLIED>
<!ATTLIST embedded null-indicator-column CDATA #IMPLIED>
<!ATTLIST embedded null-indicator-value CDATA #IMPLIED>
Modified: db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd?rev=1232104&r1=1232103&r2=1232104&view=diff
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd (original)
+++ db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd Mon Jan 16 18:32:56 2012
@@ -741,6 +741,7 @@
<xs:element ref="extension"/>
<xs:element ref="field"/>
<xs:element ref="property"/>
+ <xs:element ref="discriminator"/>
</xs:choice>
<xs:attributeGroup ref="attlist.embedded"/>
</xs:complexType>