You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/01/23 12:08:43 UTC
svn commit: r614492 - in /cayenne/main/trunk:
docs/doc/src/main/resources/RELEASE-NOTES.txt
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientEntityResolver.java
Author: aadamchik
Date: Wed Jan 23 03:08:39 2008
New Revision: 614492
URL: http://svn.apache.org/viewvc?rev=614492&view=rev
Log:
CAY-976 EntityResolver Fault dependency leads to ClassNotFound on the ROP client - trunk fix
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientEntityResolver.java
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=614492&r1=614491&r2=614492&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Wed Jan 23 03:08:39 2008
@@ -64,6 +64,7 @@
CAY-932 Cancel doesn't cancel when quitting CM with a modified model
CAY-967 Caching doesn't work for paginated queries
CAY-974 Subquery EJBQL returns wrong entity in the result
+CAY-976 EntityResolver Fault dependency leads to ClassNotFound on the ROP client
----------------------------------
Release: 3.0M2
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientEntityResolver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientEntityResolver.java?rev=614492&r1=614491&r2=614492&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientEntityResolver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ClientEntityResolver.java Wed Jan 23 03:08:39 2008
@@ -19,6 +19,8 @@
package org.apache.cayenne.map;
import org.apache.cayenne.reflect.ClassDescriptorFactory;
+import org.apache.cayenne.reflect.ClassDescriptorMap;
+import org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory;
/**
* An EntityResolver subclass that uses a different default {@link ClassDescriptorFactory}
@@ -35,5 +37,29 @@
@Override
public EntityResolver getClientEntityResolver() {
return this;
+ }
+
+ @Override
+ public ClassDescriptorMap getClassDescriptorMap() {
+
+ if (classDescriptorMap == null) {
+ ClassDescriptorMap classDescriptorMap = new ClassDescriptorMap(this);
+
+ classDescriptorMap.addFactory(new ValueHolderDescriptorFactory(
+ classDescriptorMap));
+
+ // since ClassDescriptorMap is not synchronized, we need to prefill it with
+ // entity proxies here.
+ for (DataMap map : maps) {
+ for (String entityName : map.getObjEntityMap().keySet()) {
+ classDescriptorMap.getDescriptor(entityName);
+ }
+ }
+
+ this.classDescriptorMap = classDescriptorMap;
+ }
+
+ return classDescriptorMap;
+
}
}