- System.out.println(" A non-default HighLevelStateHandler was detected. Check for changes there manually.");
- System.out.print(" Empty line to continue to next component, old component name to get new component name >");
- for (String line = sysin.nextLine(); !line.equals(""); line = sysin.nextLine())
- System.out.println(" " + line + "->" + componentNameRemapping.get(line) + " >");
- }
+ Pin pin1 = w.getPin1();
+ Pin pin2 = w.getPin2();
+ Set<Pin> pin1Group = connectedPinGroups.get(pin1);
+ Set<Pin> pin2Group = connectedPinGroups.get(pin2);
+ if (pin1Group == pin2Group)
+ System.out.println(" Wire " + w.name + " connecting " + pin1 + " and " + pin2 + " is redundant");
+ else
+ {
+ pin1Group.addAll(pin2Group);
+ pin2Group.forEach(p -> connectedPinGroups.put(p, pin1Group));
+ }
+ });
+ }
+
+ private static void changePinUsages(Scanner sysin, DeserializedSubmodelComponent comp)
+ {
+ comp.getSupermodelPins().entrySet().stream().sorted(Comparator.comparing(Entry::getKey)).map(Entry::getValue).forEach(pin ->
+ {
+ PinUsage usage = null;
+ while (usage == null)
+ try
+ {
+ System.out.print(" Usage for interface pin " + pin.name + " (empty: " + pin.usage + ") >");
+ String usageStr = sysin.nextLine().toUpperCase();
+ usage = usageStr.equals("") ? pin.usage
+ : usageStr.equals("I") ? PinUsage.INPUT
+ : usageStr.equals("O") ? PinUsage.OUTPUT
+ : usageStr.equals("T") ? PinUsage.TRISTATE : PinUsage.valueOf(usageStr);
+ }
+ catch (@SuppressWarnings("unused") IllegalArgumentException e)
+ {
+ System.err.println(" Illegal usage");
+ }
+ setInterfacePinUsage(comp, pin, usage);
+ });