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 ; 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 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 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 String waKey=wa.key(); 48 Map 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 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 updContext=WorkflowUtilities.getActivityContext(actContext, 70 wa,WorkflowUtilities.VARIABLE_TO_PROCESS_UPDATE); 71 wa.set_process_context(updContext); 72 } 73 } catch (Exception ex) {} 74 } 75 } 76 77 } 78 79 | Popular Tags |