예제 #1
0
 public boolean deletePseudoCompCmd(
     MapperPseudoComp oldPseudoComp,
     TreeItem treeItem,
     TreePath subjectTPath,
     boolean inLeftTree,
     MapperStaticContext stContext) {
   //
   MapperTcContext tcContext = MapperTcContext.class.cast(stContext);
   BpelMapperPseudoComp oldBpelPseudoComp = BpelMapperPseudoComp.class.cast(oldPseudoComp);
   //
   BpelMapperLsmProcessor lsmProcessor = new BpelMapperLsmProcessor(tcContext);
   lsmProcessor.deleteLsm(tcContext, treeItem, oldBpelPseudoComp, inLeftTree);
   //
   BpelMapperModel mModel = tcContext.getMapperModel();
   MapperSwingTreeModel treeModel = null;
   if (inLeftTree) {
     treeModel = mModel.getLeftTreeModel();
   } else {
     treeModel = mModel.getRightTreeModel();
   }
   //
   // Update BPEL model
   if (inLeftTree) {
     treeModel = mModel.getLeftTreeModel();
     List<TreePath> dependentGraphs = mModel.getLeftChangeAffectedGraphs(oldBpelPseudoComp);
     for (TreePath graphPath : dependentGraphs) {
       mModel.removeIngoingLinks(graphPath, subjectTPath);
     }
     //
     // Modify BPEL model for all changed graphs in one transaction.
     mModel.fireGraphsChanged(dependentGraphs);
   } else {
     treeModel = mModel.getRightTreeModel();
     mModel.removeNestedGraphs(subjectTPath);
   }
   //
   // Remove node from the tree
   treeModel.remove(subjectTPath);
   //
   return true;
 }