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);
