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 <[email protected]>
Authored: Wed Jul 24 15:59:09 2013 +0200
Committer: Wido den Hollander <[email protected]>
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);

Reply via email to