예제 #1
0
 public boolean setCanalNetwork(CanalNetwork aCanalNetwork) {
   boolean wasSet = false;
   CanalNetwork existingCanalNetwork = canalNetwork;
   canalNetwork = aCanalNetwork;
   if (existingCanalNetwork != null && !existingCanalNetwork.equals(aCanalNetwork)) {
     existingCanalNetwork.removeSubNetwork(this);
   }
   if (aCanalNetwork != null) {
     aCanalNetwork.addSubNetwork(this);
   }
   wasSet = true;
   return wasSet;
 }
예제 #2
0
 public boolean addActiveVessel(Craft aActiveVessel) {
   boolean wasAdded = false;
   if (activeVessels.contains(aActiveVessel)) {
     return false;
   }
   CanalNetwork existingCanalNetwork = aActiveVessel.getCanalNetwork();
   if (existingCanalNetwork == null) {
     aActiveVessel.setCanalNetwork(this);
   } else if (!this.equals(existingCanalNetwork)) {
     existingCanalNetwork.removeActiveVessel(aActiveVessel);
     addActiveVessel(aActiveVessel);
   } else {
     activeVessels.add(aActiveVessel);
   }
   wasAdded = true;
   return wasAdded;
 }
예제 #3
0
 public boolean addSubNetwork(CanalNetwork aSubNetwork) {
   boolean wasAdded = false;
   if (subNetwork.contains(aSubNetwork)) {
     return false;
   }
   CanalNetwork existingCanalNetwork = aSubNetwork.getCanalNetwork();
   if (existingCanalNetwork == null) {
     aSubNetwork.setCanalNetwork(this);
   } else if (!this.equals(existingCanalNetwork)) {
     existingCanalNetwork.removeSubNetwork(aSubNetwork);
     addSubNetwork(aSubNetwork);
   } else {
     subNetwork.add(aSubNetwork);
   }
   wasAdded = true;
   return wasAdded;
 }
예제 #4
0
 public void delete() {
   while (!subNetwork.isEmpty()) {
     subNetwork.get(0).setCanalNetwork(null);
   }
   while (!activeVessels.isEmpty()) {
     activeVessels.get(0).setCanalNetwork(null);
   }
   ArrayList<SegEnd> copyOfSegEnds = new ArrayList<SegEnd>(segEnds);
   segEnds.clear();
   for (SegEnd aSegEnd : copyOfSegEnds) {
     aSegEnd.removeCanalNetwork(this);
   }
   if (canalNetwork != null) {
     CanalNetwork placeholderCanalNetwork = canalNetwork;
     this.canalNetwork = null;
     placeholderCanalNetwork.removeSubNetwork(this);
   }
 }
예제 #5
0
 public boolean removeSubNetwork(CanalNetwork aSubNetwork) {
   boolean wasRemoved = false;
   if (subNetwork.contains(aSubNetwork)) {
     subNetwork.remove(aSubNetwork);
     aSubNetwork.setCanalNetwork(null);
     wasRemoved = true;
   }
   return wasRemoved;
 }