01: package org.enhydra.shark.swingclient.workflowadmin.monitoring.actions;
02:
03: import java.awt.event.ActionEvent;
04:
05: import javax.swing.JOptionPane;
06: import javax.transaction.Status;
07: import javax.transaction.UserTransaction;
08:
09: import org.enhydra.shark.api.client.wfmc.wapi.WMProcessInstanceState;
10: import org.enhydra.shark.api.client.wfmc.wapi.WMSessionHandle;
11: import org.enhydra.shark.client.utilities.SharkInterfaceWrapper;
12: import org.enhydra.shark.swingclient.ActionBase;
13: import org.enhydra.shark.swingclient.ResourceManager;
14: import org.enhydra.shark.swingclient.SharkClient;
15: import org.enhydra.shark.swingclient.workflowadmin.EngineTreeNode;
16: import org.enhydra.shark.swingclient.workflowadmin.monitoring.ProcessMonitor;
17:
18: /**
19: * Resumes selected process.
20: *
21: * @author Sasa Bojanic
22: * @version 1.0
23: */
24: public class ResumeProcess extends ActionBase {
25:
26: public ResumeProcess(ProcessMonitor pm) {
27: super (pm);
28: }
29:
30: public void actionPerformed(ActionEvent e) {
31: ProcessMonitor pm = (ProcessMonitor) actionPanel;
32:
33: EngineTreeNode dmtn = pm.getSelectedNode();
34: String procId = null;
35: if (dmtn != null
36: && dmtn.getType() == EngineTreeNode.TYPE_PROCESSINSTANCE) {
37: procId = pm.getSelectedNode().getId();
38: }
39: if (procId != null) {
40: UserTransaction ut = null;
41:
42: try {
43: ut = SharkInterfaceWrapper.getUserTransaction();
44: ut.begin();
45:
46: WMSessionHandle shandle = SharkClient
47: .getSessionHandle();
48: SharkInterfaceWrapper.getShark().getWAPIConnection()
49: .changeProcessInstanceState(shandle, procId,
50: WMProcessInstanceState.OPEN_RUNNING);
51:
52: ut.commit();
53: ut.begin();
54: pm.refresh(true);
55: ut.commit();
56: } catch (Exception ex) {
57: try {
58: if (ut.getStatus() != Status.STATUS_NO_TRANSACTION) {
59: ut.rollback();
60: }
61: } catch (Exception _) {
62: }
63: ex.printStackTrace();
64: JOptionPane
65: .showMessageDialog(
66: pm.getWindow(),
67: ResourceManager
68: .getLanguageDependentString("MessageProcessCannotBeResumed"),
69: SharkClient.getAppTitle(),
70: JOptionPane.WARNING_MESSAGE);
71: }
72:
73: // workflowAdmin.refresh(true);
74: }
75: }
76: }
|