@Override public void detach(TerminalExt terminal) { assert terminal instanceof NodeTerminal; int node = ((NodeTerminal) terminal).getNode(); assert node >= 0 && node < graph.getMaxVertex(); assert graph.getVertexObject(node) == terminal; graph.setVertexObject(node, null); // remove the link terminal -> voltage level terminal.setVoltageLevel(null); }
@Override public void detach(final TerminalExt terminal) { assert terminal instanceof BusTerminal; // remove the link terminal -> voltage level terminal.setVoltageLevel(null); // remove the link bus -> terminal String connectableBusId = ((BusTerminal) terminal).getConnectableBusId(); final ConfiguredBus connectableBus = getBus(connectableBusId, true); getNetwork().getVariantManager().forEachVariant(() -> { connectableBus.removeTerminal((BusTerminal) terminal); ((BusTerminal) terminal).setConnectableBusId(null); invalidateCache(); }); }
@Override public void attach(final TerminalExt terminal, boolean test) { checkTerminal(terminal); if (test) { return; } // create the link terminal -> voltage level terminal.setVoltageLevel(this); // create the link bus -> terminal String connectableBusId = ((BusTerminal) terminal).getConnectableBusId(); final ConfiguredBus connectableBus = getBus(connectableBusId, true); getNetwork().getVariantManager().forEachVariant(() -> { connectableBus.addTerminal((BusTerminal) terminal); // invalidate connected components invalidateCache(); }); }
@Override public void attach(TerminalExt terminal, boolean test) { checkTerminal(terminal); if (test) { return; } int node = ((NodeTerminal) terminal).getNode(); if (graph.getVertexObject(node) != null) { throw new ValidationException(terminal.getConnectable(), "an equipment (" + graph.getVertexObject(node).getConnectable().getId() + ") is already connected to node " + node + " of voltage level " + NodeBreakerVoltageLevel.this.id); } // create the link terminal <-> voltage level terminal.setVoltageLevel(NodeBreakerVoltageLevel.this); // create the link terminal <-> graph vertex graph.setVertexObject(node, (NodeTerminal) terminal); }