private static void writeArea(EsgArea area, RecordWriter recordWriter) throws IOException { String typecard; switch (area.getType()) { case AC: typecard = "AA"; break; case DC: typecard = "DA"; break; default: throw new IllegalArgumentException("Invalid area type: " + area.getType()); } recordWriter.addValue(typecard, 1, 2); recordWriter.addValue(area.getName().toString(), 4, 5); recordWriter.addValue("", 6, 20); recordWriter.newLine(); }
if (getArea(node.getArea().toString()) == null) { throw new RuntimeException("Node '" + node.getName() + "' reference an unknown area '" + node.getArea() + "'");
private static void writeDCNode(EsgDCNode dcNode, RecordWriter recordWriter) throws IOException { recordWriter.addValue("DC N", 1, 4); recordWriter.addValue(dcNode.getName().toString(), 6, 13); recordWriter.addValue(dcNode.getArea().toString(), 15, 16); recordWriter.addValue(dcNode.getVbase(), 18, 25); recordWriter.addValue(dcNode.getVinit(), 27, 34); recordWriter.newLine(); }
for (EsgArea area : network.getAreas() .stream() .sorted(Comparator.comparing(EsgArea::getType).thenComparing(area -> area.getName().toString())) .collect(Collectors.toList())) { writeArea(area, recordWriter);
private static void writeNode(EsgNode node, RecordWriter recordWriter) throws IOException { recordWriter.addValue("1", 1); recordWriter.addValue(node.getArea().toString(), 2, 3); recordWriter.addValue(node.getName().toString(), 4, 11); recordWriter.addValue(node.getVbase(), 85, 92); recordWriter.addValue(node.getVinit(), 99, 106); recordWriter.addValue(node.getVangl(), 108, 115); recordWriter.addValue("0.", 117, 124, RecordWriter.Justification.Right); recordWriter.addValue("0.", 126, 133, RecordWriter.Justification.Right); recordWriter.newLine(); if (node.isSlackBus()) { recordWriter.addValue("5", 1); recordWriter.addValue(node.getName().toString(), 4, 11); recordWriter.addValue(node.getVangl(), 40, 47); recordWriter.newLine(); } }