|
@@ -2,6 +2,7 @@ package ui.controller;
|
|
|
|
|
|
import classes.*;
|
|
import classes.*;
|
|
|
|
|
|
|
|
+import com.google.gson.JsonArray;
|
|
import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonParser;
|
|
import com.google.gson.JsonParser;
|
|
@@ -158,25 +159,60 @@ public class LoadController {
|
|
for (String key : keys) {
|
|
for (String key : keys) {
|
|
if (key.contains("CATEGORY"))
|
|
if (key.contains("CATEGORY"))
|
|
loadCategory(json.get(key));
|
|
loadCategory(json.get(key));
|
|
- if (key.contains("CGOBJECT"))
|
|
|
|
|
|
+ else if (key.contains("CGOBJECT"))
|
|
loadCategoryObject(json.get(key));
|
|
loadCategoryObject(json.get(key));
|
|
- if (key.contains("CGELEMENT"))
|
|
|
|
|
|
+ else if (key.contains("CGELEMENT"))
|
|
loadCategoryElements(json.get(key), eleDispatch);//TODO
|
|
loadCategoryElements(json.get(key), eleDispatch);//TODO
|
|
- if (key.contains("CVSOBJECT"))
|
|
|
|
|
|
+ else if (key.contains("CVSOBJECT"))
|
|
loadCanvasObject(json.get(key), objDispatch);
|
|
loadCanvasObject(json.get(key), objDispatch);
|
|
- if (key.contains("CVSELEMENT"))
|
|
|
|
|
|
+ else if (key.contains("CVSELEMENT"))
|
|
loadCanvasElements(json.get(key), objDispatch, eleDispatch);
|
|
loadCanvasElements(json.get(key), objDispatch, eleDispatch);
|
|
- if (key.contains("SWUNITGRAPH"))
|
|
|
|
|
|
+ else if (key.contains("SWUNITGRAPH"))
|
|
loadUnitGraph(GRAPHTYPE.SWITCH, json.get(key), objDispatch, null);
|
|
loadUnitGraph(GRAPHTYPE.SWITCH, json.get(key), objDispatch, null);
|
|
- if (key.contains("ELEUNITGRAPH"))
|
|
|
|
|
|
+ else if (key.contains("ELEUNITGRAPH"))
|
|
loadUnitGraph(GRAPHTYPE.ELEMENT, json.get(key), null, eleDispatch);
|
|
loadUnitGraph(GRAPHTYPE.ELEMENT, json.get(key), null, eleDispatch);
|
|
- if (key.contains("ELETESTUNITGRAPH"))
|
|
|
|
|
|
+ else if (key.contains("ELETESTUNITGRAPH"))
|
|
loadUnitGraph(GRAPHTYPE.TESTELEMENT, json.get(key), null, eleDispatch);
|
|
loadUnitGraph(GRAPHTYPE.TESTELEMENT, json.get(key), null, eleDispatch);
|
|
|
|
+ else if (key.contains("HolonStructure")) {
|
|
|
|
+ laodHolonStructure(json.get(key), objDispatch);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
|
|
+ private void laodHolonStructure(JsonElement jsonElement, HashMap<Integer, AbstractCanvasObject> objDispatch) {
|
|
|
|
+ JsonObject holonStructure = jsonElement.getAsJsonObject();
|
|
|
|
+ model.getStateHolon().removeAllRefrences();
|
|
|
|
+ JsonArray array = holonStructure.get("ChildHolons").getAsJsonArray();
|
|
|
|
+ for(JsonElement ele : array) {
|
|
|
|
+ deserializeHolon(model.getStateHolon(), ele.getAsJsonObject() , objDispatch);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ private void deserializeHolon(Holon parent, JsonObject holonJson,
|
|
|
|
+ HashMap<Integer, AbstractCanvasObject> objDispatch) {
|
|
|
|
+ int objId = holonJson.get("HolonObjectID").getAsInt();
|
|
|
|
+ String name = holonJson.get("Name").getAsString();
|
|
|
|
+ Holon created;
|
|
|
|
+ if(objId != -1) {
|
|
|
|
+ HolonObject holonObject = (HolonObject) objDispatch.get(objId);
|
|
|
|
+ created = new Holon(holonObject);
|
|
|
|
+ created.name = name;
|
|
|
|
+ }else {
|
|
|
|
+ created = new Holon(name);
|
|
|
|
+ }
|
|
|
|
+ JsonArray array = holonJson.get("ChildHolons").getAsJsonArray();
|
|
|
|
+ for(JsonElement ele : array) {
|
|
|
|
+ deserializeHolon(created, ele.getAsJsonObject() , objDispatch);
|
|
|
|
+ }
|
|
|
|
+ parent.addChild(created);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
* Init the Global Parameters
|
|
* Init the Global Parameters
|
|
*/
|
|
*/
|
|
private void initialize(JsonObject json) {
|
|
private void initialize(JsonObject json) {
|