Browse Source

cleanings

Teh-Hai Julian Zheng 8 years ago
parent
commit
8194966f98

+ 41 - 76
src/ui/controller/CategoryController.java

@@ -14,9 +14,11 @@ import ui.model.Model;
 
 public class CategoryController {
 	private Model MODEL;
+	private SearchController sC;
 
-	public CategoryController(Model model) {
+	public CategoryController(Model model, SearchController searchController) {
 		this.MODEL = model;
+		this.sC = searchController;
 		initCategories();
 	}
 
@@ -25,16 +27,15 @@ public class CategoryController {
 	 */
 	public void initCategories() {
 
-		
 		addNewCategory("Energy");
 		addNewCategory("Building");
 		addNewCategory("Component");
-		
-		addNewHolonObject(searchCatNode("Energy"), "Power Plant", new ArrayList<>(), "/Images/power-plant.png");
-		addNewHolonObject(searchCatNode("Building"), "House", new ArrayList<>(), "/Images/home-2.png");
-		addNewHolonTransformer(searchCatNode("Component"), "Transformer", "/Images/transformer-1.png");
-		addNewHolonSwitch(searchCatNode("Component"), "Switch", "/Images/switch-off.png");
-		
+
+		addNewHolonObject(sC.searchCategory("Energy"), "Power Plant", new ArrayList<>(), "/Images/power-plant.png");
+		addNewHolonObject(sC.searchCategory("Building"), "House", new ArrayList<>(), "/Images/home-2.png");
+		addNewHolonTransformer(sC.searchCategory("Component"), "Transformer", "/Images/transformer-1.png");
+		addNewHolonSwitch(sC.searchCategory("Component"), "Switch", "/Images/switch-off.png");
+
 	}
 
 	/**
@@ -44,15 +45,19 @@ public class CategoryController {
 	 * @param toAdd
 	 *            neue Kategorie
 	 */
-	public void addCategory(Category toAdd) {
-		int number = 0;
-		String name = toAdd.getName();
-		while (containsInList(MODEL.getCategories(), toAdd)) {
-			number++;
-			toAdd.setName(name + "_" + number);
+	public void addCategory(Category category) {
+		// int number = 0;
+		// String name = toAdd.getName();
+		// while (sC.containsInList(MODEL.getCategories(), toAdd)) {
+		// number++;
+		// toAdd.setName(name + "_" + number);
+		// }
+		int i = 0;
+		while (sC.searchCategory(category.getName()) != null) {
+			category.setName(category.getName() + "_" + i);
 		}
-		;
-		MODEL.getCategories().add(toAdd);
+
+		MODEL.getCategories().add(category);
 		notifyCatListeners();
 	}
 
@@ -68,27 +73,20 @@ public class CategoryController {
 	}
 
 	/**
-	 * deletes category with given name
-	 * 
-	 * @param catName
-	 * @return true if successfull, otherwise false
+	 * remove a Category from Model
 	 */
-	public boolean deleteCategory(String catName) {
-		int position = getPositionInList(MODEL.getCategories(), searchCatNode(catName));
-		if (position != -1) {
-			deleteCategoryAt(position);
-			return true;
-		} else
-			return false;
-
+	public void removeCategory(Category c) {
+		MODEL.getCategories().remove(c);
+		notifyCatListeners();
 	}
 
 	/**
-	 * deletes a Category at given position
+	 * delete a given Category
+	 * 
+	 * @param category
 	 */
-	public void deleteCategoryAt(int idx) {
-		MODEL.getCategories().remove(idx);
-		notifyCatListeners();
+	public void deleteCategory(String category) {
+		removeCategory(sC.searchCategory(category));
 	}
 
 	/**
@@ -151,6 +149,15 @@ public class CategoryController {
 		addObject(cat, holonSwitch);
 	}
 
+	public void removeObject(Category category, CpsObject cps) {
+		category.getObjects().remove(cps);
+	}
+
+	public void deleteObject(String category, String obj) {
+		Category cat = sC.searchCategory(category);
+		removeObject(cat, sC.searchHolonObject(obj, cat.getObjects()));
+	}
+
 	/**
 	 * deletes given Object in given Category
 	 * 
@@ -158,7 +165,8 @@ public class CategoryController {
 	 * @param deleteIn
 	 */
 	public void deleteObjectInCat(String toDelete, String deleteIn) {
-		Category cat = searchCatNode(deleteIn);
+
+		Category cat = sC.searchCategory(deleteIn);
 		print(cat.getObjects());
 		for (int i = 0; i < cat.getObjects().size(); i++) {
 			if (cat.getObjects().get(i).getCompareName().equals(toDelete)) {
@@ -193,47 +201,4 @@ public class CategoryController {
 		}
 	}
 
-	/**
-	 * search for category
-	 * 
-	 * @param name
-	 * @return
-	 */
-	public Category searchCatNode(String name) {
-		Category query = null;
-
-		for (Category cat : MODEL.getCategories()) {
-			if (cat.getName().equals(name)) {
-				query = cat;
-				break;
-			}
-		}
-		return query;
-	}
-
-	/**
-	 * gets the position of an object in the array
-	 * 
-	 * @param arrayList
-	 * @param toSearch
-	 * @return -1 if object is not in the array, otherwise the index
-	 */
-	public int getPositionInList(ArrayList<? extends ComparableObject> arrayList, ComparableObject toSearch) {
-		for (int i = 0; i < arrayList.size(); i++) {
-			if (arrayList.get(i).getCompareName() == toSearch.getCompareName()) {
-				return i;
-			}
-		}
-		return -1;
-	}
-
-	public boolean containsInList(ArrayList<? extends ComparableObject> arrayList, ComparableObject toSearch) {
-		for (ComparableObject obj : arrayList) {
-			if (obj.getCompareName().equals(toSearch.getCompareName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
 }

+ 21 - 25
src/ui/controller/Control.java

@@ -21,6 +21,7 @@ public class Control {
 
 	private ActionListener actionListener;
 
+	private final SearchController searchController;
 	private final CategoryController categoryController;
 	private final ObjectController objectController;
 	private final CanvasController canvasController;
@@ -30,13 +31,16 @@ public class Control {
 
 	public Control(Model model) {
 		this.MODEL = model;
-		this.categoryController = new CategoryController(MODEL);
-		this.objectController = new ObjectController(MODEL);
+
+		this.searchController = new SearchController(MODEL);
+		this.categoryController = new CategoryController(MODEL, searchController);
+		this.objectController = new ObjectController(MODEL, searchController);
 		this.canvasController = new CanvasController(MODEL);
 		this.globalController = new GlobalController(MODEL);
 		this.storeController = new StoreController(MODEL);
-		this.loadController = new LoadController(MODEL, categoryController, canvasController, objectController);
-		
+		this.loadController = new LoadController(MODEL, categoryController, canvasController, objectController,
+				searchController);
+
 	}
 
 	/* Operations for Categories and Objects */
@@ -48,10 +52,6 @@ public class Control {
 		categoryController.addNewHolonObject(cat, objType, elements, image);
 	}
 
-	// public void addObjectCategory(Category cat, HolonObject object) {
-	// categoryController.addObject(cat, object);
-	// }
-
 	public void addTransformer(Category cat, String objName) {
 		categoryController.addNewHolonTransformer(cat, objName, "/Images/transformer-1.png");
 	}
@@ -61,7 +61,7 @@ public class Control {
 	}
 
 	public Category searchCategory(String name) {
-		return categoryController.searchCatNode(name);
+		return searchController.searchCategory(name);
 	}
 
 	public void deleteCategory(String catName) {
@@ -81,8 +81,8 @@ public class Control {
 	public void removeEdgesOnCanvas(CpsEdge edge) {
 		canvasController.removeEdgesOnCanvas(edge);
 	}
-	
-	public void setSelecteEdge(CpsEdge edge){
+
+	public void setSelecteEdge(CpsEdge edge) {
 		MODEL.setSelectedEdge(edge);
 	}
 
@@ -110,22 +110,17 @@ public class Control {
 	public void deleteElementCanvas(int id, String element) {
 		objectController.deleteElementInCanvas(id, element);
 	}
+
 	public void deleteElementCanvas(HolonObject obj, HolonElement ele) {
 		objectController.deleteElement(obj, ele);
 	}
 
-	public CpsObject searchByID(int ID){
-		return objectController.searchByID(ID);
+	public CpsObject searchByID(int ID) {
+		return searchController.searchByID(ID);
 	}
-	
-	public CpsObject searchObjInCat(String objName, String catName){
-		Category cat = searchCategory(catName);
-		for(CpsObject hl : cat.getObjects()){
-			if(hl.getCompareName().equals(objName)){
-				return hl;
-			}
-		}
-		return null;
+
+	public CpsObject searchObject(String category, String object) {
+		return searchController.searchHolonObject(object, searchController.searchCategory(category).getObjects());
 	}
 
 	/* Global Operations */
@@ -140,19 +135,20 @@ public class Control {
 	public void setScale(int s) {
 		globalController.setScale(s);
 	}
-	
+
 	public void setCurIteration(int cur_it) {
 		globalController.setCurIteration(cur_it);
 	}
-	
+
 	/* Operations for Loading and Storing */
 	public void saveFile(String path) throws IOException {
 		storeController.writeJSONFile(path);
 	}
-	
+
 	public void loadFile(String path) throws IOException {
 		loadController.readJSON(path);
 	}
+
 	////////// etc
 	public void initListener(CategoryListener catLis) {
 		categoryController.addCategoryListener(catLis);

+ 47 - 41
src/ui/controller/LoadController.java

@@ -27,12 +27,14 @@ public class LoadController {
 	private CategoryController cgC;
 	private CanvasController cvsC;
 	private ObjectController objC;
+	private SearchController sC;
 
-	public LoadController(Model model, CategoryController cg, CanvasController cvs, ObjectController obj) {
+	public LoadController(Model model, CategoryController cg, CanvasController cvs, ObjectController obj, SearchController sC) {
 		this.MODEL = model;
 		this.cgC = cg;
 		this.cvsC = cvs;
 		this.objC = obj;
+		this.sC = sC;
 
 	}
 
@@ -118,7 +120,7 @@ public class LoadController {
 		Iterator<Object> i = arr.iterator();
 
 		while (i.hasNext()) {
-			cgC.addNewCategory(i.next().toString());
+			cgC.addNewCategory(next(i));
 		}
 	}
 
@@ -130,16 +132,14 @@ public class LoadController {
 	public void readCategoryObject(JSONArray arr) {
 		Iterator<Object> i = arr.iterator();
 
-		String type = i.next().toString();
+		String type = next(i);
 
 		if (type.equals("HolonObject")) {
-			cgC.addNewHolonObject(cgC.searchCatNode(i.next().toString()), i.next().toString(), new ArrayList<>(),
-					i.next().toString());
+			cgC.addNewHolonObject(sC.searchCategory(next(i)), next(i), new ArrayList<>(), next(i));
 		} else if (type.equals("HolonTransformer")) {
-			cgC.addNewHolonTransformer(cgC.searchCatNode(i.next().toString()), i.next().toString(),
-					i.next().toString());
+			cgC.addNewHolonTransformer(sC.searchCategory(next(i)), next(i), next(i));
 		} else if (type.equals("HolonSwitch")) {
-			cgC.addNewHolonSwitch(cgC.searchCatNode(i.next().toString()), i.next().toString(), i.next().toString());
+			cgC.addNewHolonSwitch(sC.searchCategory(next(i)), next(i), next(i));
 		}
 
 	}
@@ -153,22 +153,22 @@ public class LoadController {
 		Iterator<Object> i = arr.iterator();
 		CpsObject cps = null;
 
-		String type = i.next().toString();
+		String type = next(i);
 
 		if (type.equals("HolonObject")) {
-			cps = new HolonObject(i.next().toString());
+			cps = new HolonObject(next(i));
 		} else if (type.equals("HolonTransformer")) {
-			cps = new HolonTransformer(i.next().toString());
+			cps = new HolonTransformer(next(i));
 		} else if (type.equals("HolonSwitch")) {
-			cps = new HolonSwitch(i.next().toString());
+			cps = new HolonSwitch(next(i));
 		} else if (type.equals("CpsNode")) {
-			cps = new CpsNode(i.next().toString());
+			cps = new CpsNode(next(i));
 		}
 
-		cps.setName(i.next().toString());
-		cps.setID(Integer.parseInt(i.next().toString()));
-		cps.setImage(i.next().toString());
-		cps.setPosition(Integer.parseInt(i.next().toString()), Integer.parseInt(i.next().toString()));
+		cps.setName(next(i));
+		cps.setID(Integer.parseInt(next(i)));
+		cps.setImage(next(i));
+		cps.setPosition(Integer.parseInt(next(i)), Integer.parseInt(next(i)));
 
 		cvsC.addObjectIntoCanvas(cps);
 	}
@@ -181,19 +181,16 @@ public class LoadController {
 	public void readElement(JSONArray arr) {
 		Iterator<Object> i = arr.iterator();
 
-		String sav = i.next().toString();
-//		int id = Integer.parseInt(i.next().toString());
-//
-//		HolonElement ele = new HolonElement(i.next().toString(), Integer.parseInt(i.next().toString()),
-//				Float.parseFloat(i.next().toString()));
-//		ele.setActive(i.next().);
+		String sav = next(i);
+		String obj = next(i);
+
+		HolonElement ele = new HolonElement(next(i), Integer.parseInt(next(i)), Float.parseFloat(next(i)));
 
 		if (sav.equals("Canvas")) {
-			objC.addNewElementIntoCanvasObject(Integer.parseInt(i.next().toString()), i.next().toString(),
-					Integer.parseInt(i.next().toString()), Float.parseFloat(i.next().toString()));
+			ele.setActive(compare(Integer.parseInt(next(i))));
+			objC.addElementIntoCanvasObject((HolonObject) sC.searchByID(Integer.parseInt(obj)), ele);
 		} else
-			objC.addNewElementIntoCategoryObject(sav, i.next().toString(), i.next().toString(),
-					Integer.parseInt(i.next().toString()), Float.parseFloat(i.next().toString()));
+			objC.addElementIntoCategoryObject(sav, obj, ele);
 	}
 
 	/**
@@ -203,10 +200,10 @@ public class LoadController {
 	public void readEdge(JSONArray arr) {
 		Iterator<Object> i = arr.iterator();
 
-		CpsEdge edge = new CpsEdge(objC.searchByID(Integer.parseInt(i.next().toString())),
-				objC.searchByID(Integer.parseInt(i.next().toString())));
-		edge.setCapacity(Float.parseFloat(i.next().toString()));
-		edge.setFlow(Float.parseFloat(i.next().toString()));
+		CpsEdge edge = new CpsEdge(sC.searchByID(Integer.parseInt(next(i))),
+				sC.searchByID(Integer.parseInt(next(i))));
+		edge.setCapacity(Float.parseFloat(next(i)));
+		edge.setFlow(Float.parseFloat(next(i)));
 
 		cvsC.addEdgeOnCanvas(edge);
 	}
@@ -214,24 +211,33 @@ public class LoadController {
 	public void readElementGraph(JSONArray arr) {
 		Iterator<Object> i = arr.iterator();
 
-		String sav = i.next().toString();
+		String sav = next(i);
 		HolonElement ele;
 
 		if (sav.equals("Canvas")) {
-			ele = objC.searchHolonElement((HolonObject) objC.searchByID(Integer.parseInt(i.next().toString())),
-					i.next().toString());
+			ele = sC.searchHolonElement((HolonObject) sC.searchByID(Integer.parseInt(next(i))), next(i));
 			while (i.hasNext())
-				ele.getGraphPoints()
-						.add(new Point(Integer.parseInt(i.next().toString()), Integer.parseInt(i.next().toString())));
-			System.out.println(ele.getGraphPoints().size());
+				ele.getGraphPoints().add(new Point(Integer.parseInt(next(i)), Integer.parseInt(next(i))));
 		} else {
-			ele = objC.searchHolonElement(objC.searchHolonObject(i.next().toString(),
-					objC.searchCategory(sav, MODEL.getCategories()).getObjects()), i.next().toString());
+			ele = sC.searchHolonElement(sC.searchHolonObject(next(i), objC.searchCategory(sav).getObjects()),
+					next(i));
 			while (i.hasNext())
-				ele.getGraphPoints()
-						.add(new Point(Integer.parseInt(i.next().toString()), Integer.parseInt(i.next().toString())));
+				ele.getGraphPoints().add(new Point(Integer.parseInt(next(i)), Integer.parseInt(next(i))));
 		}
 
 	}
 
+	/**
+	 * 
+	 * @param i
+	 * @return
+	 */
+	public String next(Iterator<Object> i) {
+		return i.next().toString();
+	}
+
+	public boolean compare(int x) {
+		return x == 1 ? true : false;
+	}
+
 }

+ 18 - 60
src/ui/controller/ObjectController.java

@@ -11,9 +11,11 @@ import ui.model.Model;
 public class ObjectController {
 
 	private Model MODEL;
+	private SearchController sC;
 
-	public ObjectController(Model model) {
+	public ObjectController(Model model, SearchController sC) {
 		this.MODEL = model;
+		this.sC = sC;
 		initHolonElements();
 	}
 
@@ -58,7 +60,7 @@ public class ObjectController {
 	 * @param type
 	 */
 	public void addNewElementIntoCanvasObject(int id, String eleName, int amount, float energy) {
-		addElementIntoCanvasObject((HolonObject) searchByID(id), new HolonElement(eleName, amount, energy));
+		addElementIntoCanvasObject((HolonObject) sC.searchByID(id), new HolonElement(eleName, amount, energy));
 	}
 
 	/**
@@ -79,8 +81,8 @@ public class ObjectController {
 		}
 		element.setSav(cat.getName());
 		element.setObj(object);
-		
-		addElement(searchHolonObject(object, cat.getObjects()), element);
+
+		addElement(sC.searchHolonObject(object, cat.getObjects()), element);
 	}
 
 	/**
@@ -116,12 +118,9 @@ public class ObjectController {
 	 * @param amount
 	 */
 	public void deleteElementInCanvas(int ID, String ele) {
-		HolonObject object = (HolonObject) searchByID(ID);
-		HolonElement element = searchHolonElement(object, ele);
-
-		// element.setAmount(element.getAmount() - amount);
-		//
-		// if (element.getAmount() <= 0)
+		HolonObject object = (HolonObject) sC.searchByID(ID);
+		HolonElement element = sC.searchHolonElement(object, ele);
+		
 		deleteElement(object, element);
 
 	}
@@ -135,68 +134,27 @@ public class ObjectController {
 	 * @param amount
 	 */
 	public void deleteElementInCategory(String cat, String obj, String ele, int amount) {
-		Category category = searchCategory(cat, MODEL.getCategories());
-		HolonObject object = searchHolonObject(obj, category.getObjects());
-		HolonElement element = searchHolonElement(object, ele);
+		Category category = searchCategory(cat);
+		HolonObject object = sC.searchHolonObject(obj, category.getObjects());
+		HolonElement element = sC.searchHolonElement(object, ele);
 
 		deleteElement(object, element);
 	}
 
-	public Category searchCategory(String category, ArrayList<Category> list) {
-		for (Category cats : list) {
-			if (cats.getName().equals(category))
-				return cats;
-		}
-		return null;
-	}
-
 	/**
-	 * Search for Object
-	 * 
-	 * @param object
-	 * @param list
+	 * search for Category
+	 * @param category
 	 * @return
 	 */
-	public HolonObject searchHolonObject(String object, ArrayList<CpsObject> list) {
-		for (CpsObject objects : list) {
-			if (objects.getObjName().equals(object))
-				return (HolonObject) objects;
+	public Category searchCategory(String category) {
+		for (Category cats : MODEL.getCategories()) {
+			if (cats.getName().equals(category))
+				return cats;
 		}
 		return null;
 	}
 
-	/**
-	 * Search for Object by ID
-	 * 
-	 * @param ID
-	 * @param list
-	 * @return
-	 */
-	public CpsObject searchByID(int ID) {
-		for (CpsObject objects : MODEL.getObjectsOnCanvas()) {
-			if (objects.getID() == ID)
-				return objects;
-		}
-		return null;
-	}
 
-	/**
-	 * Search for Element
-	 * 
-	 * @param object
-	 * @param element
-	 * @return
-	 */
-	public HolonElement searchHolonElement(HolonObject object, String element) {
-		HolonElement temp = null;
-		if (object.getElements() != null) {
-			for (HolonElement elements : object.getElements()) {
-				if (elements.getEleName().equals(element))
-					temp = elements;
-			}
-		}
-		return temp;
-	}
 
 	/**
 	 * Returns the ID of the selected Object 0 = no Object is selected

+ 108 - 0
src/ui/controller/SearchController.java

@@ -0,0 +1,108 @@
+package ui.controller;
+
+import java.util.ArrayList;
+
+import classes.Category;
+import classes.CpsObject;
+import classes.HolonElement;
+import classes.HolonObject;
+import ui.model.Model;
+
+public class SearchController {
+
+	private Model MODEL;
+
+	public SearchController(Model model) {
+		this.MODEL = model;
+
+	}
+	
+	/**
+	 * search for category
+	 * 
+	 * @param name
+	 * @return
+	 */
+	public Category searchCategory(String category) {
+
+		for (Category cat : MODEL.getCategories()) {
+			if (cat.getName().equals(category)) {
+				return cat;
+			}
+		}
+		return null;
+	}
+	
+	/**
+	 * Search for Object
+	 * 
+	 * @param object
+	 * @param list
+	 * @return
+	 */
+	public HolonObject searchHolonObject(String object, ArrayList<CpsObject> list) {
+		for (CpsObject objects : list) {
+			if (objects.getObjName().equals(object))
+				return (HolonObject) objects;
+		}
+		return null;
+	}
+
+	/**
+	 * Search for Object by ID
+	 * 
+	 * @param ID
+	 * @param list
+	 * @return
+	 */
+	public CpsObject searchByID(int ID) {
+		for (CpsObject objects : MODEL.getObjectsOnCanvas()) {
+			if (objects.getID() == ID)
+				return objects;
+		}
+		return null;
+	}
+
+	/**
+	 * Search for Element
+	 * 
+	 * @param object
+	 * @param element
+	 * @return
+	 */
+	public HolonElement searchHolonElement(HolonObject object, String element) {
+
+		if (object.getElements() != null) {
+			for (HolonElement ele : object.getElements()) {
+				if (ele.getEleName().equals(element))
+					return ele;
+			}
+		}
+		return null;
+	}
+
+//	/**
+//	 * gets the position of an object in the array
+//	 * 
+//	 * @param arrayList
+//	 * @param toSearch
+//	 * @return -1 if object is not in the array, otherwise the index
+//	 */
+//	public int getPositionInList(ArrayList<? extends ComparableObject> arrayList, ComparableObject toSearch) {
+//		for (int i = 0; i < arrayList.size(); i++) {
+//			if (arrayList.get(i).getCompareName() == toSearch.getCompareName()) {
+//				return i;
+//			}
+//		}
+//		return -1;
+//	}
+//
+//	public boolean containsInList(ArrayList<? extends ComparableObject> arrayList, ComparableObject toSearch) {
+//		for (ComparableObject obj : arrayList) {
+//			if (obj.getCompareName().equals(toSearch.getCompareName())) {
+//				return true;
+//			}
+//		}
+//		return false;
+//	}
+}

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

@@ -132,7 +132,7 @@ public class StoreController {
 					arr.add(ele.getEleName());
 					arr.add(ele.getAmount());
 					arr.add(ele.getEnergy());
-					arr.add(ele.getActive());
+					arr.add(Boolean.compare(ele.getActive(), true) + 1);
 					json.put("CVSE" + i++, arr);
 					arr = new JSONArray();
 				}

+ 12 - 12
src/ui/model/tests.java

@@ -7,16 +7,16 @@ import ui.controller.CategoryController;
 
 public class tests {
 	
-	public static void main(String[] args){
-		CategoryController cc = new CategoryController(new Model());
-		ArrayList<Category> cats = new ArrayList<Category>();
-		cats.add(new Category("sup"));
-		boolean value;
-		value = cc.containsInList(cats, new Category("sup"));
-		if(value){
-			System.out.println("true");
-		}else{
-			System.out.println("false");
-		}
-	}
+//	public static void main(String[] args){
+//		CategoryController cc = new CategoryController(new Model());
+//		ArrayList<Category> cats = new ArrayList<Category>();
+//		cats.add(new Category("sup"));
+//		boolean value;
+//		value = cc.containsInList(cats, new Category("sup"));
+//		if(value){
+//			System.out.println("true");
+//		}else{
+//			System.out.println("false");
+//		}
+	//}
 }

+ 5 - 5
src/ui/view/GUI.java

@@ -555,8 +555,8 @@ public class GUI<E> implements CategoryListener {
 					DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree
 							.getPathForLocation(e.getX(), e.getY()).getLastPathComponent();
 					if (selectedNode.getLevel() == 2) {
-						CpsObject selected = controller.searchObjInCat(selectedNode.toString(),
-								selectedNode.getParent().toString());
+						CpsObject selected = controller.searchObject(selectedNode.getParent().toString(),
+								selectedNode.toString());
 						deleteRows();
 						// if (selected instanceof HolonObject && selected !=
 						// null) {
@@ -662,9 +662,9 @@ public class GUI<E> implements CategoryListener {
 		canvas.addMouseListener(new MouseAdapter() {
 			@Override
 			public void mousePressed(MouseEvent e) {
-				if(temp == null || temp.getID() != model.getSelectedObjectID()){
+				if (temp == null || temp.getID() != model.getSelectedObjectID()) {
 					unitGraph.empty();
-				}				
+				}
 				temp = getActualCps();
 				// Update of the Information about the HolonElements - only for
 				if (temp instanceof HolonObject) {
@@ -733,7 +733,7 @@ public class GUI<E> implements CategoryListener {
 					tableModelProperties.setCellEditable(2, 1, true);
 				} else if (getActualCps() == null) {
 					deleteRows();
-				} 
+				}
 			}
 
 		});