Ejemplo n.º 1
0
  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;
  }