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 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 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 Iterator it=allUsers.iterator(); 51 while (it.hasNext()) { 52 String uname=(String )it.next(); 53 try { 54 listModel.addElement(uname); 56 } catch (Exception 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 un = (String )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 )allUsers.get(usernames.getSelectedIndex())); 106 WfResource oldAssignee=assignment.assignee(); 107 assignment.set_assignee(newAssignee); 108 } catch (Exception 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 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 |