RepairAllEdges.java 1.0 KB

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