示例#1
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);
   }
 }
示例#2
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;
  }