Remove the hard-coded package assumption in Command serialization.

This commit is contained in:
Min Chen 2013-05-06 15:11:42 -07:00
parent db65dfbb12
commit 4db84fb45e

View File

@ -39,8 +39,6 @@ public class ArrayTypeAdaptor<T> implements JsonDeserializer<T[]>, JsonSerialize
protected Gson _gson = null;
private static final String s_pkg = Command.class.getPackage().getName() + ".";
public ArrayTypeAdaptor() {
}
@ -53,7 +51,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().substring(s_pkg.length()), _gson.toJsonTree(cmd));
obj.add(cmd.getClass().getName(), _gson.toJsonTree(cmd));
array.add(obj);
}
@ -71,7 +69,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 = s_pkg + entry.getKey();
String name = entry.getKey();
Class<?> clazz;
try {
clazz = Class.forName(name);