From 1e1f9b49ec1ef1721bbd8ef50de95e707ef00f58 Mon Sep 17 00:00:00 2001
From: gakin <gakin>
Date: Wed, 14 Sep 2016 11:07:37 +0000
Subject: [PATCH] SSDM-4099: Vamp up DOT representation.

SVN: 37070
---
 .../openbis/generic/server/EntityRetriever.java   | 11 ++++++-----
 .../generic/shared/entitygraph/EntityGraph.java   | 15 ++++++++++++++-
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/EntityRetriever.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/EntityRetriever.java
index 02943fcd634..9828c75db87 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/EntityRetriever.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/EntityRetriever.java
@@ -113,21 +113,22 @@ public class EntityRetriever
         }
         StringBuffer dotRep = new StringBuffer();
         dotRep.append("digraph G {\n\n");
-        for (int i = 0; i < clusters.length; i++) {
-            dotRep.append("subgraph cluster_" + i + "{'");
-            dotRep.append("'style=filled;");
+        for (int i = 0; i < spaces.length; i++)
+        {
+            dotRep.append("subgraph cluster_" + i + "{");
+            dotRep.append("style=filled;");
             dotRep.append("color=lightgrey;");
             dotRep.append("node [style=filled,color=white];");
             dotRep.append("\n\n");
             dotRep.append(clusters[i]);
-            dotRep.append("label = " + clusters[i] + ";}");
+            dotRep.append("label = " + spaces[i] + ";}");
             dotRep.append("\n\n");
         }
         dotRep.append("\n}");
         String name = "";
         for (String space : spaces)
         {
-            name = space + "_";
+            name += space + "_";
         }
         me.printGraph(new String(dotRep), name.substring(0, name.length() - 1));
     }
diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java b/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java
index 10f16e5383e..c305f743678 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/shared/entitygraph/EntityGraph.java
@@ -115,6 +115,10 @@ public class EntityGraph<N extends Node<?>>
             if (list.isEmpty() && node.getEntityKind().equals("DATA_SET") == false)
             {
                 sb.append(getRightHandNodeRep(node));
+                // if(node.getEntityKind().equals("PROJECT")) {
+                // sb.append(" [shape=box]");
+                // }
+                sb.append(";");
                 sb.append(System.getProperty("line.separator"));
                 continue;
             }
@@ -123,6 +127,15 @@ public class EntityGraph<N extends Node<?>>
                 Node<?> neighbourNode = edgeNodePair.getNode();
                 sb.append("\"" + node.getCode() + "(" + getDifferentiatorStr(node) + ")\" -> "
                         + getRightHandNodeRep(neighbourNode));
+                if (edgeNodePair.getEdge().getType().equals(Edge.COMPONENT))
+                {
+                    sb.append(" [style=dotted, color=red]");
+                }
+                else if (edgeNodePair.getEdge().getType().equals(Edge.CHILD))
+                {
+                    sb.append(" [style=dashed, color= blue]");
+                }
+                sb.append(";");
                 sb.append(System.getProperty("line.separator"));
             }
         }
@@ -131,7 +144,7 @@ public class EntityGraph<N extends Node<?>>
 
     private String getRightHandNodeRep(Node<?> node)
     {
-        return "\"" + node.getCode() + "(" + getDifferentiatorStr(node) + ")\";";
+        return "\"" + node.getCode() + "(" + getDifferentiatorStr(node) + ")\"";
     }
 
     private String getDifferentiatorStr(Node<?> node)
-- 
GitLab