closeTransaction(false);
closeTransactionDontReset();
  private void publishOplan() {    // Get the Plugin Parameters    Vector params = getParameters();    ArrayList oplans = new ArrayList(params.size());    ArrayList oplanComponents = new ArrayList(params.size());    // Instantiate the OPlanFileReader to create the OPlan    if (params.size() != 0) {      for (int i = 0, n = params.size(); i < n; i++) {        String fileName = (String)(params.elementAt(i));        OplanFileReader ofr =          new OplanFileReader(fileName, getFactory(), getCluster());        Oplan oplan = ofr.readOplan();        oplans.add(oplan);        oplanComponents.addAll(ofr.getForcePackages(oplan));        oplanComponents.addAll(ofr.getOrgActivities(oplan));        oplanComponents.addAll(ofr.getOrgRelations(oplan));        oplanComponents.addAll(ofr.getPolicies(oplan));        if (oplan.getEndDay() == null) {          oplan.inferEndDay(oplanComponents);        }      }    } else {      System.err.println("OPlanPlugin : No parameters were specified");    }    openTransaction();    int n = oplans.size();    if (n > 0) {      for (int i = 0; i < n; i++) {        Oplan oplan = (Oplan) oplans.get(i);        // Add the OPLAN to the LogPlan.        publishAdd(oplan);        // publish the subs        for (Iterator iterator = oplanComponents.iterator();             iterator.hasNext();) {          publishAdd(iterator.next());        }        OplanCoupon ow = new OplanCoupon(oplan.getUID(), getClusterIdentifier());        getCluster().getUIDServer().registerUniqueObject(ow);        publishAdd(ow);      }      myPrivateState.oplanExists = true;    } else {      myPrivateState.errorOccurred = true;    }    publishChange(myPrivateState);    closeTransaction(false);    checkButtonEnable();  }