KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > shark > corbaclient > workflowadmin > worklist > Reassignment


1 package org.enhydra.shark.corbaclient.workflowadmin.worklist;
2
3 import java.awt.*;
4 import java.awt.event.*;
5 import java.util.*;
6
7 import javax.swing.*;
8 import javax.swing.border.*;
9 import javax.swing.event.*;
10
11 import org.omg.WorkflowModel.*;
12 import org.enhydra.shark.corbaclient.*;
13 import org.enhydra.shark.corbaclient.workflowadmin.*;
14
15 /**
16  * Enables the user to map some participant to the actual
17  * user represented by it's account username.
18  *
19  * @author Sasa Bojanic
20  * @version 1.0
21  */

22 public class Reassignment extends ActionPanel {
23
24    private static Dimension listFieldDimension=new Dimension(300,300);
25
26    private JList usernames;
27    private JTextField username=new JTextField();
28
29    private String JavaDoc uname;
30
31    private ArrayList allUsers;
32
33    private WfAssignment assignment;
34
35    public Reassignment (JFrame parent,WfAssignment ass,ArrayList allUsers) {
36       this.assignment=ass;
37       this.allUsers=allUsers;
38       init();
39       initDialog(parent,ResourceManager.getLanguageDependentString("DialogReassignWorkitem"),
40                  true,true);
41    }
42
43    protected void createActions () {}
44
45    protected Component createCenterComponent () {
46       username.setEnabled(false);
47
48       DefaultListModel listModel=new DefaultListModel();
49       // fills list of users
50
Iterator it=allUsers.iterator();
51       while (it.hasNext()) {
52          String JavaDoc uname=(String JavaDoc)it.next();
53          try {
54             //listModel.addElement(res.resource_key()+" - "+res.resource_name());
55
listModel.addElement(uname);
56          } catch (Exception JavaDoc ex) {}
57       }
58       JScrollPane scrollParam=new JScrollPane();
59
60       usernames=new JList(listModel);
61       usernames.addListSelectionListener(new ListSelectionListener() {
62                public void valueChanged(ListSelectionEvent e) {
63                   if (e.getValueIsAdjusting()) {
64                      return;
65                   }
66
67                   JList theList = (JList)e.getSource();
68                   if (theList.isSelectionEmpty()) {
69                      username.setText("");
70                   } else {
71                      String JavaDoc un = (String JavaDoc)theList.getSelectedValue();
72                      username.setText(un);
73                   }
74                }
75             });
76       usernames.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
77       scrollParam.setViewportView(usernames);
78       scrollParam.setPreferredSize(new Dimension(listFieldDimension));
79
80       JPanel up=new JPanel();
81       Border emptyb=BorderFactory.createEmptyBorder(10,10,10,10);
82       Border inb=BorderFactory.createMatteBorder(1,1,1,1,Color.darkGray);
83       inb=BorderFactory.createTitledBorder(inb,
84                                            ResourceManager.getLanguageDependentString("ReassignToKey"));
85       up.setBorder(BorderFactory.createCompoundBorder(emptyb,inb));
86       up.setLayout(new BoxLayout(up,BoxLayout.Y_AXIS));
87       up.add(scrollParam);
88       up.add(username);
89
90       return up;
91    }
92
93
94    protected void applyChanges () {
95       WfResource newAssignee;
96       if (usernames.isSelectionEmpty()) {
97          newAssignee=null;
98          JOptionPane.showMessageDialog(this,
99                                        ResourceManager.getLanguageDependentString("ErrorSelectValidUser"),
100                                        ResourceManager.getLanguageDependentString("DialogReassignWorkitem"),
101                                        JOptionPane.ERROR_MESSAGE);
102          return;
103       } else {
104          try {
105             newAssignee=SharkAdmin.getExecAmin().getResource((String JavaDoc)allUsers.get(usernames.getSelectedIndex()));
106             WfResource oldAssignee=assignment.assignee();
107             assignment.set_assignee(newAssignee);
108          } catch (Exception JavaDoc ex) {
109             try {
110                boolean accepted=assignment.get_accepted_status();
111                if (accepted) {
112                   JOptionPane.showMessageDialog(this,
113                                                 ResourceManager.getLanguageDependentString("ErrorCannotReassignAcceptedWorkitem"),
114                                                 SharkAdmin.getAppTitle(),
115                                                 JOptionPane.ERROR_MESSAGE);
116                }
117             } catch (Exception JavaDoc ex2) {
118             }
119             ex.printStackTrace();
120          }
121          myDialog.dispose();
122       }
123    }
124
125    protected void cancelChanges () {
126       myDialog.dispose();
127    }
128
129 }
130
131
Popular Tags