public void synchActivities2ChangeLists()

in src/net/sourceforge/transparent/CCaseViewsManager.java [372:402]


  public void synchActivities2ChangeLists(final ChangeListManagerGate gate) {
    LocalChangeList nonDefltList = null;
    LocalChangeList defltListToDelete = null;
    ChangeListManager mgr = ChangeListManager.getInstance(myProject);

    for (ActivityInfo info : activitiesMap.values()) {
      LocalChangeList list = gate == null ? mgr.findChangeList(info.publicName) : gate.findChangeList(info.publicName);
      if (list != null) {
        if (info.isObsolete) {
          if (!list.isDefault()) {
            mgr.removeChangeList(list.getName());
          }
          else {
            defltListToDelete = list;
          }
        }
        else {
          nonDefltList = list;
        }
      } // todo a bug here
      else if (!info.isObsolete) {
        nonDefltList = gate == null ? mgr.addChangeList(info.publicName, null) : gate.addChangeList(info.publicName, null);
      }
    }

    // todo sometimes obsolete activities are not removed
    if (defltListToDelete != null && nonDefltList != null) {
      mgr.setDefaultChangeList(nonDefltList);
      mgr.removeChangeList(defltListToDelete.getName());
    }
  }