This is an automated email from the ASF dual-hosted git repository. struberg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openjpa.git
commit 4ec4598ad1549039022a919d9c2db46722c45641 Author: Mark Struberg <strub...@apache.org> AuthorDate: Sun Apr 30 14:21:58 2023 +0200 OPENJPA-2909 move proxy code to own package No functional change yet. --- .../jdbc/kernel/InstanceResultObjectProvider.java | 2 +- .../meta/strats/StoreCollectionFieldStrategy.java | 2 +- .../apache/openjpa/kernel/ResultShapePacker.java | 2 +- .../org/apache/openjpa/util/ProxyManagerImpl.java | 29 ++++++++++++++++------ .../util/{ => proxy}/DelayedArrayListProxy.java | 7 +++++- .../util/{ => proxy}/DelayedHashSetProxy.java | 7 +++++- .../{ => proxy}/DelayedLinkedHashSetProxy.java | 7 +++++- .../util/{ => proxy}/DelayedLinkedListProxy.java | 7 +++++- .../{ => proxy}/DelayedPriorityQueueProxy.java | 7 +++++- .../openjpa/util/{ => proxy}/DelayedProxy.java | 2 +- .../util/{ => proxy}/DelayedTreeSetProxy.java | 7 +++++- .../util/{ => proxy}/DelayedVectorProxy.java | 7 +++++- .../apache/openjpa/util/{ => proxy}/ProxyBean.java | 4 ++- .../openjpa/util/{ => proxy}/ProxyCalendar.java | 4 ++- .../openjpa/util/{ => proxy}/ProxyCollection.java | 4 ++- .../openjpa/util/{ => proxy}/ProxyCollections.java | 5 +++- .../util/{ => proxy}/ProxyConcurrentMaps.java | 11 +++++--- .../apache/openjpa/util/{ => proxy}/ProxyDate.java | 4 ++- .../apache/openjpa/util/{ => proxy}/ProxyMap.java | 4 ++- .../apache/openjpa/util/{ => proxy}/ProxyMaps.java | 5 +++- .../openjpa/jdbc/meta/TestCalendarField.java | 2 +- .../openjpa/persistence/datacache/CacheTest.java | 2 +- .../persistence/proxy/TestProxyCollection.java | 2 +- .../delayed/DelayedProxyCollectionsTestCase.java | 4 +-- .../alist/TestDelayedArrayListProxyDetachLite.java | 2 +- .../hset/TestDelayedHashSetProxyDetachLite.java | 2 +- .../TestDelayedLinkedHashSetProxyDetachLite.java | 2 +- .../TestDelayedLinkedListProxyDetachLite.java | 2 +- .../TestDelayedPriorityQueueProxyDetachLite.java | 2 +- .../tset/TestDelayedTreeSetProxyDetachLite.java | 2 +- .../vec/TestDelayedVectorProxyDetachLite.java | 2 +- openjpa-project/src/doc/manual/ref_guide_pc.xml | 2 +- 32 files changed, 111 insertions(+), 42 deletions(-) diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/InstanceResultObjectProvider.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/InstanceResultObjectProvider.java index 073bd36cf..7a304844b 100644 --- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/InstanceResultObjectProvider.java +++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/InstanceResultObjectProvider.java @@ -24,7 +24,7 @@ import org.apache.openjpa.jdbc.meta.ClassMapping; import org.apache.openjpa.jdbc.sql.Result; import org.apache.openjpa.jdbc.sql.Select; import org.apache.openjpa.jdbc.sql.SelectExecutor; -import org.apache.openjpa.util.ProxyCalendar; +import org.apache.openjpa.util.proxy.ProxyCalendar; /** * Object provider implementation wrapped around a {@link Select}. diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java index a60a8a2a1..9e785fd90 100644 --- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java +++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java @@ -47,7 +47,7 @@ import org.apache.openjpa.meta.ClassMetaData; import org.apache.openjpa.meta.FieldMetaData; import org.apache.openjpa.meta.JavaTypes; import org.apache.openjpa.util.ChangeTracker; -import org.apache.openjpa.util.DelayedProxy; +import org.apache.openjpa.util.proxy.DelayedProxy; import org.apache.openjpa.util.Id; import org.apache.openjpa.util.OpenJPAId; import org.apache.openjpa.util.Proxy; diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShapePacker.java b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShapePacker.java index 8890ffe56..805138375 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShapePacker.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultShapePacker.java @@ -20,7 +20,7 @@ package org.apache.openjpa.kernel; import java.util.Calendar; -import org.apache.openjpa.util.ProxyCalendar; +import org.apache.openjpa.util.proxy.ProxyCalendar; /** diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java index caaf82651..0737d1ef2 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java @@ -58,6 +58,21 @@ import org.apache.openjpa.lib.util.J2DoPrivHelper; import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.lib.util.Options; import org.apache.openjpa.lib.util.StringUtil; +import org.apache.openjpa.util.proxy.DelayedArrayListProxy; +import org.apache.openjpa.util.proxy.DelayedHashSetProxy; +import org.apache.openjpa.util.proxy.DelayedLinkedHashSetProxy; +import org.apache.openjpa.util.proxy.DelayedLinkedListProxy; +import org.apache.openjpa.util.proxy.DelayedPriorityQueueProxy; +import org.apache.openjpa.util.proxy.DelayedTreeSetProxy; +import org.apache.openjpa.util.proxy.DelayedVectorProxy; +import org.apache.openjpa.util.proxy.ProxyBean; +import org.apache.openjpa.util.proxy.ProxyCalendar; +import org.apache.openjpa.util.proxy.ProxyCollection; +import org.apache.openjpa.util.proxy.ProxyCollections; +import org.apache.openjpa.util.proxy.ProxyConcurrentMaps; +import org.apache.openjpa.util.proxy.ProxyDate; +import org.apache.openjpa.util.proxy.ProxyMap; +import org.apache.openjpa.util.proxy.ProxyMaps; import serp.bytecode.BCClass; import serp.bytecode.BCField; @@ -526,25 +541,25 @@ public class ProxyManagerImpl protected Class<?> loadDelayedProxy(Class<?> type) { if (type.equals(java.util.ArrayList.class)) { - return org.apache.openjpa.util.DelayedArrayListProxy.class; + return DelayedArrayListProxy.class; } if (type.equals(java.util.HashSet.class)) { - return org.apache.openjpa.util.DelayedHashSetProxy.class; + return DelayedHashSetProxy.class; } if (type.equals(java.util.LinkedList.class)) { - return org.apache.openjpa.util.DelayedLinkedListProxy.class; + return DelayedLinkedListProxy.class; } if (type.equals(java.util.Vector.class)) { - return org.apache.openjpa.util.DelayedVectorProxy.class; + return DelayedVectorProxy.class; } if (type.equals(java.util.LinkedHashSet.class)) { - return org.apache.openjpa.util.DelayedLinkedHashSetProxy.class; + return DelayedLinkedHashSetProxy.class; } if (type.equals(java.util.SortedSet.class) || type.equals(java.util.TreeSet.class)) { - return org.apache.openjpa.util.DelayedTreeSetProxy.class; + return DelayedTreeSetProxy.class; } if (type.equals(java.util.PriorityQueue.class)) { - return org.apache.openjpa.util.DelayedPriorityQueueProxy.class; + return DelayedPriorityQueueProxy.class; } return null; } diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedArrayListProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedArrayListProxy.java similarity index 97% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedArrayListProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedArrayListProxy.java index 9a8bcc48e..84180c356 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedArrayListProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedArrayListProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.ArrayList; @@ -32,6 +32,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * ArrayList proxy with delay loading capability. Allows non-indexed diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedHashSetProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedHashSetProxy.java similarity index 97% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedHashSetProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedHashSetProxy.java index cb142f56d..8d5a94f1f 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedHashSetProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedHashSetProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.Collection; @@ -30,6 +30,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * HashSet proxy with delay loading capability. Allows non-indexed add and diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedLinkedHashSetProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedLinkedHashSetProxy.java similarity index 97% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedLinkedHashSetProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedLinkedHashSetProxy.java index a15618771..0eaf887d8 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedLinkedHashSetProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedLinkedHashSetProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.Collection; @@ -30,6 +30,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * LinkedHashSet proxy with delay loading capability. Allows non-indexed diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedLinkedListProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedLinkedListProxy.java similarity index 98% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedLinkedListProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedLinkedListProxy.java index 77562c628..edf3e413b 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedLinkedListProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedLinkedListProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.Collection; @@ -32,6 +32,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * LinkedList proxy with delay loading capability. Allows non-indexed diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedPriorityQueueProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedPriorityQueueProxy.java similarity index 97% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedPriorityQueueProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedPriorityQueueProxy.java index 54283b9ec..9256a5ec1 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedPriorityQueueProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedPriorityQueueProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.Collection; @@ -31,6 +31,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * PriorityQueue proxy with delay loading capability. Allows non-indexed diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedProxy.java similarity index 98% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedProxy.java index ebbb24eaa..53c38640f 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.OpenJPAStateManager; diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedTreeSetProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedTreeSetProxy.java similarity index 97% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedTreeSetProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedTreeSetProxy.java index 0bdbb4b24..8890f6449 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedTreeSetProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedTreeSetProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.Collection; @@ -32,6 +32,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * TreeSet proxy with delay loading capability. Allows non-indexed diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedVectorProxy.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedVectorProxy.java similarity index 98% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedVectorProxy.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedVectorProxy.java index d71495030..d222d3018 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/DelayedVectorProxy.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/DelayedVectorProxy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.ObjectStreamException; import java.util.Collection; @@ -33,6 +33,11 @@ import org.apache.openjpa.kernel.Broker; import org.apache.openjpa.kernel.BrokerFactory; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.DelayedCollectionChangeTrackerImpl; +import org.apache.openjpa.util.Proxies; +import org.apache.openjpa.util.Proxy; /** * Vector proxy with delay loading capability. Allows non-indexed diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyBean.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyBean.java similarity index 93% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyBean.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyBean.java index cad7c64ba..477fe1627 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyBean.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyBean.java @@ -16,7 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; + +import org.apache.openjpa.util.Proxy; /** * Interface implemented by all generated custom types, which use JavaBean diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCalendar.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCalendar.java similarity index 93% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCalendar.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCalendar.java index 068992484..6dbe6a700 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCalendar.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCalendar.java @@ -16,7 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; + +import org.apache.openjpa.util.Proxy; /** * Interface implemented by all generated proxies on {@link java.util.Calendar} diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollection.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCollection.java similarity index 94% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollection.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCollection.java index b77c902a9..2fd8eaf9c 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollection.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCollection.java @@ -16,11 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.util.Collection; import java.util.Comparator; +import org.apache.openjpa.util.Proxy; + /** * Interface implemented by all proxy collection types. * diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCollections.java similarity index 99% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCollections.java index 9f94c530d..31de8f5b8 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyCollections.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyCollections.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.util.ArrayList; import java.util.Collection; @@ -31,6 +31,9 @@ import org.apache.openjpa.kernel.BrokerImpl; import org.apache.openjpa.kernel.DetachedValueStateManager; import org.apache.openjpa.kernel.OpenJPAStateManager; import org.apache.openjpa.kernel.StateManagerImpl; +import org.apache.openjpa.util.ChangeTracker; +import org.apache.openjpa.util.CollectionChangeTracker; +import org.apache.openjpa.util.Proxies; /** * Utility methods used by collection proxies. diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyConcurrentMaps.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyConcurrentMaps.java similarity index 87% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyConcurrentMaps.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyConcurrentMaps.java index ad3f5194f..f2d32ec7e 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyConcurrentMaps.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyConcurrentMaps.java @@ -16,10 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.util.Map; +import org.apache.openjpa.util.MapChangeTracker; +import org.apache.openjpa.util.Proxies; + /** * Utility methods used by concurrent map proxies. * @@ -29,7 +32,7 @@ public class ProxyConcurrentMaps extends ProxyMaps { * Call before invoking {@link Map#remove(key, value) } on super. */ public static boolean beforeRemove(ProxyMap map, Object key, Object value) { - dirty(map, false); + Proxies.dirty(map, false); return map.containsKey(key); } @@ -46,8 +49,8 @@ public class ProxyConcurrentMaps extends ProxyMaps { if (map.getChangeTracker() != null) { ((MapChangeTracker) map.getChangeTracker()).removed(key, ret); } - removed(map, key, true); - removed(map, ret, false); + Proxies.removed(map, key, true); + Proxies.removed(map, ret, false); } return ret; } diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyDate.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyDate.java similarity index 93% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyDate.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyDate.java index ae783fa9d..8fcf043f4 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyDate.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyDate.java @@ -16,7 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; + +import org.apache.openjpa.util.Proxy; /** * Interface implemented by all generated proxies on {@link java.util.Date} diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMap.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyMap.java similarity index 94% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMap.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyMap.java index c6b2017cc..ea04f365f 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMap.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyMap.java @@ -16,11 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.util.Comparator; import java.util.Map; +import org.apache.openjpa.util.Proxy; + /** * Interface implemented by proxies on {@link Map} types. * diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyMaps.java similarity index 98% rename from openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java rename to openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyMaps.java index 3a73d2501..6d89c504b 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/proxy/ProxyMaps.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openjpa.util; +package org.apache.openjpa.util.proxy; import java.io.InputStream; import java.io.ObjectStreamException; @@ -27,6 +27,9 @@ import java.util.Map; import java.util.Properties; import java.util.Set; +import org.apache.openjpa.util.MapChangeTracker; +import org.apache.openjpa.util.Proxies; + /** * Utility methods used by map proxies. * diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestCalendarField.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestCalendarField.java index 90bf2d95f..83a462f1c 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestCalendarField.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestCalendarField.java @@ -26,7 +26,7 @@ import java.util.TimeZone; import org.apache.openjpa.persistence.simple.TemporalFieldTypes; import org.apache.openjpa.persistence.test.SingleEMTestCase; -import org.apache.openjpa.util.ProxyCalendar; +import org.apache.openjpa.util.proxy.ProxyCalendar; public class TestCalendarField extends SingleEMTestCase { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java index 8680f029f..291aefa5c 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java @@ -73,7 +73,7 @@ import org.apache.openjpa.util.CacheMap; import org.apache.openjpa.util.Id; import org.apache.openjpa.util.ImplHelper; import org.apache.openjpa.util.OpenJPAException; -import org.apache.openjpa.util.ProxyDate; +import org.apache.openjpa.util.proxy.ProxyDate; import junit.framework.AssertionFailedError; diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestProxyCollection.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestProxyCollection.java index 95769e9dc..045dbcfa5 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestProxyCollection.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/TestProxyCollection.java @@ -24,7 +24,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.persistence.test.SingleEMFTestCase; import org.apache.openjpa.util.ChangeTracker; -import org.apache.openjpa.util.ProxyCollection; +import org.apache.openjpa.util.proxy.ProxyCollection; /** * Tests proxying and change tracking of collection fields for modification in diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/DelayedProxyCollectionsTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/DelayedProxyCollectionsTestCase.java index 849c7bf75..db03cf02a 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/DelayedProxyCollectionsTestCase.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/DelayedProxyCollectionsTestCase.java @@ -33,9 +33,9 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.kernel.DetachedStateManager; import org.apache.openjpa.persistence.test.SQLListenerTestCase; -import org.apache.openjpa.util.DelayedProxy; +import org.apache.openjpa.util.proxy.DelayedProxy; import org.apache.openjpa.util.Proxy; -import org.apache.openjpa.util.ProxyCollection; +import org.apache.openjpa.util.proxy.ProxyCollection; /** * Verifies generic delay-load capabilities for delay-load collection proxies. diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/alist/TestDelayedArrayListProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/alist/TestDelayedArrayListProxyDetachLite.java index 5d61568e9..bb217efa0 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/alist/TestDelayedArrayListProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/alist/TestDelayedArrayListProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedArrayListProxy; +import org.apache.openjpa.util.proxy.DelayedArrayListProxy; public class TestDelayedArrayListProxyDetachLite extends TestDelayedArrayListProxy { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/hset/TestDelayedHashSetProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/hset/TestDelayedHashSetProxyDetachLite.java index 194215798..b13af1f83 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/hset/TestDelayedHashSetProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/hset/TestDelayedHashSetProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedHashSetProxy; +import org.apache.openjpa.util.proxy.DelayedHashSetProxy; public class TestDelayedHashSetProxyDetachLite extends TestDelayedHashSetProxy { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/lhset/TestDelayedLinkedHashSetProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/lhset/TestDelayedLinkedHashSetProxyDetachLite.java index dbd70f361..c232c3166 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/lhset/TestDelayedLinkedHashSetProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/lhset/TestDelayedLinkedHashSetProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedLinkedHashSetProxy; +import org.apache.openjpa.util.proxy.DelayedLinkedHashSetProxy; public class TestDelayedLinkedHashSetProxyDetachLite extends TestDelayedLinkedHashSetProxy { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/llist/TestDelayedLinkedListProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/llist/TestDelayedLinkedListProxyDetachLite.java index b56faf693..c491653e8 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/llist/TestDelayedLinkedListProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/llist/TestDelayedLinkedListProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedLinkedListProxy; +import org.apache.openjpa.util.proxy.DelayedLinkedListProxy; public class TestDelayedLinkedListProxyDetachLite extends TestDelayedLinkedListProxy { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/pqueue/TestDelayedPriorityQueueProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/pqueue/TestDelayedPriorityQueueProxyDetachLite.java index 9026a0cc8..c4c32d77c 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/pqueue/TestDelayedPriorityQueueProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/pqueue/TestDelayedPriorityQueueProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedPriorityQueueProxy; +import org.apache.openjpa.util.proxy.DelayedPriorityQueueProxy; public class TestDelayedPriorityQueueProxyDetachLite extends TestDelayedPriorityQueueProxy { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/tset/TestDelayedTreeSetProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/tset/TestDelayedTreeSetProxyDetachLite.java index 9ea4d3713..fd8b2e8c7 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/tset/TestDelayedTreeSetProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/tset/TestDelayedTreeSetProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedTreeSetProxy; +import org.apache.openjpa.util.proxy.DelayedTreeSetProxy; public class TestDelayedTreeSetProxyDetachLite extends TestDelayedTreeSetProxy { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/vec/TestDelayedVectorProxyDetachLite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/vec/TestDelayedVectorProxyDetachLite.java index 7b17b6116..de5334da0 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/vec/TestDelayedVectorProxyDetachLite.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/proxy/delayed/vec/TestDelayedVectorProxyDetachLite.java @@ -25,7 +25,7 @@ import jakarta.persistence.EntityManager; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.persistence.proxy.delayed.IDepartment; import org.apache.openjpa.persistence.proxy.delayed.IEmployee; -import org.apache.openjpa.util.DelayedVectorProxy; +import org.apache.openjpa.util.proxy.DelayedVectorProxy; public class TestDelayedVectorProxyDetachLite extends TestDelayedVectorProxy { diff --git a/openjpa-project/src/doc/manual/ref_guide_pc.xml b/openjpa-project/src/doc/manual/ref_guide_pc.xml index 56dcfabbc..bd3049ddf 100644 --- a/openjpa-project/src/doc/manual/ref_guide_pc.xml +++ b/openjpa-project/src/doc/manual/ref_guide_pc.xml @@ -1495,7 +1495,7 @@ operations on collections without requiring them to be loaded. Delayed proxies a loaded when an operation is performed that requires loading, such as iteration, size, serialization, and indexOf. They can also be loaded by casting the proxy to a <ulink url="../../apidocs/org/apache/openjpa/util/DelayedProxy.html"><classname> -org.apache.openjpa.util.DelayedProxy</classname></ulink> and invoking the + org.apache.openjpa.util.proxy.DelayedProxy</classname></ulink> and invoking the <methodname>load</methodname> method. If a broker factory is available after detaching the owning entity, a collection may be available for delayed loading after the persistence context has been cleared. In post-detachment, entities that are loaded are not associated with a persistence context.