Browse Source

Merge branch 'Ohne_Drag_and_Drop' of https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons into Ohne_Drag_and_Drop

dominik.rieder 8 years ago
parent
commit
2714e83027

+ 35 - 22
src/tests/praktikumHolonsTestCanvasController.java

@@ -39,51 +39,51 @@ public class praktikumHolonsTestCanvasController {
 	public void testAddingObjects() {
 		//just adding a few things
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 0);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
 		assertTrue("ID of the Object does not Match", mp.searchByID(1).getName().equals("Power Plant"));
 		assertTrue("Type of the Object does not Match", mp.searchByID(1) instanceof HolonObject);
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 1);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
 		assertTrue("ID of the Object does not Match", mp.searchByID(2).getName().equals("Power Plant"));
 		assertTrue("Type of the Object does not Match", mp.searchByID(2) instanceof HolonObject);
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 2);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
 		assertTrue("ID of the Object does not Match", mp.searchByID(3).getName().equals("Power Plant"));
 		assertTrue("Type of the Object does not Match", mp.searchByID(3) instanceof HolonObject);
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 3);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 4);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 5);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Building"), "House")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
 		assertTrue("ID of the Object does not Match", mp.searchByID(6).getName().equals("House"));
 		assertTrue("Type of the Object does not Match", mp.searchByID(6) instanceof HolonObject);
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 6);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Building"), "House")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 7);
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Building"), "House")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 8);
-		controller.addNewObject(new HolonSwitch(mp.searchCategoryObject(mp.searchCategory("Component"), "Switch")));
+		controller.addNewObject(new HolonSwitch(mp.searchCatObj(mp.searchCat("Component"), "Switch")));
 		assertTrue("ID of the Object does not Match", mp.searchByID(9).getName().equals("Switch"));
 		assertTrue("Type of the Object does not Match", mp.searchByID(9) instanceof HolonSwitch);
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 9);
-		controller.addNewObject(new HolonSwitch(mp.searchCategoryObject(mp.searchCategory("Component"), "Switch")));
+		controller.addNewObject(new HolonSwitch(mp.searchCatObj(mp.searchCat("Component"), "Switch")));
 		assertTrue("Number of Objects does not Match", model.getObjectsOnCanvas().size() == 10);
 	}
 
 	@Test(expected = NullPointerException.class)
 	public void testDeletingObject() {
 		// Adding Objects on Canvas.. without Coordinates
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Building"), "House")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Building"), "House")));
-		controller.addNewObject(new HolonSwitch(mp.searchCategoryObject(mp.searchCategory("Component"), "Switch")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Energy"), "Power Plant")));
-		controller.addNewObject(new HolonObject(mp.searchCategoryObject(mp.searchCategory("Building"), "House")));
-		controller.addNewObject(new HolonSwitch(mp.searchCategoryObject(mp.searchCategory("Component"), "Switch")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
+		controller.addNewObject(new HolonSwitch(mp.searchCatObj(mp.searchCat("Component"), "Switch")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Energy"), "Power Plant")));
+		controller.addNewObject(new HolonObject(mp.searchCatObj(mp.searchCat("Building"), "House")));
+		controller.addNewObject(new HolonSwitch(mp.searchCatObj(mp.searchCat("Component"), "Switch")));
 
 		controller.deleteObjectOnCanvas(mp.searchByID(4));
 		assertTrue("Object:4 was not deleted", mp.searchByID(4) == null);
@@ -128,9 +128,22 @@ public class praktikumHolonsTestCanvasController {
 		assertTrue("Number of Edges does not Match", model.getEdgesOnCanvas().size() == (n * (n - 1)) / 2);
 		
 		//here starts the deleting
-		controller.removeEdgesOnCanvas(mp.searchCpsEdge(13, 14));
+		controller.removeEdgesOnCanvas(mp.searchEdge(13, 14));
 		assertTrue("Number of Connection of Vertice M does not Match", mp.searchByID(13).getConnections().size() == model.getObjectsOnCanvas().size() - 2);
-		assertTrue("Edge-M-N was not deleted", mp.searchCpsEdge(13, 14) == null);
+		assertTrue("Edge-M-N was not deleted", mp.searchEdge(13, 14) == null);
 
+		controller.deleteObjectOnCanvas(mp.searchByID(13));
+		assertTrue("Object:13 was not deleted", mp.searchByID(13) == null);
+		assertTrue("Edge-A-M was not deleted", mp.searchEdge(1, 13) == null);
+		assertTrue("Edge-B-M was not deleted", mp.searchEdge(2, 13) == null);
+		assertTrue("Edge-C-M was not deleted", mp.searchEdge(3, 13) == null);
+		assertTrue("Edge-D-M was not deleted", mp.searchEdge(4, 13) == null);
+		assertTrue("Edge-E-M was not deleted", mp.searchEdge(5, 13) == null);
+		assertTrue("Edge-F-M was not deleted", mp.searchEdge(6, 13) == null);
+		assertTrue("Edge-M-O was not deleted", mp.searchEdge(13, 16) == null);
+		assertTrue("Edge-M-P was not deleted", mp.searchEdge(13, 17) == null);
+		assertTrue("Edge-M-Q was not deleted", mp.searchEdge(13, 18) == null);
+		assertTrue("Edge-M-R was not deleted", mp.searchEdge(13, 19) == null);
+		assertTrue("Edge-M-S was not deleted", mp.searchEdge(13, 20) == null);
 	}
 }

+ 24 - 24
src/tests/praktikumHolonsTestCategoryController.java

@@ -30,10 +30,10 @@ public class praktikumHolonsTestCategoryController {
 		assertTrue("Number of Categories is not 3", model.getCategories().size() == 3);
 		assertTrue("Second Category is not Building", model.getCategories().get(1).getName().equals("Building"));
 		assertTrue("Category Building is Empty", !model.getCategories().get(1).getObjects().isEmpty());
-		assertEquals("Object is not a Power Plant", mp.searchCategory("Energy").getObjects().get(0).getObjName(),
+		assertEquals("Object is not a Power Plant", mp.searchCat("Energy").getObjects().get(0).getObjName(),
 				"Power Plant");
 		assertFalse("A Switch should not be a Holon Object",
-				mp.searchCategoryObject(mp.searchCategory("Component"), "Switch") instanceof HolonObject);
+				mp.searchCatObj(mp.searchCat("Component"), "Switch") instanceof HolonObject);
 	}
 
 	@Test
@@ -94,48 +94,48 @@ public class praktikumHolonsTestCategoryController {
 
 	@Test
 	public void testAddingAndDeletingObjectsMinimal() {
-		controller.addNewHolonObject(mp.searchCategory("Energy"), "Power Plant", null, "");
-		controller.addNewHolonObject(mp.searchCategory("Energy"), "Power Plant", null, "");
-		controller.addNewHolonObject(mp.searchCategory("Energy"), "Solar Plant", null, "");
+		controller.addNewHolonObject(mp.searchCat("Energy"), "Power Plant", null, "");
+		controller.addNewHolonObject(mp.searchCat("Energy"), "Power Plant", null, "");
+		controller.addNewHolonObject(mp.searchCat("Energy"), "Solar Plant", null, "");
 
-		assertTrue("Number of Objects in Energy is not 4", mp.searchCategory("Energy").getObjects().size() == 4);
-		assertTrue("Number of Object-Indices in Energy is not 4", mp.searchCategory("Energy").getObjIdx().size() == 4);
+		assertTrue("Number of Objects in Energy is not 4", mp.searchCat("Energy").getObjects().size() == 4);
+		assertTrue("Number of Object-Indices in Energy is not 4", mp.searchCat("Energy").getObjIdx().size() == 4);
 		assertTrue("Object was not renamed to \"Power Plant_0\" ",
-				mp.searchCategory("Energy").getObjects().get(1).getObjName().equals("Power Plant_0"));
+				mp.searchCat("Energy").getObjects().get(1).getObjName().equals("Power Plant_0"));
 		assertTrue("Object was not renamed to \"Power Plant_1\" ",
-				mp.searchCategory("Energy").getObjects().get(2).getObjName().equals("Power Plant_1"));
+				mp.searchCat("Energy").getObjects().get(2).getObjName().equals("Power Plant_1"));
 		assertTrue("3th Object was not \"Power Plant_1\"",
-				mp.searchCategory("Energy").getObjects().get(2).getName().equals("Power Plant_1"));
+				mp.searchCat("Energy").getObjects().get(2).getName().equals("Power Plant_1"));
 		controller.deleteObject("Energy", "Power Plant_1");
 		assertTrue("3th Object was not deleted",
-				mp.searchCategory("Energy").getObjects().get(2).getName().equals("Solar Plant"));
-		assertTrue("Number of Objects in Energy is not 3", mp.searchCategory("Energy").getObjects().size() == 3);
-		controller.addNewHolonObject(mp.searchCategory("Energy"), "Solar Plant", null, "");
+				mp.searchCat("Energy").getObjects().get(2).getName().equals("Solar Plant"));
+		assertTrue("Number of Objects in Energy is not 3", mp.searchCat("Energy").getObjects().size() == 3);
+		controller.addNewHolonObject(mp.searchCat("Energy"), "Solar Plant", null, "");
 		assertTrue("Object was not renamed to \"Solar Plant_0\" ",
-				mp.searchCategory("Energy").getObjects().get(3).getObjName().equals("Solar Plant_0"));
-		assertTrue("Number of Objects in Energy is not 4", mp.searchCategory("Energy").getObjects().size() == 4);
+				mp.searchCat("Energy").getObjects().get(3).getObjName().equals("Solar Plant_0"));
+		assertTrue("Number of Objects in Energy is not 4", mp.searchCat("Energy").getObjects().size() == 4);
 	}
 
 	@Test
 	public void testAddingAndDeletingObjectsExtended() {
 
 		for (int i = 1; i <= 25; i++) {
-			controller.addNewHolonObject(mp.searchCategory("Energy"), adapter.generate(i), null, null);
-			controller.addNewHolonObject(mp.searchCategory("Energy"), adapter.generate(i), null, null);
+			controller.addNewHolonObject(mp.searchCat("Energy"), adapter.generate(i), null, null);
+			controller.addNewHolonObject(mp.searchCat("Energy"), adapter.generate(i), null, null);
 
-			assertTrue("Objects were not added", mp.searchCategory("Energy").getObjects().size() == i * 2 + 1);
+			assertTrue("Objects were not added", mp.searchCat("Energy").getObjects().size() == i * 2 + 1);
 
-			assertTrue("Object was not renamed to \"" + adapter.generate(i) + "_0\"", mp.searchCategory("Energy")
+			assertTrue("Object was not renamed to \"" + adapter.generate(i) + "_0\"", mp.searchCat("Energy")
 					.getObjects().get(i * 2).getObjName().equals(adapter.generate(i) + "_0"));
 		}
 		controller.deleteObject("Energy", "E_0");
-		assertTrue("Object was not deleted", mp.searchCategoryObject(mp.searchCategory("Energy"), "E_0") == null);
+		assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "E_0") == null);
 		controller.deleteObject("Energy", "F_0");
-		assertTrue("Object was not deleted", mp.searchCategoryObject(mp.searchCategory("Energy"), "F_0") == null);
+		assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "F_0") == null);
 		controller.deleteObject("Energy", "G_0");
-		assertTrue("Object was not deleted", mp.searchCategoryObject(mp.searchCategory("Energy"), "G_0") == null);
+		assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "G_0") == null);
 		controller.deleteObject("Energy", "H_0");
-		assertTrue("Object was not deleted", mp.searchCategoryObject(mp.searchCategory("Energy"), "H_0") == null);
-		assertTrue("Number of Objects does not match", mp.searchCategory("Energy").getObjects().size() == 47);
+		assertTrue("Object was not deleted", mp.searchCatObj(mp.searchCat("Energy"), "H_0") == null);
+		assertTrue("Number of Objects does not match", mp.searchCat("Energy").getObjects().size() == 47);
 	}
 }

+ 2 - 2
src/tests/praktikumHolonsTestObjectController.java

@@ -36,9 +36,9 @@ public class praktikumHolonsTestObjectController {
 		assertTrue("Number of Elements does not Match", model.getCategories().size() == 5);
 		assertTrue("Second Category is not Building", model.getCategories().get(1).getName().equals("Building"));
 		assertTrue("Category Building is Empty", !model.getCategories().get(1).getObjects().isEmpty());
-		assertEquals("Object is not a Power Plant", mp.searchCategory("Energy").getObjects().get(0).getObjName(),
+		assertEquals("Object is not a Power Plant", mp.searchCat("Energy").getObjects().get(0).getObjName(),
 				"Power Plant");
 		assertFalse("A Switch should not be a Holon Object",
-				mp.searchCategoryObject(mp.searchCategory("Component"), "Switch") instanceof HolonObject);
+				mp.searchCatObj(mp.searchCat("Component"), "Switch") instanceof HolonObject);
 	}
 }

+ 8 - 8
src/ui/controller/CategoryController.java

@@ -30,9 +30,9 @@ public class CategoryController {
 		addNewCategory("Building");
 		addNewCategory("Component");
 
-		addNewHolonObject(mpC.searchCategory("Energy"), "Power Plant", new ArrayList<HolonElement>(), "/Images/power-plant.png");
-		addNewHolonObject(mpC.searchCategory("Building"), "House", new ArrayList<HolonElement>(), "/Images/home-2.png");
-		addNewHolonSwitch(mpC.searchCategory("Component"), "Switch", "/Images/switch-on.png");
+		addNewHolonObject(mpC.searchCat("Energy"), "Power Plant", new ArrayList<HolonElement>(), "/Images/power-plant.png");
+		addNewHolonObject(mpC.searchCat("Building"), "House", new ArrayList<HolonElement>(), "/Images/home-2.png");
+		addNewHolonSwitch(mpC.searchCat("Component"), "Switch", "/Images/switch-on.png");
 
 	}
 
@@ -51,7 +51,7 @@ public class CategoryController {
 		// toAdd.setName(name + "_" + number);
 		// }
 		int i = 0;
-		while (mpC.searchCategory(category.getName()) != null) {
+		while (mpC.searchCat(category.getName()) != null) {
 			if (category.getName().contains("_"))
 				category.setName(category.getName().substring(0, category.getName().indexOf('_')));
 			category.setName(category.getName() + "_" + i);
@@ -90,7 +90,7 @@ public class CategoryController {
 	 * @param category
 	 */
 	public void deleteCategory(String category) {
-		removeCategory(mpC.searchCategory(category));
+		removeCategory(mpC.searchCat(category));
 	}
 
 	/**
@@ -103,7 +103,7 @@ public class CategoryController {
 	 */
 	public void addObject(Category category, CpsObject object) {
 		int i = 0;
-		while (mpC.searchCategoryObject(category, object.getObjName()) != null) {
+		while (mpC.searchCatObj(category, object.getObjName()) != null) {
 			if (object.getObjName().contains("_"))
 				object.setObjName(object.getObjName().substring(0, object.getObjName().indexOf('_')));
 			String name = object.getObjName() + "_" + i;
@@ -173,8 +173,8 @@ public class CategoryController {
 	}
 
 	public void deleteObject(String category, String obj) {
-		Category cat = mpC.searchCategory(category);
-		removeObject(cat, mpC.searchCategoryObject(cat, obj));
+		Category cat = mpC.searchCat(category);
+		removeObject(cat, mpC.searchCatObj(cat, obj));
 	}
 
 	/**

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

@@ -63,7 +63,7 @@ public class Control {
 	}
 
 	public CpsObject searchCategoryObject(String category, String object) {
-		return multiPurposeController.searchCategoryObject(multiPurposeController.searchCategory(category), object);
+		return multiPurposeController.searchCatObj(multiPurposeController.searchCat(category), object);
 	}
 
 	/* Operations for Categories and Objects */
@@ -84,7 +84,7 @@ public class Control {
 	}
 
 	public Category searchCategory(String cat) {
-		return multiPurposeController.searchCategory(cat);
+		return multiPurposeController.searchCat(cat);
 	}
 
 	public void deleteCategory(String cat) {
@@ -214,7 +214,7 @@ public class Control {
 
 	private void autoSave() throws IOException {
 		autoSaveController.increaseAutoSaveNr();
-		storeController.writeSaveFile(autoPath + autoSaveController.getAutoSaveNr());
+		storeController.writeCanvasFile(autoPath + autoSaveController.getAutoSaveNr());
 	}
 
 	public String getUndoSave() {

+ 7 - 7
src/ui/controller/LoadController.java

@@ -72,11 +72,11 @@ public class LoadController {
 		if (mode.equals(MODE.ALL) || mode.equals(MODE.CATEGORY)) {
 			MODEL.setCgIdx(new HashMap<String, Integer>());
 			MODEL.setCategories(new ArrayList<Category>());
-			MODEL.setEdgesOnCanvas(new ArrayList<CpsEdge>());
 		}
-		if (mode.equals(MODE.ALL) || mode.equals(MODE.CATEGORY)) {
+		if (mode.equals(MODE.ALL) || mode.equals(MODE.CANVAS)) {
 			MODEL.setCvsObjIdx(new HashMap<Integer, Integer>());
 			MODEL.setObjectsOnCanvas(new ArrayList<CpsObject>());
+			MODEL.setEdgesOnCanvas(new ArrayList<CpsEdge>());
 		}
 
 		for (Object key : json.keySet()) {
@@ -156,11 +156,11 @@ public class LoadController {
 		String type = next(i);
 
 		if (type.equals("HolonObject")) {
-			cgC.addNewHolonObject(mpC.searchCategory(next(i)), next(i), new ArrayList<HolonElement>(), next(i));
+			cgC.addNewHolonObject(mpC.searchCat(next(i)), next(i), new ArrayList<HolonElement>(), next(i));
 		} else if (type.equals("HolonTransformer")) {
-			cgC.addNewHolonTransformer(mpC.searchCategory(next(i)), next(i), next(i));
+			cgC.addNewHolonTransformer(mpC.searchCat(next(i)), next(i), next(i));
 		} else if (type.equals("HolonSwitch")) {
-			cgC.addNewHolonSwitch(mpC.searchCategory(next(i)), next(i), next(i));
+			cgC.addNewHolonSwitch(mpC.searchCat(next(i)), next(i), next(i));
 		}
 
 	}
@@ -236,11 +236,11 @@ public class LoadController {
 		HolonElement ele;
 
 		if (sav.equals("CVS")) {
-			ele = mpC.searchHolonElement((HolonObject) mpC.searchByID(Integer.parseInt(next(i))), next(i));
+			ele = mpC.searchEle((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))));
 		} else {
-			ele = mpC.searchHolonElement((HolonObject) mpC.searchCategoryObject(mpC.searchCategory(sav), next(i)),
+			ele = mpC.searchEle((HolonObject) mpC.searchCatObj(mpC.searchCat(sav), next(i)),
 					next(i));
 			while (i.hasNext())
 				ele.getGraphPoints().add(new Point(Integer.parseInt(next(i)), Integer.parseInt(next(i))));

+ 4 - 4
src/ui/controller/MultiPurposeController.java

@@ -25,7 +25,7 @@ public class MultiPurposeController {
 	 * @param name
 	 * @return
 	 */
-	public Category searchCategory(String category) {
+	public Category searchCat(String category) {
 
 		Integer idx;
 
@@ -42,7 +42,7 @@ public class MultiPurposeController {
 	 * @param list
 	 * @return
 	 */
-	public CpsObject searchCategoryObject(Category category, String object) {
+	public CpsObject searchCatObj(Category category, String object) {
 
 		Integer idx;
 
@@ -76,7 +76,7 @@ public class MultiPurposeController {
 	 * @param element
 	 * @return
 	 */
-	public HolonElement searchHolonElement(HolonObject object, String element) {
+	public HolonElement searchEle(HolonObject object, String element) {
 
 		Integer idx;
 
@@ -86,7 +86,7 @@ public class MultiPurposeController {
 			return object.getElements().get(idx);
 	}
 
-	public CpsEdge searchCpsEdge(int a, int b) {
+	public CpsEdge searchEdge(int a, int b) {
 
 		CpsObject A = searchByID(a);
 		CpsObject B = searchByID(b);

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

@@ -76,7 +76,7 @@ public class ObjectController {
 	public void addElementIntoCategoryObject(String category, String object, HolonElement element) {
 		element.setSav(category);
 		element.setObj(object);
-		addElement((HolonObject) mpC.searchCategoryObject(mpC.searchCategory(category), object), element);
+		addElement((HolonObject) mpC.searchCatObj(mpC.searchCat(category), object), element);
 	}
 
 	/**
@@ -135,7 +135,7 @@ public class ObjectController {
 	 */
 	public void deleteElementInCanvas(int ID, String ele) {
 		HolonObject object = (HolonObject) mpC.searchByID(ID);
-		HolonElement element = mpC.searchHolonElement(object, ele);
+		HolonElement element = mpC.searchEle(object, ele);
 
 		deleteElement(object, element);
 	}
@@ -149,9 +149,9 @@ public class ObjectController {
 	 * @param amount
 	 */
 	public void deleteElementInCategory(String cat, String obj, String ele, int amount) {
-		Category category = mpC.searchCategory(cat);
-		HolonObject object = (HolonObject) mpC.searchCategoryObject(category, obj);
-		HolonElement element = mpC.searchHolonElement(object, ele);
+		Category category = mpC.searchCat(cat);
+		HolonObject object = (HolonObject) mpC.searchCatObj(category, obj);
+		HolonElement element = mpC.searchEle(object, ele);
 
 		deleteElement(object, element);
 	}

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

@@ -421,6 +421,7 @@ public class GUI<E> implements CategoryListener {
 		tableHolonElement.addMouseListener(new MouseAdapter() {
 			public void mousePressed(MouseEvent e) {
 				HolonObject obj = (HolonObject) getActualCps();
+				
 				yValueElements = e.getY();
 				HolonElement ele = getActualHolonElement(obj, yValueElements);
 				if (e.isControlDown() && ele != null) {
@@ -452,13 +453,13 @@ public class GUI<E> implements CategoryListener {
 					selectedElements.clear();
 					holonEleNamesDisplayed = "None ";
 				}
-				for (int i = 0; i < selectedElements.size(); i++) {
-					if (i == 0) {
-						System.out.println("Selected Items: " + selectedElements.get(i).getEleName());
-					} else {
-						System.out.println(selectedElements.get(i).getEleName());
-					}
-				}
+//				for (int i = 0; i < selectedElements.size(); i++) {
+//					if (i == 0) {
+//						System.out.println("Selected Items: " + selectedElements.get(i).getEleName());
+//					} else {
+//						System.out.println(selectedElements.get(i).getEleName());
+//					}
+//				}
 				elementGraph.setText(holonEleNamesDisplayed);
 				yBTHIS = e.getY();
 				xBTHIS = e.getX();
@@ -790,7 +791,6 @@ public class GUI<E> implements CategoryListener {
 				// Update of the Information about the Properties - only for
 				// CpsObjects
 				// Erase old data
-				System.out.println(model.getSelectedCpsObjects());
 				if (tableModelProperties.getRowCount() > 0) {
 					for (int i = tableModelProperties.getRowCount() - 1; i > -1; i--) {
 						tableModelProperties.removeRow(i);
@@ -1244,7 +1244,6 @@ public class GUI<E> implements CategoryListener {
 		// HolonObjects
 
 		deleteRows();
-		System.out.println(model.getSelectedCpsObjects());
 		if (model.getSelectedCpsObjects() != null) {
 			fillElementTable(model.getSelectedCpsObjects());
 		}
@@ -1273,7 +1272,8 @@ public class GUI<E> implements CategoryListener {
 		for (CpsObject o : objects) {
 			if (o instanceof HolonObject) {
 				for (HolonElement he : ((HolonObject) o).getElements()) {
-					Object[] temp = { o.getName(), he.getEleName(), he.getEnergy(), he.getAmount(), he.getActive() };
+					Object[] temp = { o.getName() + ", " + o.getID(), he.getEleName(), he.getEnergy(), he.getAmount(),
+							he.getActive() };
 					tableModelHolonElement.addRow(temp);
 				}
 			}

+ 18 - 23
src/ui/view/MyCanvas.java

@@ -56,6 +56,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 	ArrayList<CpsObject> TempSelected = new ArrayList<CpsObject>();
 
 	private boolean dragging = false; // for dragging
+	private boolean dragged = false; // if an object/objects was/were dragged
 	private boolean drawEdge = false; // for drawing edges
 	private boolean click = false; // for double click
 	private boolean doMark = false; // for double click
@@ -241,14 +242,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 
 	@Override
 	public void mouseClicked(MouseEvent e) {
-		// clear SelectedObjects
-		if (!e.isControlDown() && dragging == false) {
-			model.getSelectedCpsObjects().clear();
-			TempSelected.clear();
-			if (tempCps != null) {
-				controller.addSelectedObject(tempCps);
-			}
-		}
+
 	}
 
 	@Override
@@ -287,6 +281,9 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 		if (tempCps == null) {
 			edgeHighlight = mousePositionOnEdge(x, y);
 			controller.setSelecteEdge(edgeHighlight);
+			if (!e.isControlDown()) {
+				model.getSelectedCpsObjects().clear();
+			}
 		}
 
 		if (edgeHighlight == null && tempCps == null) {
@@ -302,17 +299,18 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 
 	@Override
 	public void mouseReleased(MouseEvent e) {
+		dragging = false;
+
 		if (drawEdge) {
 			drawEdge = false;
 			drawDeleteEdge();
 		}
 
-		// if Dragged reposition the Object
-		if (dragging) {
-			x = e.getX();
-			y = e.getY();
-			dragging = false;
+		if (!e.isControlDown() && dragged == false && tempCps != null) {
+			model.getSelectedCpsObjects().clear();
+			controller.addSelectedObject(tempCps);
 		}
+		dragged = false;
 
 		// Rightclick List
 		if (e.getButton() == MouseEvent.BUTTON3) {
@@ -331,6 +329,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 					controller.addSelectedObject(cps);
 				}
 			}
+			TempSelected.clear();
 		}
 
 		controller.calculateStateForTimeStep(model.getCurIteration());
@@ -344,16 +343,15 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 		// If Edge is drawn
 		x = e.getX();
 		y = e.getY();
-		if (!model.getSelectedCpsObjects().contains(tempCps)) {
+		if (!model.getSelectedCpsObjects().contains(tempCps) && doMark == false) {
 			model.getSelectedCpsObjects().clear();
-			TempSelected.clear();
 			if (tempCps != null) {
 				controller.addSelectedObject(tempCps);
 			}
 		}
-
 		if (dragging) {
 			try {
+				dragged = true;
 				float xDist, yDist; // Distance
 
 				x = e.getX() - controller.getScaleDiv2();
@@ -387,11 +385,11 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 						y = (int) (cps.getPosition().y + yDist);
 
 						// Make sure its in bounds
-						if (x < 0 - controller.getScaleDiv2())
+						if (x <= 0)
 							x = 0;
 						else if (x > this.getWidth() - controller.getScale())
 							x = this.getWidth() - controller.getScale();
-						if (y < controller.getScaleDiv2())
+						if (y <= 0)
 							y = 0;
 						else if (y > this.getHeight() - controller.getScale())
 							y = this.getHeight() - controller.getScale();
@@ -406,10 +404,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 		}
 
 		// Mark Objects
-		TempSelected.clear();
-		if (doMark)
-
-		{
+		if (doMark) {
 			for (CpsObject cps : model.getObjectsOnCanvas()) {
 				int x1 = sx, x2 = x, y1 = sy, y2 = y;
 
@@ -556,7 +551,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 			e = new CpsEdge(n, tempCps, edgeCapacity);
 
 			controller.AddEdgeOnCanvas(e);
-			System.out.println("node ID: " + n.getID());
+//			System.out.println("node ID: " + n.getID());
 		}
 
 		// Wenn ein Node ohne Connections da ist