Author: dwoods
Date: Mon Mar 29 18:09:58 2010
New Revision: 928853
URL: http://svn.apache.org/viewvc?rev=928853&view=rev
Log:
OPENJPA-1597 cleanup code comments. merged in from 2.0.x.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/Proxies.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/Proxies.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/Proxies.java?rev=928853&r1=928852&r2=928853&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/Proxies.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/Proxies.java
Mon Mar 29 18:09:58 2010
@@ -96,9 +96,18 @@ public class Proxies {
* 1) Runtime created proxy (!detachable), then unproxy
* 2) No Proxy, then return as-is
* 3) No StateManager (DetachedStateField==false), then return as-is
- * 4) If detached, then return as-is <--- ERROR as EM.clear() marks
- * entity as detached but doesn't remove any $proxy usage
- * 5) Else, unproxy
+ * Get the new IgnoreDetachedStateFieldForProxySerialization
+ * Compatibility flag from either the metadata/configuration if
+ * this is a normal StateManager, otherwise use the new flag
+ * added to the DetachedStateManager
+ * 4) If new 2.0 behavior
+ * 4a) If ClassMetaData exists and DetachedStateField == TRUE
+ * then do not remove the proxy and return as-is
+ * 4b) Else, using DetachedStateField of transient(default) or
+ * false, so unproxy
+ * 5) If 1.0 app or requested old 1.0 behavior
+ * 5a) If detached, then do not unproxy and return as-is
+ * 5b) Else, unproxy
*
* if (detachable && (proxy == null || proxy.getOwner() == null
* || proxy.getOwner().isDetached()))
@@ -128,7 +137,7 @@ public class Proxies {
} else if (sm.getContext() != null &&
sm.getContext().getConfiguration() != null) {
compat =
sm.getContext().getConfiguration().getCompatibilityInstance();
} else {
- // no-op - using a StateManager, but no Compatibilty
settings available
+ // no-op - using a StateManager, but no Compatibility
settings available
}
if (compat != null) {
// new 2.0 behavior of using DetachedStateField to
determine unproxy during serialization