KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > shark > corbaclient > workflowadmin > monitoring > actions > DeleteSelectedProcesses


1 package org.enhydra.shark.corbaclient.workflowadmin.monitoring.actions;
2
3 import java.awt.event.ActionEvent JavaDoc;
4 import javax.swing.JOptionPane JavaDoc;
5 import org.enhydra.shark.corba.WorkflowService.AdminMisc;
6 import org.omg.WorkflowModel.*;
7 import org.enhydra.shark.corbaclient.ActionBase;
8 import org.enhydra.shark.corbaclient.ResourceManager;
9 import org.enhydra.shark.corbaclient.SharkClient;
10 import org.enhydra.shark.corbaclient.workflowadmin.SharkAdmin;
11 import org.enhydra.shark.corbaclient.workflowadmin.monitoring.ProcessMonitor;
12
13 /**
14  * Deletes selected processes from DB if they are finished.
15  *
16  * @author Sasa Bojanic
17  */

18 public class DeleteSelectedProcesses extends ActionBase {
19
20    public DeleteSelectedProcesses (ProcessMonitor pm) {
21       super(pm);
22    }
23
24    public void actionPerformed(ActionEvent JavaDoc e) {
25       ProcessMonitor pm=(ProcessMonitor)actionPanel;
26       SharkAdmin workflowAdmin=pm.getWorkflowAdmin();
27
28       String JavaDoc pkgId=null;
29       String JavaDoc pDefId=null;
30
31       Object JavaDoc userObject=pm.getSelectedUserObject();
32
33
34       try {
35          if (userObject instanceof org.enhydra.jawe.xml.elements.Package) {
36             org.enhydra.jawe.xml.elements.Package pkg=
37                (org.enhydra.jawe.xml.elements.Package)userObject;
38             pkgId=pkg.get("Id").toString();
39          }
40          if (userObject instanceof WfProcessMgr) {
41             AdminMisc am=workflowAdmin.getAdminMiscUtilities();
42             pkgId=am.getProcessMgrPkgId(((WfProcessMgr)userObject).name());
43             pDefId=am.getProcessMgrProcDefId(((WfProcessMgr)userObject).name());
44          }
45          if (pkgId!=null && pDefId!=null) {
46             workflowAdmin.getExecAmin().deleteClosedProcessesForProcessDefinition(pkgId,pDefId);
47          } else if (pkgId!=null) {
48             workflowAdmin.getExecAmin().deleteClosedProcessesForPkg(pkgId);
49          } else {
50             WfProcess proc=pm.getProcessViewer().getCurrentProcess();
51             workflowAdmin.getExecAmin().deleteClosedProcess(proc.key());
52          }
53          workflowAdmin.getEngineTreeModel().clear();
54          workflowAdmin.refresh(true);
55       } catch (Exception JavaDoc ex){
56          JOptionPane.showMessageDialog(pm.getWindow(),
57                                        ResourceManager.getLanguageDependentString(
58                                           "MessageProcessCannotBeDeleted"),
59                                        SharkClient.getAppTitle(),JOptionPane.WARNING_MESSAGE);
60
61          ex.printStackTrace();
62       }
63    }
64 }
65
Popular Tags