private void updateLayout(Collection<Vertex> displayVertices, Collection<Edge> displayEdges) { m_displayVertices.clear(); m_displayVertices.addAll(displayVertices); m_displayEdges.clear(); m_displayEdges.addAll(displayEdges); for (Iterator<Edge> itr = m_displayEdges.iterator(); itr.hasNext();) { Edge edge = itr.next(); if (new RefComparator().compare(edge.getSource().getVertex(), edge.getTarget().getVertex()) == 0) { LOG.debug("Discarding edge whose source and target are the same: {}", edge); itr.remove(); } else if (m_displayVertices.contains(edge.getSource().getVertex())) { if (m_displayVertices.contains(edge.getTarget().getVertex())) { // This edge is OK, it is attached to two vertices that are in the graph } else { LOG.debug("Discarding edge that is not attached to 2 vertices in the graph: {}", edge); itr.remove(); } } else { LOG.debug("Discarding edge that is not attached to 2 vertices in the graph: {}", edge); itr.remove(); } } LOG.debug("Created a graph with {} vertices and {} edges", m_displayVertices.size(), m_displayEdges.size()); } }
Set<Vertex> collapsedSources = vertexToCollapsedVertices.get(edge.getSource().getVertex()); if (collapsedSources != null) { for (VertexRef collapsedSource : collapsedSources) { Edge newCollapsedEdge = edge.clone(); newCollapsedEdge.setId("collapsedSource-" + newCollapsedEdge.getId()); newCollapsedEdge.getSource().setVertex(collapsedSource); retval.add(newCollapsedEdge); Set<Vertex> collapsedTargets = vertexToCollapsedVertices.get(edge.getTarget().getVertex()); if (collapsedTargets != null) { for (VertexRef collapsedTarget : collapsedTargets) { Edge newCollapsedEdge = edge.clone(); newCollapsedEdge.setId("collapsedTarget-" + newCollapsedEdge.getId()); newCollapsedEdge.getTarget().setVertex(collapsedTarget); retval.add(newCollapsedEdge); for (VertexRef collapsedTarget : collapsedTargets) { Edge newCollapsedEdge = edge.clone(); newCollapsedEdge.setId("collapsed-" + newCollapsedEdge.getId()); newCollapsedEdge.getSource().setVertex(collapsedEndpoint); newCollapsedEdge.getTarget().setVertex(collapsedTarget); retval.add(newCollapsedEdge);
public WrappedEdge(Edge edge, WrappedVertex source, WrappedVertex target) { key = edge.getKey(); label = edge.getLabel(); tooltipText = edge.getTooltipText(); id = edge.getId(); namespace = edge.getNamespace(); this.source = source; this.target = target; }
/** * Cannot return null */ private static String getTooltipText(Edge edge) { String tooltipText = edge.getTooltipText(); // If the tooltip text is null, use the label tooltipText = (tooltipText == null ? edge.getLabel() : tooltipText); // If the label is null, use a blank string return (tooltipText == null ? "" : tooltipText); }
private void addEdges(List<Edge> edges) { for(Edge edge : edges) { if (edge.getNamespace() == null || edge.getId() == null) { LoggerFactory.getLogger(this.getClass()).warn("Discarding invalid edge: {}", edge); continue; } LoggerFactory.getLogger(this.getClass()).trace("Adding edge: {}", edge); m_edgeMap.put(edge.getId(), edge); } }
private static void addPathRecursively(List<VertexRef> vertexRefs, VertexRef vertexToFind, Map<VertexRef, EdgeRef> incomingEdgeMap) { if (incomingEdgeMap.get(vertexToFind) != null) { vertexRefs.add(0, vertexToFind); addPathRecursively(vertexRefs, ((Edge) incomingEdgeMap.get(vertexToFind)).getSource().getVertex(), incomingEdgeMap); } }
private String getTargetKey(Edge edge) { return m_graphContainer.getTopologyServiceClient().getVertex(edge.getTarget().getVertex(), m_graphContainer.getCriteria()).getKey(); }
public boolean matches(Edge edge){ return edge.getLabel().matches(m_regex); }
@Override public Edge getEdgeByKey(String edgeKey) { for(Edge e : m_displayEdges) { if (edgeKey.equals(e.getKey())) { return e; } } return null; }
@Override public List<Edge> getEdges(Criteria... criteria) { List<Edge> edges = new ArrayList<>(); for (Edge edge : m_edgeMap.values()) { edges.add(edge.clone()); } for (Criteria criterium : criteria) { try { MatchingCriteria matchingCriteria = (MatchingCriteria)criterium; for(Iterator<Edge> itr = edges.iterator(); itr.hasNext();) { Edge next = itr.next(); if ( matchingCriteria.getType() == Criteria.ElementType.EDGE && matchingCriteria.getNamespace() == getNamespace() && !matchingCriteria.matches(next) ) { itr.remove(); } } } catch (ClassCastException e) {} } return Collections.unmodifiableList(edges); }
private void addEdges(List<Edge> edges) { for(Edge edge : edges) { if (edge.getNamespace() == null || edge.getId() == null) { LoggerFactory.getLogger(this.getClass()).warn("Discarding invalid edge: {}", edge); continue; } LoggerFactory.getLogger(this.getClass()).trace("Adding edge: {}", edge); m_edgeMap.put(edge.getId(), edge); } }
private static void addPathRecursively(List<VertexRef> vertexRefs, VertexRef vertexToFind, Map<VertexRef, EdgeRef> incomingEdgeMap) { if (incomingEdgeMap.get(vertexToFind) != null) { vertexRefs.add(0, vertexToFind); addPathRecursively(vertexRefs, ((Edge) incomingEdgeMap.get(vertexToFind)).getSource().getVertex(), incomingEdgeMap); } }
/** * Cannot return null */ private static String getTooltipText(Edge edge) { String tooltipText = edge.getTooltipText(); // If the tooltip text is null, use the label tooltipText = (tooltipText == null ? edge.getLabel() : tooltipText); // If the label is null, use a blank string return (tooltipText == null ? "" : tooltipText); }
private String getTargetKey(Edge edge) { return m_graphContainer.getTopologyServiceClient().getVertex(edge.getTarget().getVertex(), m_graphContainer.getCriteria()).getKey(); }
public boolean matches(Edge edge){ return edge.getLabel().matches(m_regex); }
@Override public Edge getEdgeByKey(String edgeKey) { for(Edge e : m_displayEdges) { if (edgeKey.equals(e.getKey())) { return e; } } return null; }
@Override public List<Edge> getEdges(Criteria... criteria) { List<Edge> edges = new ArrayList<>(); for (Edge edge : m_edgeMap.values()) { edges.add(edge.clone()); } for (Criteria criterium : criteria) { try { MatchingCriteria matchingCriteria = (MatchingCriteria)criterium; for(Iterator<Edge> itr = edges.iterator(); itr.hasNext();) { Edge next = itr.next(); if ( matchingCriteria.getType() == Criteria.ElementType.EDGE && matchingCriteria.getNamespace() == getNamespace() && !matchingCriteria.matches(next) ) { itr.remove(); } } } catch (ClassCastException e) {} } return Collections.unmodifiableList(edges); }
private void updateLayout(Collection<Vertex> displayVertices, Collection<Edge> displayEdges) { m_displayVertices.clear(); m_displayVertices.addAll(displayVertices); m_displayEdges.clear(); m_displayEdges.addAll(displayEdges); for (Iterator<Edge> itr = m_displayEdges.iterator(); itr.hasNext();) { Edge edge = itr.next(); if (new RefComparator().compare(edge.getSource().getVertex(), edge.getTarget().getVertex()) == 0) { LOG.debug("Discarding edge whose source and target are the same: {}", edge); itr.remove(); } else if (m_displayVertices.contains(edge.getSource().getVertex())) { if (m_displayVertices.contains(edge.getTarget().getVertex())) { // This edge is OK, it is attached to two vertices that are in the graph } else { LOG.debug("Discarding edge that is not attached to 2 vertices in the graph: {}", edge); itr.remove(); } } else { LOG.debug("Discarding edge that is not attached to 2 vertices in the graph: {}", edge); itr.remove(); } } LOG.debug("Created a graph with {} vertices and {} edges", m_displayVertices.size(), m_displayEdges.size()); } }
Set<Vertex> collapsedSources = vertexToCollapsedVertices.get(edge.getSource().getVertex()); if (collapsedSources != null) { for (VertexRef collapsedSource : collapsedSources) { Edge newCollapsedEdge = edge.clone(); newCollapsedEdge.setId("collapsedSource-" + newCollapsedEdge.getId()); newCollapsedEdge.getSource().setVertex(collapsedSource); retval.add(newCollapsedEdge); Set<Vertex> collapsedTargets = vertexToCollapsedVertices.get(edge.getTarget().getVertex()); if (collapsedTargets != null) { for (VertexRef collapsedTarget : collapsedTargets) { Edge newCollapsedEdge = edge.clone(); newCollapsedEdge.setId("collapsedTarget-" + newCollapsedEdge.getId()); newCollapsedEdge.getTarget().setVertex(collapsedTarget); retval.add(newCollapsedEdge); for (VertexRef collapsedTarget : collapsedTargets) { Edge newCollapsedEdge = edge.clone(); newCollapsedEdge.setId("collapsed-" + newCollapsedEdge.getId()); newCollapsedEdge.getSource().setVertex(collapsedEndpoint); newCollapsedEdge.getTarget().setVertex(collapsedTarget); retval.add(newCollapsedEdge);
private void addEdges(List<Edge> edges) { for(Edge edge : edges) { if (edge.getNamespace() == null || edge.getId() == null) { LoggerFactory.getLogger(this.getClass()).warn("Discarding invalid edge: {}", edge); continue; } LoggerFactory.getLogger(this.getClass()).trace("Adding edge: {}", edge); m_edgeMap.put(edge.getId(), edge); } }