|
@@ -8,6 +8,10 @@ import java.util.ListIterator;
|
|
|
import org.json.simple.JSONArray;
|
|
|
import org.json.simple.JSONObject;
|
|
|
|
|
|
+import com.google.gson.Gson;
|
|
|
+import com.google.gson.GsonBuilder;
|
|
|
+
|
|
|
+import Serializer.PositionSerializer;
|
|
|
import classes.Category;
|
|
|
import classes.CpsEdge;
|
|
|
import classes.AbstractCpsObject;
|
|
@@ -16,6 +20,7 @@ import classes.HolonObject;
|
|
|
import classes.HolonSwitch;
|
|
|
import classes.HolonTransformer;
|
|
|
import classes.IdCounter;
|
|
|
+import classes.Position;
|
|
|
import ui.model.Model;
|
|
|
|
|
|
|
|
@@ -50,19 +55,27 @@ public class StoreController {
|
|
|
*/
|
|
|
public void writeSaveFile(String path) throws IOException {
|
|
|
|
|
|
+ Gson gson = new GsonBuilder().serializeNulls().excludeFieldsWithoutExposeAnnotation().registerTypeAdapter(Position.class, new PositionSerializer()).create();
|
|
|
+
|
|
|
JSONObject json = new JSONObject();
|
|
|
+ int i = 1;
|
|
|
|
|
|
- json.put("MODE", "ALL");
|
|
|
- json.put("ID", IdCounter.getCounter());
|
|
|
- json.put("SIZEX", model.getCanvasX());
|
|
|
- json.put("SIZEY", model.getCanvasY());
|
|
|
- writeCategory(json);
|
|
|
- writeCategoryObjects(json);
|
|
|
- writeCanvasObjects(json);
|
|
|
- writeCategoryElements(json);
|
|
|
- writeCanvasElements(json);
|
|
|
- writeEdges(json);
|
|
|
- writeElementGraph(json);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
|
|
|
+ gson.toJson(cps);
|
|
|
+ json.put("CVS" + i++, gson.toJson(cps));
|
|
|
+ }
|
|
|
|
|
|
FileWriter writer = new FileWriter(path);
|
|
|
writer.write(json.toJSONString());
|