RepairAllEdges.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package exampleAlgorithms;
  2. import api.CpsAlgorithm;
  3. import classes.AbstractCpsObject;
  4. import classes.CpsEdge;
  5. import classes.CpsUpperNode;
  6. import ui.controller.Control;
  7. import ui.model.Model;
  8. public class RepairAllEdges implements CpsAlgorithm {
  9. @Override
  10. public void runAlgorithm(Model model, Control controller) {
  11. repairAllEdgesOnMainCanvas(model);
  12. }
  13. /**
  14. * Repairs all Edges on the main Canvas.
  15. *
  16. * @param model
  17. * the Model
  18. */
  19. private void repairAllEdgesOnMainCanvas(Model model) {
  20. for (AbstractCpsObject obj : model.getObjectsOnCanvas()) {
  21. if (obj instanceof CpsUpperNode) {
  22. repairAllEdgesInUpperNode((CpsUpperNode) obj);
  23. }
  24. for (CpsEdge e : obj.getConnections()) {
  25. e.setWorkingState(true);
  26. }
  27. }
  28. }
  29. private void repairAllEdgesInUpperNode(CpsUpperNode uNode) {
  30. for (AbstractCpsObject obj : uNode.getNodes()) {
  31. if (obj instanceof CpsUpperNode) {
  32. repairAllEdgesInUpperNode((CpsUpperNode) obj);
  33. }
  34. for (CpsEdge e : obj.getConnections()) {
  35. e.setWorkingState(true);
  36. }
  37. }
  38. }
  39. }