소스 검색

Split Up in storeController

Teh-Hai Julian Zheng 7 년 전
부모
커밋
f9274255d9
3개의 변경된 파일26개의 추가작업 그리고 15개의 파일을 삭제
  1. 2 2
      src/ui/controller/Control.java
  2. 1 1
      src/ui/controller/ObjectController.java
  3. 23 12
      src/ui/controller/StoreController.java

+ 2 - 2
src/ui/controller/Control.java

@@ -108,7 +108,7 @@ public class Control {
 
 	private void autoSave() throws IOException {
 		autoSaveController.increaseAutoSaveNr();
-		storeController.writeJSONFile(autoPath+autoSaveController.getAutoSaveNr());
+		storeController.writeSaveFile(autoPath+autoSaveController.getAutoSaveNr());
 	}
 
 	public void removeEdgesOnCanvas(CpsEdge edge) {
@@ -185,7 +185,7 @@ public class Control {
 
 	/* Operations for Loading and Storing */
 	public void saveFile(String path) throws IOException {
-		storeController.writeJSONFile(path);
+		storeController.writeSaveFile(path);
 	}
 
 	public void loadFile(String path) throws IOException {

+ 1 - 1
src/ui/controller/ObjectController.java

@@ -61,7 +61,7 @@ public class ObjectController {
 	public void addNewElementIntoCanvasObject(int id, String element, int amount, float energy) {
 		HolonElement ele = new HolonElement(element, amount, energy);
 		ele.setSav("CVS");
-		ele.setObj(mpC.searchByID(id).getObjName());
+		ele.setObj(Integer.toString(id));
 		addElementIntoCanvasObject((HolonObject) mpC.searchByID(id), ele);
 	}
 

+ 23 - 12
src/ui/controller/StoreController.java

@@ -33,20 +33,23 @@ public class StoreController {
 	 * 
 	 * @throws IOException
 	 */
-	public void writeJSONFile(String path) throws IOException {
+	public void writeSaveFile(String path) throws IOException {
 
 		JSONObject json = new JSONObject();
 
 		json.put("ID", idCounter.getCounter());
 		writeCategory(json);
-		writeObjects(json);
-		writeElements(json);
+		writeCategoryObjects(json);
+		writeCanvasObjects(json);
+		writeCategoryElements(json);
+		writeCanvasElements(json);
 		writeEdges(json);
 		writeElementGraph(json);
 
 		FileWriter writer = new FileWriter(path);
-		writer.write(json.toJSONString());getClass();
-		
+		writer.write(json.toJSONString());
+		getClass();
+
 		writer.flush();
 		writer.close();
 	}
@@ -71,7 +74,7 @@ public class StoreController {
 	 * 
 	 * @param json
 	 */
-	public void writeObjects(JSONObject json) {
+	public void writeCategoryObjects(JSONObject json) {
 
 		JSONArray arr = new JSONArray();
 		int i = 1;
@@ -85,8 +88,12 @@ public class StoreController {
 				json.put("CGO" + i++, arr);
 				arr = new JSONArray();
 			}
+	}
 
-		i = 1;
+	public void writeCanvasObjects(JSONObject json) {
+
+		JSONArray arr = new JSONArray();
+		int i = 1;
 		for (CpsObject cps : MODEL.getObjectsOnCanvas()) {
 			arr.add(getObjectType(cps));
 			arr.add(cps.getObjName());
@@ -97,8 +104,6 @@ public class StoreController {
 			arr.add(cps.getPosition().y);
 			json.put("CVSO" + i++, arr);
 			arr = new JSONArray();
-			;
-
 		}
 	}
 
@@ -107,7 +112,7 @@ public class StoreController {
 	 * 
 	 * @param json
 	 */
-	public void writeElements(JSONObject json) {
+	public void writeCategoryElements(JSONObject json) {
 
 		JSONArray arr = new JSONArray();
 		int i = 1;
@@ -125,12 +130,18 @@ public class StoreController {
 						arr = new JSONArray();
 					}
 
-		i = 1;
+		
+	}
+	
+	public void writeCanvasElements(JSONObject json) {
+		
+		JSONArray arr = new JSONArray();
+		int i = 1;
 		for (CpsObject cps : MODEL.getObjectsOnCanvas()) {
 			if (cps instanceof HolonObject)
 				for (HolonElement ele : ((HolonObject) cps).getElements()) {
 					arr.add(ele.getSav());
-					arr.add(cps.getID());
+					arr.add(ele.getObj());
 					arr.add(ele.getEleName());
 					arr.add(ele.getAmount());
 					arr.add(ele.getEnergy());