Author: arminw
Date: Tue Oct  2 15:04:24 2007
New Revision: 581406

URL: http://svn.apache.org/viewvc?rev=581406&view=rev
Log:
improve table per sub-class inheritance

Modified:
    
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java

Modified: 
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java
URL: 
http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java?rev=581406&r1=581405&r2=581406&view=diff
==============================================================================
--- 
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java
 (original)
+++ 
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java
 Tue Oct  2 15:04:24 2007
@@ -26,7 +26,6 @@
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentField;
 import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldFactory;
 import org.apache.ojb.broker.util.ClassHelper;
-import org.apache.ojb.broker.util.ConvertHelper;
 import org.apache.ojb.broker.util.logging.Logger;
 import org.apache.ojb.broker.util.logging.LoggerFactory;
 import org.xml.sax.Attributes;
@@ -554,13 +553,17 @@
                         ObjectReferenceDescriptor ord;
                         if (name.equals(TAG_SUPER))
                         {
-                            // no longer needed sine SuperReferenceDescriptor 
was used
-//                            checkThis(classRef);
-//                            AnonymousObjectReferenceDescriptor aord =
-//                                new 
AnonymousObjectReferenceDescriptor(m_CurrentCLD);
-//                            aord.setPersistentField(null, TAG_SUPER);
-//                            ord = aord;
-
+                            // if the referenced super-class is not specified, 
try to resolve it
+                            if(!checkString(classRef))
+                            {
+                                Class superClass = 
ClassHelper.getSuperClass(m_CurrentCLD.getClassOfObject());
+                                if(superClass != null)
+                                {
+                                    classRef = superClass.getName();
+                                    logger.info("Automatic assignment of the 
super-class in super-reference of class '"
+                                            + 
m_CurrentCLD.getClassNameOfObject() + "' --> super-class=" + classRef);
+                                }
+                            }
                             ord = new SuperReferenceDescriptor(m_CurrentCLD);
                         }
                         else



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to