KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > shark > swingclient > worklist > actions > UpdateActivityVariables


1 package org.enhydra.shark.swingclient.worklist.actions;
2
3
4 import java.awt.*;
5 import java.awt.event.*;
6 import javax.swing.*;
7 import java.util.Map JavaDoc;
8
9
10
11 import org.enhydra.shark.api.client.wfmodel.*;
12 import org.enhydra.shark.swingclient.*;
13 import org.enhydra.shark.swingclient.worklist.*;
14
15 /**
16  * Implements the action of updating workitem variables. It get's the workitem
17  * that corredponds to the selecte table row, and shows the dialog for the
18  * update of variables.
19  *
20  * @author Sasa Bojanic
21  * @version 1.0
22  */

23 public class UpdateActivityVariables extends ActionBase {
24    public UpdateActivityVariables (Worklist worklist) {
25       super(worklist);
26    }
27
28    public void actionPerformed(ActionEvent e) {
29       Worklist worklist=(Worklist)actionPanel;
30       WfAssignment ass=worklist.getSelectedAssignment();
31       if (ass!=null) {
32          // check if the workitem is accepted
33
try {
34             boolean accepted=ass.get_accepted_status();
35             if (!accepted) {
36                JOptionPane.showMessageDialog(worklist.getWindow(),
37                                              ResourceManager.getLanguageDependentString(
38                                                 "WarningTheWorkitemMustBeAcceptedBeforeVariableUpdate"),
39                                              SharkClient.getAppTitle(),JOptionPane.WARNING_MESSAGE);
40                return;
41             }
42
43             WfActivity wa;
44             wa=ass.activity();
45
46             // check the context of activity
47
String JavaDoc waKey=wa.key();
48             Map JavaDoc actContext=null;
49             if (worklist.isWorkitemContextUpdated(waKey)) {
50                actContext=worklist.getWorkitemContext(waKey);
51             } else {
52                actContext=WorkflowUtilities.getActivityContext(wa.process_context(),
53                                                                wa,WorkflowUtilities.VARIABLE_TO_PROCESS_ALL);
54             }
55             Map JavaDoc readOnlyContext=null;
56             if (actContext!=null && actContext.size()>0) {
57                readOnlyContext=WorkflowUtilities.getActivityContext(actContext,wa,
58                                                                     WorkflowUtilities.VARIABLE_TO_PROCESS_VIEW);
59             }
60             Window w=worklist.getWindow();
61             UpdateVariables upvd=new UpdateVariables(w,
62                                                      ResourceManager.getLanguageDependentString("DialogUpdateProcessVariables"),
63                                                      wa.container().key(),
64                                                      actContext,
65                                                      readOnlyContext);
66             upvd.showDialog();
67             if (actContext!=null && !upvd.isCanceled()) {
68                worklist.putWorkitemContext(waKey,actContext);
69                Map JavaDoc updContext=WorkflowUtilities.getActivityContext(actContext,
70                                                                    wa,WorkflowUtilities.VARIABLE_TO_PROCESS_UPDATE);
71                wa.set_process_context(updContext);
72             }
73          } catch (Exception JavaDoc ex) {}
74       }
75    }
76
77 }
78
79
Popular Tags