private void markPickup(String id) { graph.getNode(id).addAttribute("ui.class", "pickup"); }
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 markDelivery(String id) { graph.getNode(id).addAttribute("ui.class", "delivery"); }
private Edge getEnteringEdge(String toNodeId) { Collection<Edge> enteringEdges = graph.getNode(toNodeId).getEnteringEdgeSet(); if (enteringEdges.size() == 1) return enteringEdges.iterator().next(); else { for (Edge e : enteringEdges) { if (e.getId().startsWith("shipment")) { continue; } return e; } } return null; }
private Edge getLeavingEdge(String toNodeId) { Collection<Edge> edges = graph.getNode(toNodeId).getLeavingEdgeSet(); if (edges.size() == 1) return edges.iterator().next(); else { for (Edge e : edges) { if (e.getId().startsWith("shipment")) { continue; } return e; } } return null; }
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()); } }
String prevIdentifier = makeId(route.getVehicle().getId(), route.getVehicle().getStartLocation().getId()); if (label.equals(Label.ACTIVITY) || label.equals(Label.JOB_NAME)) { Node n = g.getNode(prevIdentifier); n.addAttribute("ui.label", "start"); String currIdentifier = makeId(job.getId(), act.getLocation().getId()); if (label.equals(Label.ACTIVITY)) { Node actNode = g.getNode(currIdentifier); actNode.addAttribute("ui.label", act.getName()); } else if (label.equals(Label.JOB_NAME)) { Node actNode = g.getNode(currIdentifier); actNode.addAttribute("ui.label", job.getName()); } else if (label.equals(Label.ARRIVAL_TIME)) { Node actNode = g.getNode(currIdentifier); actNode.addAttribute("ui.label", Time.parseSecondsToTime(act.getArrTime())); } else if (label.equals(Label.DEPARTURE_TIME)) { Node actNode = g.getNode(currIdentifier); actNode.addAttribute("ui.label", Time.parseSecondsToTime(act.getEndTime())); if (act instanceof PickupActivity) g.getNode(currIdentifier).addAttribute("ui.class", "pickupInRoute"); else if (act instanceof DeliveryActivity) g.getNode(currIdentifier).addAttribute("ui.class", "deliveryInRoute"); prevIdentifier = currIdentifier; vehicle_edgeId++;
public T next() { if (nextNode == root) throw new NoSuchElementException(); T node = graph.getNode(nextNode.id); nextNode = nextNode.parent; return node; }
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 void nodeAttributeChanged(String sourceId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue) { Event e; e = new AttributeChanged(ElementType.NODE, nodeId, attribute, newValue, g.getNode(nodeId).getAttribute(attribute)); events.add(e); }
public void nodeAttributeChanged(String sourceId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue) { Event e; e = new AttributeChanged(ElementType.NODE, nodeId, attribute, newValue, g.getNode(nodeId).getAttribute(attribute)); events.add(e); }
public void nodeAttributeRemoved(String sourceId, long timeId, String nodeId, String attribute) { Event e; e = new AttributeRemoved(ElementType.NODE, nodeId, attribute, g .getNode(nodeId).getAttribute(attribute)); events.add(e); }
@Override public void nodeAdded(String graphId, long timeId, String nodeId) { Node n = graph.getNode(nodeId); assignNode(nodeId, n.getAttribute(marker), communities); }
@Override public void nodeRemoved(String graphId, long timeId, String nodeId) { Node n = graph.getNode(nodeId); unassignNode(nodeId, n.getAttribute(marker), communities); }
public void init(Graph graph) { this.graph = graph; if (getSource() != null){ source = graph.getNode(getSource()); } }
public void nodeRemoved(String sourceId, long timeId, String nodeId) { Node n = g.getNode(nodeId); for (String key : n.getAttributeKeySet()) nodeAttributeRemoved(sourceId, timeId, nodeId, key); Event e; e = new NodeRemoved(nodeId); events.add(e); }
public void nodeRemoved(String sourceId, long timeId, String nodeId) { Node n = g.getNode(nodeId); for (String key : n.getAttributeKeySet()) nodeAttributeRemoved(sourceId, timeId, nodeId, key); Event e; e = new NodeRemoved(nodeId); events.add(e); }
@Override public void nodeAdded(String graphId, long timeId, String nodeId) { super.nodeAdded(graphId, timeId, nodeId); Node n = graph.getNode(nodeId); assignNode(nodeId, n.getAttribute(referenceMarker), referenceCommunities); }