You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by an...@apache.org on 2009/04/15 17:52:36 UTC
svn commit: r765247 - in /cayenne/main/trunk: docs/doc/src/main/resources/
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/
framew...
Author: andrey
Date: Wed Apr 15 15:52:36 2009
New Revision: 765247
URL: http://svn.apache.org/viewvc?rev=765247&view=rev
Log:
CAY-979 ROP client serialization mechanism dependencies
Fix & tests update & release notes
Removed:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/ServerAbstractQueryDeserializer.java
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/query/BaseQueryMetadata.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.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=765247&r1=765246&r2=765247&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 Apr 15 15:52:36 2009
@@ -38,6 +38,7 @@
CAY-940 CayenneModeler fails on load of existing project file or upon creation of new project on IBM's Java 1.6.0 SDK on 32-bit ppc
CAY-947 Database Schema Migration should sort tokens
+CAY-979 ROP client serialization mechanism dependencies
CAY-1139 EJBQL condition translation - must track the type of condition
CAY-1143 CayenneModeler 'Import DataMap' function error
CAY-1144 EJBQL mixed GROUP BY clause is generated incorrectly
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java?rev=765247&r1=765246&r2=765247&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java Wed Apr 15 15:52:36 2009
@@ -98,6 +98,16 @@
if (root != null) {
if (root instanceof Class) {
entity = resolver.lookupObjEntity((Class<?>) root);
+ if (entity == null) { //entity not found, try to resolve it with client resolver
+ EntityResolver clientResolver = resolver.getClientEntityResolver();
+ if (clientResolver != resolver) {
+ ObjEntity clientEntity = clientResolver.lookupObjEntity((Class<?>) root);
+
+ if (clientEntity != null) {
+ entity = resolver.getObjEntity(clientEntity.getName());
+ }
+ }
+ }
if (entity != null) {
this.dbEntity = entity.getDbEntity();
@@ -138,6 +148,7 @@
this.lastRoot = root;
this.lastEntityResolver = resolver;
+
return true;
}
@@ -324,6 +335,7 @@
/**
* @deprecated since 3.0 {@link #getCacheStrategy()} replaces this method.
*/
+ @Deprecated
public String getCachePolicy() {
if (cacheStrategy == null) {
return QueryMetadata.CACHE_POLICY_DEFAULT;
@@ -350,6 +362,7 @@
* @deprecated since 3.0 {@link #setCacheStrategy(QueryCacheStrategy)} replaces this
* method.
*/
+ @Deprecated
void setCachePolicy(String policy) {
if (policy == null) {
cacheStrategy = null;
@@ -428,6 +441,7 @@
/**
* @deprecated since 3.0
*/
+ @Deprecated
public int getFetchStartIndex() {
return getFetchOffset();
}
@@ -439,6 +453,7 @@
/**
* @deprecated since 3.0. Inheritance resolving is not optional anymore.
*/
+ @Deprecated
public boolean isResolvingInherited() {
return true;
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.java?rev=765247&r1=765246&r2=765247&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/ServerSerializerFactory.java Wed Apr 15 15:52:36 2009
@@ -19,12 +19,7 @@
package org.apache.cayenne.remote.hessian.service;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.cayenne.DataRow;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.query.AbstractQuery;
import org.apache.cayenne.util.PersistentObjectList;
import com.caucho.hessian.io.AbstractSerializerFactory;
@@ -38,23 +33,14 @@
* @since 1.2
*/
class ServerSerializerFactory extends AbstractSerializerFactory {
-
- private EntityResolver serverResolver;
-
private ServerPersistentObjectListSerializer persistentObjectListSerializer;
private ServerDataRowSerializer dataRowSerilaizer;
- private Map<Class, Deserializer> deserializers;
ServerSerializerFactory() {
this.persistentObjectListSerializer = new ServerPersistentObjectListSerializer();
this.dataRowSerilaizer = new ServerDataRowSerializer();
}
- // this method is used by HessianCOnfig to inject resolver
- void setEntityResolver(EntityResolver resolver) {
- this.serverResolver = resolver;
- }
-
@Override
public Serializer getSerializer(Class cl) throws HessianProtocolException {
@@ -70,30 +56,6 @@
@Override
public Deserializer getDeserializer(Class cl) throws HessianProtocolException {
- Deserializer deserializer = null;
-
- if (AbstractQuery.class.isAssignableFrom(cl)) {
-
- synchronized (this) {
-
- if (deserializers != null) {
- deserializer = deserializers.get(cl);
- }
-
- if (deserializer == null) {
- deserializer = new ServerAbstractQueryDeserializer(cl, serverResolver
- .getClientEntityResolver());
-
- if (deserializers == null) {
- deserializers = new HashMap<Class, Deserializer>();
- }
-
- deserializers.put(cl, deserializer);
- }
- }
-
- }
-
- return deserializer;
+ return null;
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java?rev=765247&r1=765246&r2=765247&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java Wed Apr 15 15:52:36 2009
@@ -35,6 +35,21 @@
protected DataContext parentDataContext;
+ /**
+ * Used serialization policy. Per CAY-979 we're testing on all policies
+ */
+ protected int serializationPolicy;
+
+ @Override
+ public void runBare() throws Throwable {
+ serializationPolicy = LocalConnection.HESSIAN_SERIALIZATION;
+ super.runBare();
+ serializationPolicy = LocalConnection.JAVA_SERIALIZATION;
+ super.runBare();
+ serializationPolicy = LocalConnection.NO_SERIALIZATION;
+ super.runBare();
+ }
+
@Override
public void setUp() throws Exception {
parentDataContext = createDataContext();
@@ -45,7 +60,7 @@
ClientServerChannel clientServerChannel = new ClientServerChannel(parentDataContext);
UnitLocalConnection connection = new UnitLocalConnection(
clientServerChannel,
- LocalConnection.HESSIAN_SERIALIZATION);
+ serializationPolicy);
ClientChannel channel = new ClientChannel(connection);
return new CayenneContext(channel, true, true);
}