private List<Node> adaptNodes(Collection<Connected> eList, Network net) { List<Node> nodes = new ArrayList<Node>(eList.size()); List<Connected> dependentEntities = new ArrayList<Connected>(); for (Connected e : eList) { Node n = new Node(); if (null != e.getUuid()) { n.id = e.getUuid(); } else { n.id = e.getName(); } n.name = e.getName(); n.data.put("$color", "#83548B"); String nodeType = getNodeType(e); if (null != nodeType) { n.data.put("$type", nodeType); // n.data.put("$type", "circle"); } else { n.data.put("$type", "circle"); } n.data.put("$dim", 10); for (Connected r : e.getConnected()) { if (null == net.getById(r.getUuid())) // show relations in network only continue; // for (ERBase rp : r.getAllConnectedFiltered(e.getUuid())) { Adjacency a = new Adjacency(); a.nodeFrom = e.getUuid(); a.nodeTo = r.getUuid(); dependentEntities.add(r); // a.nodeFrom = e.getName(); // a.nodeTo = rp.getEntity().getName(); a.data.put("$name", r.getName()); a.data.put("$color", "#557EAA"); // TODO: how to add label to relation? // a.data.put("$text", "test"); // a.data.put("$label", "test"); n.adjacencies.add(a); } } nodes.add(n); } // update names for denepndent nodes (add depenent nodes without relations) for (Connected e : dependentEntities) { if (!eList.contains(e)) { Node n = new Node(); if (null != e.getUuid()) { n.id = e.getUuid(); } else { n.id = e.getName(); } n.name = e.getName(); n.data.put("$color", "#83548B"); n.data.put("$type", "circle"); n.data.put("$dim", 10); nodes.add(n); } } return nodes; }