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]