Author: skim
Date: Tue Sep 12 00:06:25 2006
New Revision: 442494
URL: http://svn.apache.org/viewvc?view=rev&rev=442494
Log:
Record interface superclasses
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java?view=diff&rev=442494&r1=442493&r2=442494
==============================================================================
---
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
(original)
+++
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
Tue Sep 12 00:06:25 2006
@@ -888,6 +888,14 @@
_ifaces.put(meta.getDescribedType(), impl);
_metas.put(impl, meta);
addDeclaredInterfaceImpl(meta, meta.getDescribedType());
+ ClassMetaData sup = meta.getPCSuperclassMetaData();
+ while (sup != null) {
+ // record superclass interface info while we can as well as we
+ // will only register concrete superclass in PCRegistry
+ sup.clearSubclassCache();
+ addToCollection(_subs, sup.getDescribedType(), impl, true);
+ sup = (ClassMetaData) sup.getPCSuperclassMetaData();
+ }
}
synchronized InterfaceImplGenerator getImplGenerator() {