jascha Bohne 7 lat temu
rodzic
commit
9815f14ec8

+ 6 - 3
scopviz/src/main/java/de/tu_darmstadt/informatik/tk/scopviz/graphs/GraphManager.java

@@ -372,12 +372,14 @@ public class GraphManager {
 		for (String s : n.getAttributeKeySet()) {
 			attributes.put(s, n.getAttribute(s));
 		}
-		g.addNode(n.getId());
-		g.getNode(n.getId()).addAttributes(attributes);
+		String nodeId = activeSubGraph.getId() + n.getId();
+		g.addNode(nodeId);
+		g.getNode(nodeId).addAttributes(attributes);
 		if (activeSubGraph != null && !activeSubGraph.equals(g)) {
 			activeSubGraph.addNode(n.getId());
 			activeSubGraph.getNode(n.getId()).addAttributes(attributes);
-			g.getNode(n.getId()).addAttribute("originalElement", activeSubGraph.getId() + "+#" + n.getId());
+			g.getNode(nodeId).addAttribute("originalElement", activeSubGraph.getId() + "+#" + n.getId());
+			g.getNode(nodeId).addAttribute("originalGraph", activeSubGraph.getId());
 		}
 	}
 
@@ -539,6 +541,7 @@ public class GraphManager {
 				g.getEdge(newID).addAttribute("originalElement", activeSubGraph.getId() + "+#" + newID);
 				
 			} else {
+				Debug.out(sourceNode.getAttribute("originalGraph").toString() + targetNode.getAttribute("originalGraph").toString());
 				if (sourceNode.getAttribute("originalGraph").equals(targetNode.getAttribute("originalGraph"))){
 					Debug.out("Can Only add edges to currently active Subgraph!", 2);
 				} else {

+ 2 - 2
scopviz/src/main/java/de/tu_darmstadt/informatik/tk/scopviz/io/MyFileSinkGraphML.java

@@ -63,7 +63,7 @@ public class MyFileSinkGraphML extends FileSinkGraphML {
 			for (Node n : g.getEachNode()) {
 				for (String k : n.getAttributeKeySet()) {
 					// AttributeFiltering
-					if (k.equals("ui.j2dsk") || k.equals("ui.class") || k.equals("ui.pie-values")) {
+					if (k.equals("ui.j2dsk") || k.equals("ui.class") || k.equals("ui.pie-values") || k.equalsIgnoreCase("originalgraph")) {
 						continue;
 					}
 					Class<? extends Object> c = n.getAttribute(k).getClass();
@@ -163,7 +163,7 @@ public class MyFileSinkGraphML extends FileSinkGraphML {
 			for (Node n : g.getEachNode()) {
 				print("\t\t<node id=\"%s\">\n", n.getId());
 				for (String k : n.getAttributeKeySet()) {
-					if (k.equals("ui.j2dsk") || k.equals("ui.class") || k.equals("ui.pie-values")) {
+					if (k.equals("ui.j2dsk") || k.equals("ui.class") || k.equals("ui.pie-values") || k.equalsIgnoreCase("originalgraph")) {
 						continue;
 					}
 					Class<? extends Object> c = n.getAttribute(k).getClass();