You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by wi...@apache.org on 2007/07/24 21:40:10 UTC

svn commit: r559172 - in /openjpa/trunk: openjpa-jdbc-5/src/main/java/org/apache/openjpa/meta/ openjpa-kernel/src/main/java/org/apache/openjpa/meta/

Author: wisneskid
Date: Tue Jul 24 12:40:09 2007
New Revision: 559172

URL: http://svn.apache.org/viewvc?view=rev&rev=559172
Log:
OPENJPA-240 XMLMapping Query - rename XMLMetaData to XMLFieldMetaData
Help Catalina committing changes for renaming classes, part 1.

Added:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLFieldMetaData.java
      - copied, changed from r559165, openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLMetaData.java
Removed:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLMetaData.java
Modified:
    openjpa/trunk/openjpa-jdbc-5/src/main/java/org/apache/openjpa/meta/XMLClassMetaData.java

Modified: openjpa/trunk/openjpa-jdbc-5/src/main/java/org/apache/openjpa/meta/XMLClassMetaData.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc-5/src/main/java/org/apache/openjpa/meta/XMLClassMetaData.java?view=diff&rev=559172&r1=559171&r2=559172
==============================================================================
--- openjpa/trunk/openjpa-jdbc-5/src/main/java/org/apache/openjpa/meta/XMLClassMetaData.java (original)
+++ openjpa/trunk/openjpa-jdbc-5/src/main/java/org/apache/openjpa/meta/XMLClassMetaData.java Tue Jul 24 12:40:09 2007
@@ -33,7 +33,7 @@
 import org.apache.openjpa.jdbc.meta.XMLMappingRepository;
 import org.apache.openjpa.meta.JavaTypes;
 import org.apache.openjpa.meta.XMLMapping;
-import org.apache.openjpa.meta.XMLMetaData;
+import org.apache.openjpa.meta.XMLFieldMetaData;
 import org.apache.commons.lang.StringUtils;
 
 /**
@@ -178,8 +178,14 @@
 
     private synchronized void populateFromReflection(Class cls, 
         XMLMappingRepository repos) {
-        Member[] members;
-        if (((XmlAccessorType)cls.getAnnotation(XmlAccessorType.class)).value()
+        Member[] members; 
+        Class superclass = cls.getSuperclass();
+
+        // handle inheritance at sub-element level
+        if (superclass.isAnnotationPresent(XmlType.class))
+            populateFromReflection(superclass, repos);
+
+        if (((XmlAccessorType) cls.getAnnotation(XmlAccessorType.class)).value()
                 == XmlAccessType.FIELD)
             members = cls.getDeclaredFields();
         else
@@ -201,7 +207,7 @@
                     field.setXmlname(xmlname);
                 }
                 else {
-                    field = new XMLMetaData();
+                    field = new XMLFieldMetaData();
                     field.setXmltype(ELEMENT);
                     field.setXmlname(xmlname);
                     field.setXmlnamespace(el.getAnnotation(XmlElement.class)
@@ -209,8 +215,8 @@
                 }
             }
             else if (el.getAnnotation(XmlAttribute.class) != null) {
-                field = new XMLMetaData();
-                field.setXmltype(XMLMetaData.ATTRIBUTE);
+                field = new XMLFieldMetaData();
+                field.setXmltype(XMLFieldMetaData.ATTRIBUTE);
                 String xmlname = el.getAnnotation(XmlAttribute.class).name();
                 // avoid JAXB XML bind default name
                 if (StringUtils.equals(defaultName, xmlname))

Copied: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLFieldMetaData.java (from r559165, openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLMetaData.java)
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLFieldMetaData.java?view=diff&rev=559172&p1=openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLMetaData.java&r1=559165&p2=openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLFieldMetaData.java&r2=559172
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLMetaData.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/XMLFieldMetaData.java Tue Jul 24 12:40:09 2007
@@ -26,7 +26,7 @@
  * @author Catalina Wei
  * @since 1.0.0
  */
-public class XMLMetaData implements XMLMapping {
+public class XMLFieldMetaData implements XMLMapping {
 
     private String _name;
     private String _xmlname = null;
@@ -37,7 +37,7 @@
     private int _code = JavaTypes.OBJECT;
     private int _xmltype;    
 
-    public XMLMetaData() {        
+    public XMLFieldMetaData() {        
     }
     
     public Class getType() {