changed ordering to avoid super / subclass clashing

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@439550 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stephen Kim 2006-09-02 06:36:19 +00:00
parent 4f4b1b29fe
commit fc9b67f556
1 changed files with 10 additions and 11 deletions

View File

@ -1514,17 +1514,6 @@ public class ClassMetaData
log.trace(_loc.get((embed) ? "resolve-embed-meta" : "resolve-meta",
this + "@" + System.identityHashCode(this)));
if (_type.isInterface()) {
if (!embed && _interface != Boolean.TRUE)
throw new MetaDataException(_loc.get("interface", _type));
if (runtime) {
_impl = _repos.getImplGenerator().createImpl(this);
if (!embed)
_repos.setInterfaceImpl(this, _impl);
}
}
if (runtime && !_type.isInterface() &&
!PersistenceCapable.class.isAssignableFrom(_type))
throw new MetaDataException(_loc.get("not-enhanced", _type));
@ -1600,6 +1589,16 @@ public class ClassMetaData
for (Iterator itr = _fgMap.values().iterator(); itr.hasNext();)
((FetchGroup) itr.next()).resolve();
if (!embed && _type.isInterface()) {
if (_interface != Boolean.TRUE)
throw new MetaDataException(_loc.get("interface", _type));
if (runtime) {
_impl = _repos.getImplGenerator().createImpl(this);
_repos.setInterfaceImpl(this, _impl);
}
}
// if this is runtime, create a pc instance and scan it for comparators
if (runtime && !Modifier.isAbstract(_type.getModifiers())) {
ProxySetupStateManager sm = new ProxySetupStateManager();