package psoAlgoCode; import java.util.ArrayList; import java.util.Collections; import classes.AbstractCpsObject; import classes.CpsEdge; import classes.CpsUpperNode; import classes.HolonBattery; import classes.HolonObject; import classes.HolonSwitch; import classes.SubNet; import classes.comparator.EnergyMinToMaxComparator; import classes.comparator.MinEnergyComparator; import classes.comparator.WeakestBattery; import ui.model.Model; import ui.controller.Control; import ui.controller.SimulationManager; public class HelpFunctions { private ArrayList objectsToHandle; public static void runRepairConnections(Model model) { repairAllEdgesOnMainCanvas(model); } private static void repairAllEdgesOnMainCanvas(Model model) { for (AbstractCpsObject obj : model.getObjectsOnCanvas()) { if (obj instanceof CpsUpperNode) { repairAllEdgesInUpperNode((CpsUpperNode) obj); } for (CpsEdge e : obj.getConnections()) { e.setWorkingState(true); } } } private static void repairAllEdgesInUpperNode(CpsUpperNode uNode) { for (AbstractCpsObject obj : uNode.getNodes()) { if (obj instanceof CpsUpperNode) { repairAllEdgesInUpperNode((CpsUpperNode) obj); } for (CpsEdge e : obj.getConnections()) { e.setWorkingState(true); } } } public static void calculateStateForTimeStepPSO(Model model, Control control) { SimulateSimulator sim = new SimulateSimulator(model); sim.calculateStateForTimeStep(model.getCurIteration()); } }