You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2010/01/28 06:53:48 UTC
svn commit: r903964 -
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistenceUtil.java
Author: faywang
Date: Thu Jan 28 05:53:47 2010
New Revision: 903964
URL: http://svn.apache.org/viewvc?rev=903964&view=rev
Log:
OPENJPA-1485: fix potential classCast exception for StateManagerImpl
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistenceUtil.java
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistenceUtil.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistenceUtil.java?rev=903964&r1=903963&r2=903964&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistenceUtil.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAPersistenceUtil.java Thu Jan 28 05:53:47 2010
@@ -162,7 +162,7 @@
if (fmds != null && fmds.length > 0) {
pcs = addToLoadSet(pcs, sm);
for (FieldMetaData fmd : fmds) {
- if (((StateManagerImpl)sm).requiresFetch(fmd)) {
+ if (requiresFetch(sm, fmd)) {
if (!isLoadedField(sm, fmd, pcs)) {
isLoaded = false;
break;
@@ -178,6 +178,12 @@
}
return isLoaded ? LoadState.LOADED : LoadState.NOT_LOADED;
}
+
+ private static boolean requiresFetch(OpenJPAStateManager sm, FieldMetaData fmd) {
+ if (sm instanceof StateManagerImpl)
+ return ((StateManagerImpl)sm).requiresFetch(fmd);
+ return fmd.isInDefaultFetchGroup();
+ }
/*
* Returns true if the field is a collection type and it was explicitly