Ejemplo n.º 1
0
 public boolean addSegEnd(SegEnd aSegEnd) {
   boolean wasAdded = false;
   if (segEnds.contains(aSegEnd)) {
     return false;
   }
   segEnds.add(aSegEnd);
   if (aSegEnd.indexOfCanalNetwork(this) != -1) {
     wasAdded = true;
   } else {
     wasAdded = aSegEnd.addCanalNetwork(this);
     if (!wasAdded) {
       segEnds.remove(aSegEnd);
     }
   }
   return wasAdded;
 }
Ejemplo n.º 2
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);
   }
 }
Ejemplo n.º 3
0
  public boolean removeSegEnd(SegEnd aSegEnd) {
    boolean wasRemoved = false;
    if (!segEnds.contains(aSegEnd)) {
      return wasRemoved;
    }

    int oldIndex = segEnds.indexOf(aSegEnd);
    segEnds.remove(oldIndex);
    if (aSegEnd.indexOfCanalNetwork(this) == -1) {
      wasRemoved = true;
    } else {
      wasRemoved = aSegEnd.removeCanalNetwork(this);
      if (!wasRemoved) {
        segEnds.add(oldIndex, aSegEnd);
      }
    }
    return wasRemoved;
  }