|
@@ -1,6 +1,7 @@
|
|
package com.persagy.adm.diagram.core.util;
|
|
package com.persagy.adm.diagram.core.util;
|
|
|
|
|
|
import com.google.gson.*;
|
|
import com.google.gson.*;
|
|
|
|
+import com.persagy.adm.diagram.core.model.DiagramNode;
|
|
import com.persagy.adm.diagram.core.model.EquipmentNode;
|
|
import com.persagy.adm.diagram.core.model.EquipmentNode;
|
|
import com.persagy.adm.diagram.core.model.Label;
|
|
import com.persagy.adm.diagram.core.model.Label;
|
|
import com.persagy.adm.diagram.core.model.base.Container;
|
|
import com.persagy.adm.diagram.core.model.base.Container;
|
|
@@ -29,6 +30,7 @@ public class GsonUtil {
|
|
GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
|
|
GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
|
|
gsonBuilder.registerTypeAdapter(IComponent.class, new CompAdapter());
|
|
gsonBuilder.registerTypeAdapter(IComponent.class, new CompAdapter());
|
|
gsonBuilder.registerTypeAdapter(DataFilter.class, new FilterAdapter());
|
|
gsonBuilder.registerTypeAdapter(DataFilter.class, new FilterAdapter());
|
|
|
|
+ gsonBuilder.registerTypeAdapter(DiagramNode.class, new CompAdapter());
|
|
gson = gsonBuilder.create();
|
|
gson = gsonBuilder.create();
|
|
|
|
|
|
formattedGson = new GsonBuilder().setPrettyPrinting().create();
|
|
formattedGson = new GsonBuilder().setPrettyPrinting().create();
|
|
@@ -48,13 +50,13 @@ public class GsonUtil {
|
|
@Override
|
|
@Override
|
|
public IComponent deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
|
|
public IComponent deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
|
|
Class<? extends IComponent> target = Container.class;
|
|
Class<? extends IComponent> target = Container.class;
|
|
- if(Container.TYPE.equals(jsonElement.getAsJsonObject().get("compType")))
|
|
|
|
|
|
+ if(Container.TYPE.equals(jsonElement.getAsJsonObject().get("compType").getAsString()))
|
|
target = Container.class;
|
|
target = Container.class;
|
|
- else if(EquipmentNode.TYPE.equals(jsonElement.getAsJsonObject().get("compType")))
|
|
|
|
|
|
+ else if(EquipmentNode.TYPE.equals(jsonElement.getAsJsonObject().get("compType").getAsString()))
|
|
target = EquipmentNode.class;
|
|
target = EquipmentNode.class;
|
|
- else if(PackNode.TYPE.equals(jsonElement.getAsJsonObject().get("compType")))
|
|
|
|
|
|
+ else if(PackNode.TYPE.equals(jsonElement.getAsJsonObject().get("compType").getAsString()))
|
|
target = PackNode.class;
|
|
target = PackNode.class;
|
|
- else if(Label.TYPE.equals(jsonElement.getAsJsonObject().get("compType")))
|
|
|
|
|
|
+ else if(Label.TYPE.equals(jsonElement.getAsJsonObject().get("compType").getAsString()))
|
|
target = Label.class;
|
|
target = Label.class;
|
|
else {
|
|
else {
|
|
//TODO 其他类型
|
|
//TODO 其他类型
|