private void removeNodeAndBelongingEdges(String nodeId, VehicleRoute fromRoute) { Node node = graph.getNode(nodeId); markRemoved(node); Edge entering = getEnteringEdge(nodeId); removeEdge(entering.getId()); if (node.getLeavingEdgeSet().isEmpty()) { if (fromRoute.getVehicle().isReturnToDepot()) throw new IllegalStateException("leaving edge is missing"); return; } Edge leaving = getLeavingEdge(nodeId); removeEdge((leaving.getId())); Node from = entering.getNode0(); Node to = leaving.getNode1(); if (!fromRoute.getActivities().isEmpty()) { addEdge(makeEdgeId(from, to), from.getId(), to.getId()); } }
/** * The node represented by this APSP information. * * @return A node identifier. */ public String getNodeId() { return source.getId(); }
/** * Get the style of a given node. * * @param node * The node to search for. * @return The node style. */ public StyleGroup getStyleFor(Node node) { String gid = byNodeIdGroups.get(node.getId()); return groups.get(gid); }
/** * Get the style of a given node. * * @param node * The node to search for. * @return The node style. */ public StyleGroup getStyleFor(Node node) { String gid = byNodeIdGroups.get(node.getId()); return groups.get(gid); }
private String find(String mySearch, Iterator<Node> iterator) { while (iterator.hasNext()) { String temp = iterator.next().getId(); if (mySearch.equals(temp)) { return temp; } } return null; }
@SuppressWarnings("unchecked") public <T extends Node> T removeNode(String id) throws ElementNotFoundException { T n; Node sn; elementLock.lock(); n = wrappedElement.removeNode(id); sn = synchronizedNodes.remove(n.getId()); elementLock.unlock(); return (T) sn; }
@SuppressWarnings("all") public <T extends Edge> T getEdgeToward(String id) { List<? extends Edge> edges = mygraph.connectivity.get(this); for (Edge edge : edges) { if (edge.getOpposite(this).getId().equals(id)) return (T) edge; } return null; }
protected int nonNeighborCandidateCount(Node node) { int count = 0; String nodeId = node.getId(); for (T c : candidates) if (c.getEdgeBetween(nodeId) == null) count++; return count; }
public <T extends Edge> T removeEdge(Node node1, Node node2) { AbstractEdge edge = node1.getEdgeToward(node2); if (edge == null) { if (strictChecking) throw new ElementNotFoundException( "There is no edge from \"%s\" to \"%s\". Cannot remove it.", node1.getId(), node2.getId()); return null; } return removeEdge(edge); }
public <T extends Node> T getNode(int index) throws IndexOutOfBoundsException { Node n; elementLock.lock(); n = wrappedElement.getNode(index); elementLock.unlock(); return n == null ? null : this.<T> getNode(n.getId()); }
public <T extends Node> T getNode(int index) throws IndexOutOfBoundsException { Node n; elementLock.lock(); n = wrappedElement.getNode(index); elementLock.unlock(); return n == null ? null : this.<T> getNode(n.getId()); }
public <T extends Edge> T removeEdge(Node node1, Node node2) { AbstractEdge edge = node1.getEdgeToward(node2); if (edge == null) { if (strictChecking) throw new ElementNotFoundException( "There is no edge from \"%s\" to \"%s\". Cannot remove it.", node1.getId(), node2.getId()); return null; } return removeEdge(edge); }
SynchronizedGraph(Graph g) { super(g); elementLock = new ReentrantLock(); synchronizedNodes = new HashMap<String, Node>(); synchronizedEdges = new HashMap<String, Edge>(); for (Node n : g.getEachNode()) synchronizedNodes.put(n.getId(), new SynchronizedNode(this, n)); for (Edge e : g.getEachEdge()) synchronizedEdges.put(e.getId(), new SynchronizedEdge(this, e)); }
public void edgeRemoved(String sourceId, long timeId, String edgeId) { Edge edge = g.getEdge(edgeId); for (String key : edge.getAttributeKeySet()) edgeAttributeRemoved(sourceId, timeId, edgeId, key); Event e; e = new EdgeRemoved(edgeId, edge.getSourceNode().getId(), edge .getTargetNode().getId(), edge.isDirected()); events.add(e); }
public void nodeRemoved(String sourceId, long timeId, String nodeId) { // removed node will give equal parts of its rank to the others double part = graph.getNode(nodeId).getNumber(rankAttribute) / (graph.getNodeCount() - 1); for (Node node : graph) if (!node.getId().equals(nodeId)) node.addAttribute(rankAttribute, node.getNumber(rankAttribute) + part); upToDate = false; }
private void outputNode(Node n) { String label; String style = getNodeStyle(n); label = n.hasAttribute("label") ? (String) n.getLabel("label") : (n .hasAttribute("ui.label") ? (String) n.getLabel("ui.label") : ""); out.printf(l, "\t\\node[%s] at (%s) {%s};%n", style, formatId(n.getId()), label); }
protected void publishPositions() { for (Node n : internalGraph) { if (n.hasAttribute("changed")) { n.removeAttribute("changed"); sendNodeAttributeChanged(sourceId, n.getId(), "xyz", null, new double[] { n.getNumber("x"), n.getNumber("y"), 0 }); } } }