You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2013/07/24 15:59:56 UTC

git commit: updated refs/heads/4.1 to a069f31

Updated Branches:
  refs/heads/4.1 74cb0e2b8 -> a069f31f5


Revert "CLOUDSTACK-3433: Relax the same package restriction for Command and its derived classes in ArrayTypeAdaptor<T>"

This commit broke compatibility between a 4.1.0 and 4.1.1 management server and/or client.

This reverts commit 73a6aa78854f379e6439bf22457094a5272cbfed.


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

Branch: refs/heads/4.1
Commit: a069f31f51d0ef1f255d85ef32d7649a5ec659c1
Parents: 74cb0e2
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Wed Jul 24 15:59:09 2013 +0200
Committer: Wido den Hollander <wi...@widodh.nl>
Committed: Wed Jul 24 15:59:09 2013 +0200

----------------------------------------------------------------------
 core/src/com/cloud/agent/transport/ArrayTypeAdaptor.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a069f31f/core/src/com/cloud/agent/transport/ArrayTypeAdaptor.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/agent/transport/ArrayTypeAdaptor.java b/core/src/com/cloud/agent/transport/ArrayTypeAdaptor.java
index ac9be93..8eddc03 100755
--- a/core/src/com/cloud/agent/transport/ArrayTypeAdaptor.java
+++ b/core/src/com/cloud/agent/transport/ArrayTypeAdaptor.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map;
 
+import com.cloud.agent.api.Command;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.google.gson.Gson;
 import com.google.gson.JsonArray;
@@ -37,6 +38,9 @@ public class ArrayTypeAdaptor<T> implements JsonDeserializer<T[]>, JsonSerialize
 
     protected Gson              _gson = null;
 
+
+    private static final String s_pkg = Command.class.getPackage().getName() + ".";
+
     public ArrayTypeAdaptor() {
     }
 
@@ -49,7 +53,7 @@ public class ArrayTypeAdaptor<T> implements JsonDeserializer<T[]>, JsonSerialize
         JsonArray array = new JsonArray();
         for (T cmd : src) {
             JsonObject obj = new JsonObject();
-            obj.add(cmd.getClass().getName(), _gson.toJsonTree(cmd));
+            obj.add(cmd.getClass().getName().substring(s_pkg.length()), _gson.toJsonTree(cmd));
             array.add(obj);
         }
 
@@ -67,7 +71,7 @@ public class ArrayTypeAdaptor<T> implements JsonDeserializer<T[]>, JsonSerialize
             JsonObject element = (JsonObject)it.next();
             Map.Entry<String, JsonElement> entry = element.entrySet().iterator().next();
 
-            String name = entry.getKey();
+            String name = s_pkg + entry.getKey();
             Class<?> clazz;
             try {
                 clazz = Class.forName(name);