Ejemplo n.º 1
0
  private boolean processor(List ori, List newList, List nullLevelHandle, boolean doChange)
      throws SemanticException {
    boolean isLevelRemoved = false;
    for (int i = nullLevelHandle.size() - 1; i >= 0; i--) {
      int index = ((Integer) nullLevelHandle.get(i)).intValue();
      if (doChange) {
        viewHandle.removeLevel(index);
      }
      isLevelRemoved = true;
    }

    for (int i = 0; i < ori.size(); i++) {
      LevelHandle tempHandle = (LevelHandle) ori.get(i);
      if (!newList.contains(tempHandle)) {
        if (doChange) {
          viewHandle.removeLevel(tempHandle.getQualifiedName());
        }
        isLevelRemoved = true;
      }
    }

    Collections.sort(newList, new LevelComparator());
    if (doChange) {
      for (int i = 0; i < newList.size(); i++) {
        LevelHandle tempHandle = (LevelHandle) newList.get(i);
        if (viewHandle.getLevel(tempHandle.getQualifiedName()) == null) {
          insertLevelHandle(tempHandle, i);
        }
      }
    }
    return isLevelRemoved;
  }