Browse Source

small bug fix faster searching

Teh-Hai Julian Zheng 8 years ago
parent
commit
4d2cd6b233

+ 2 - 20
src/classes/HolonObject.java

@@ -40,10 +40,9 @@ public class HolonObject extends CpsObject {
 
 	public HolonObject(CpsObject obj) {
 		super(obj);
-
-		//setElements(((HolonObject) obj).getCopyofElements());
-		setEleIdx(MultiPurposeController.copyHashMap(((HolonObject) obj).getEleIdx()));
 		setElements(MultiPurposeController.copyArrayList(((HolonObject)obj).getElements()));
+		setEleIdx(MultiPurposeController.copyHashMap(((HolonObject) obj).getEleIdx()));
+
 	}
 
 	/**
@@ -117,23 +116,6 @@ public class HolonObject extends CpsObject {
 		return objString;
 	}
 
-	/**
-	 * Copys the ArrayList
-	 * 
-	 * @param the
-	 *            ArrayList to Copy
-	 * 
-	 * @return the currentEnergy
-	 */
-	public ArrayList<HolonElement> getCopyofElements() {
-		ArrayList<HolonElement> temp = new ArrayList<>();
-		for (HolonElement h : elements) {
-			HolonElement he = new HolonElement(h);
-			temp.add(he);
-		}
-		return temp;
-	}
-
 	/**
 	 * @return the eleIdx
 	 */

+ 5 - 2
src/ui/controller/CanvasController.java

@@ -28,11 +28,14 @@ public class CanvasController {
 		MODEL.getCvsObjIdx().put(object.getID(), MODEL.getObjectsOnCanvas().size());
 		MODEL.getObjectsOnCanvas().add(object);
 		notifyObjListeners();
-		// System.out.println("Added: " + objName);
 	}
 
+	/**
+	 * 
+	 * @param object
+	 */
 	public void addNewObject(CpsObject object) {
-		object.setSav("Canvas");
+		object.setSav("CVS");
 		object.setConnections(new ArrayList<>());
 		addObject(object);
 	}

+ 9 - 3
src/ui/controller/LoadController.java

@@ -4,6 +4,8 @@ import java.awt.Point;
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 
@@ -78,6 +80,11 @@ public class LoadController {
 				else
 					idCounter.setCounter(Integer.parseInt(json.get(key.toString()).toString()));
 			}
+			
+			Collections.sort(obj);
+			Collections.sort(ele);
+			Collections.sort(edge);
+			Collections.sort(gp);
 
 			dispatch(obj, json);
 			dispatch(ele, json);
@@ -105,7 +112,6 @@ public class LoadController {
 			} else if (str.contains("CVSO")) {
 				readCanvasObject((JSONArray) json.get(str));
 			} else if (str.contains("CGE") || str.contains("CVSE")) {
-				System.out.println(str.toString());
 				readElement((JSONArray) json.get(str));
 			} else if (str.contains("EDGE")) {
 				readEdge((JSONArray) json.get(str));
@@ -192,7 +198,7 @@ public class LoadController {
 
 		HolonElement ele = new HolonElement(next(i), Integer.parseInt(next(i)), Float.parseFloat(next(i)));
 
-		if (sav.equals("Canvas")) {
+		if (sav.equals("CVS")) {
 			ele.setActive(compare(Integer.parseInt(next(i))));
 			objC.addElementIntoCanvasObject((HolonObject) mpC.searchByID(Integer.parseInt(obj)), ele);
 		} else
@@ -219,7 +225,7 @@ public class LoadController {
 		String sav = next(i);
 		HolonElement ele;
 
-		if (sav.equals("Canvas")) {
+		if (sav.equals("CVS")) {
 			ele = mpC.searchHolonElement((HolonObject) mpC.searchByID(Integer.parseInt(next(i))), next(i));
 			while (i.hasNext())
 				ele.getGraphPoints().add(new Point(Integer.parseInt(next(i)), Integer.parseInt(next(i))));

+ 2 - 3
src/ui/controller/MultiPurposeController.java

@@ -1,6 +1,7 @@
 package ui.controller;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map.Entry;
@@ -126,9 +127,7 @@ public class MultiPurposeController {
 	 */
 	public static <T> ArrayList<T> copyArrayList(ArrayList<T> arr) {
 		ArrayList<T> newArr = new ArrayList<>();
-		for (T t : arr) {
-			newArr.add(t);
-		}
+		Collections.copy(newArr, arr);
 		return newArr;
 	}
 

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

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