|
@@ -138,24 +138,17 @@ public class LoadController {
|
|
|
* distribute the Edges
|
|
|
*/
|
|
|
private void forwardEdges(List<String> edges, JsonObject json, HashMap<Integer, AbstractCanvasObject> objDispatch) {
|
|
|
-
|
|
|
- List<String> conn = new ArrayList<>();
|
|
|
-
|
|
|
for (String edge : edges) {
|
|
|
if (edge.contains("CVSEDGE"))
|
|
|
loadEdge(EDGETYPE.CANVAS, json.get(edge), objDispatch);
|
|
|
if (edge.contains("CONNEDGE"))
|
|
|
- conn.add(edge);
|
|
|
+ loadEdge(EDGETYPE.CONNECTION, json.get(edge), objDispatch);
|
|
|
if (edge.contains("NODE"))
|
|
|
loadEdge(EDGETYPE.NODE, json.get(edge), objDispatch);
|
|
|
if (edge.contains("OLD"))
|
|
|
loadEdge(EDGETYPE.OLD, json.get(edge), objDispatch);
|
|
|
}
|
|
|
|
|
|
- for (String edge : conn) {
|
|
|
- loadEdge(EDGETYPE.CONNECTION, json.get(edge), objDispatch);
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
@@ -263,7 +256,18 @@ public class LoadController {
|
|
|
* Load a given Object in Canvas by Deserialization
|
|
|
*/
|
|
|
private void loadCanvasObject(JsonElement jsonElement, HashMap<Integer, AbstractCanvasObject> objDispatch) {
|
|
|
- AbstractCanvasObject temp = model.getGson().fromJson(jsonElement.getAsJsonObject(), AbstractCanvasObject.class);
|
|
|
+ AbstractCanvasObject temp = null;
|
|
|
+ if(jsonElement.getAsJsonObject().get("type").getAsString().equals("CpsUpperNode")) {
|
|
|
+
|
|
|
+ jsonElement.getAsJsonObject().addProperty("type", "GroupNode");
|
|
|
+ }
|
|
|
+ try{
|
|
|
+ temp = model.getGson().fromJson(jsonElement.getAsJsonObject(), AbstractCanvasObject.class);
|
|
|
+ }catch(java.lang.ClassCastException e) {
|
|
|
+ System.err.println("ClassRenameError");
|
|
|
+ e.printStackTrace();
|
|
|
+ return;
|
|
|
+ }
|
|
|
initObjects(temp);
|
|
|
temp.setImage(checkOS(temp.getImage()));
|
|
|
if (temp instanceof GroupNode) {
|
|
@@ -331,40 +335,7 @@ public class LoadController {
|
|
|
|
|
|
temp.setA(objDispatch.get(object.get("A").getAsInt()));
|
|
|
temp.setB(objDispatch.get(object.get("B").getAsInt()));
|
|
|
-
|
|
|
- int sav;
|
|
|
-
|
|
|
- switch (type) {
|
|
|
- case CANVAS:
|
|
|
-
|
|
|
- model.getEdgesOnCanvas().add(temp);
|
|
|
- break;
|
|
|
- case CONNECTION:
|
|
|
- if(temp.getA() == null || temp.getB() == null){
|
|
|
- System.err.println(temp.toString());
|
|
|
- new Error().getStackTrace();
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if (!uppC.lookforDuplicates(temp.getA(), temp.getB(), temp.getA().getConnections()))
|
|
|
- temp.getA().getConnections().add(temp);
|
|
|
- if (!uppC.lookforDuplicates(temp.getA(), temp.getB(), temp.getB().getConnections()))
|
|
|
- temp.getB().getConnections().add(temp);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if (object.get("connection").getAsBoolean() && !type.equals(EDGETYPE.CONNECTION)) {
|
|
|
- if(temp.getA() == null || temp.getB() == null){
|
|
|
- System.err.println("invaldid Connection loaded: " + temp.toString());
|
|
|
- new Error().printStackTrace();
|
|
|
- return;
|
|
|
- }
|
|
|
- temp.getA().getConnections().add(temp);
|
|
|
- temp.getB().getConnections().add(temp);
|
|
|
- }
|
|
|
-
|
|
|
+ model.getEdgesOnCanvas().add(temp);
|
|
|
}
|
|
|
|
|
|
|