Repository: cayenne
Updated Branches:
  refs/heads/master 9aba7ec6b -> 60a66d813


Cleanup some unused variables, tidy formatting and add generics.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/f7c02d11
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/f7c02d11
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/f7c02d11

Branch: refs/heads/master
Commit: f7c02d1163d637029687175a5db4782316deec73
Parents: 1448a19
Author: Aristedes Maniatis <a...@ish.com.au>
Authored: Thu Dec 17 19:35:13 2015 +1100
Committer: Aristedes Maniatis <a...@ish.com.au>
Committed: Thu Dec 17 19:35:13 2015 +1100

----------------------------------------------------------------------
 .../apache/cayenne/remote/ClientChannel.java    | 57 ++++++--------------
 1 file changed, 17 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/f7c02d11/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
----------------------------------------------------------------------
diff --git 
a/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java 
b/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
index 5b9d240..b917e49 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/remote/ClientChannel.java
@@ -19,16 +19,7 @@
 
 package org.apache.cayenne.remote;
 
-import java.util.List;
-import java.util.ListIterator;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.DataChannelSyncCallbackAction;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.*;
 import org.apache.cayenne.event.EventBridge;
 import org.apache.cayenne.event.EventManager;
 import org.apache.cayenne.event.EventSubject;
@@ -43,6 +34,9 @@ import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.util.DeepMergeOperation;
 import org.apache.cayenne.util.ToStringBuilder;
 
+import java.util.List;
+import java.util.ListIterator;
+
 /**
  * A {@link org.apache.cayenne.DataChannel} implementation that accesses a 
remote server
  * via a ClientConnection.
@@ -75,14 +69,11 @@ public class ClientChannel implements DataChannel {
 
         if (!remoteEventsOptional) {
             setupRemoteChannelListener();
-        }
-        else {
+        } else {
             try {
                 setupRemoteChannelListener();
             }
-            catch (CayenneRuntimeException e) {
-
-            }
+            catch (CayenneRuntimeException e) {}
         }
     }
 
@@ -106,9 +97,7 @@ public class ClientChannel implements DataChannel {
 
     public QueryResponse onQuery(ObjectContext context, Query query) {
 
-        QueryResponse response = (QueryResponse) send(
-                new QueryMessage(query),
-                QueryResponse.class);
+        QueryResponse response = send( new QueryMessage(query), 
QueryResponse.class);
 
         // if needed, register objects in provided context, rewriting the 
response
         // (assuming all lists are mutable)
@@ -132,21 +121,16 @@ public class ClientChannel implements DataChannel {
                             DeepMergeOperation merger = new 
DeepMergeOperation(context);
                             List<Object> rsMapping = 
info.getResultSetMapping();
                             if (rsMapping == null) {
-                                convertSingleObjects(resolver, objects, 
merger);
+                                convertSingleObjects(objects, merger);
                             }
                             else {
                                 if (rsMapping.size() == 1) {
                                     if (rsMapping.get(0) instanceof 
EntityResultSegment) {
-                                        convertSingleObjects(resolver, 
objects, merger);
+                                        convertSingleObjects(objects, merger);
                                     }
                                 }
                                 else {
-                                    processMixedResult(
-                                            resolver,
-                                            objects,
-                                            merger,
-                                            rsMapping);
-
+                                    processMixedResult(objects, merger, 
rsMapping);
                                 }
                             }
                         }
@@ -159,7 +143,6 @@ public class ClientChannel implements DataChannel {
     }
 
     private void processMixedResult(
-            EntityResolver resolver,
             List<Object[]> objects,
             DeepMergeOperation merger,
             List<Object> rsMapping) {
@@ -168,28 +151,22 @@ public class ClientChannel implements DataChannel {
         for (int i = 0; i < width; i++) {
             if (rsMapping.get(i) instanceof EntityResultSegment) {
                 for (Object[] object : objects) {
-                    object[i] = convertObject(resolver, merger, (Persistent) 
object[i]);
+                    object[i] = convertObject(merger, (Persistent) object[i]);
                 }
             }
         }
     }
 
-    private void convertSingleObjects(
-            EntityResolver resolver,
-            List objects,
-            DeepMergeOperation merger) {
+    private void convertSingleObjects(List objects, DeepMergeOperation merger) 
{
 
         ListIterator it = objects.listIterator();
         while (it.hasNext()) {
             Object next = it.next();
-            it.set(convertObject(resolver, merger, (Persistent) next));
+            it.set(convertObject( merger, (Persistent) next));
         }
     }
 
-    private Object convertObject(
-            EntityResolver resolver,
-            DeepMergeOperation merger,
-            Persistent object) {
+    private Object convertObject(DeepMergeOperation merger, Persistent object) 
{
 
         ObjectId id = object.getObjectId();
 
@@ -217,7 +194,7 @@ public class ClientChannel implements DataChannel {
 
         changes = diffCompressor.compress(changes);
 
-        GraphDiff replyDiff = (GraphDiff) send(new SyncMessage(
+        GraphDiff replyDiff = send(new SyncMessage(
                 originatingContext,
                 syncType,
                 changes), GraphDiff.class);
@@ -322,7 +299,7 @@ public class ClientChannel implements DataChannel {
      * @throws org.apache.cayenne.CayenneRuntimeException if an underlying 
connector
      *             exception occurred, or a result is not of expected type.
      */
-    protected Object send(ClientMessage message, Class<?> resultClass) {
+    protected <T extends Object> T send(ClientMessage message, Class<T> 
resultClass) {
         Object result = connection.sendMessage(message);
 
         if (result != null && !resultClass.isInstance(result)) {
@@ -333,6 +310,6 @@ public class ClientChannel implements DataChannel {
                     + resultString);
         }
 
-        return result;
+        return resultClass.cast(result);
     }
 }

Reply via email to