📄 paricipantworks.java
字号:
// TODO add your handling code here: jButton1.setEnabled(true); }//GEN-LAST:event_jTable2FocusLost private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed // TODO add your handling code here: jButton2.setEnabled(false); submitWorkItem(); }//GEN-LAST:event_jButton2ActionPerformed private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed // TODO add your handling code here: updateVariables(); }//GEN-LAST:event_jButton1ActionPerformed private void TableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_TableMouseClicked // TODO add your handling code here: worklistClickedProcess(); jButton2.setEnabled(true); }//GEN-LAST:event_TableMouseClicked private void JTreeMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_JTreeMouseClicked // TODO add your handling code here: removeRowsFromTable(jTable1); removeRowsFromTable(jTable2); removeLabels(); jButton1.setEnabled(false); jButton2.setEnabled(false); TreePath tp = jTree1.getSelectionPath(); if (tp != null) { int level = tp.getPathCount(); if (level == 3) { Object[] path = tp.getPath(); String p1 = path[1].toString(); String p2 = path[2].toString(); DefaultMutableTreeNode node = (DefaultMutableTreeNode)path[2]; Object obj = node.getUserObject(); String type = null; String id = null; if (p1.equals("个人")) { type = "HUMAN"; id = ((User)obj).getId(); } else if (p1.equals("角色")) { type = "ROLE"; id = ((Role)obj).getId(); } else if (p1.equals("组织")) { type = "DEPARTMENT"; id = ((Department)obj).getId(); } setWorklist(type,id); } } }//GEN-LAST:event_JTreeMouseClicked /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm System.exit(0); }//GEN-LAST:event_exitForm /** * @param args the command line arguments */ public static void main(String args[]) { new ParicipantWorks().show(); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPanel8; private javax.swing.JPanel jPanel9; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JSplitPane jSplitPane1; private javax.swing.JSplitPane jSplitPane2; private javax.swing.JTable jTable1; private javax.swing.JTable jTable2; private javax.swing.JTree jTree1; // End of variables declaration//GEN-END:variables private void myinit() {// removeRowsFromTable(); ResourceManager rm = new ResourceManager(); Organization orgn = rm.getOrganization(); String root = "XwfBox 参与者列表"; DefaultMutableTreeNode rt = new DefaultMutableTreeNode(root); String human = "个人"; DefaultMutableTreeNode ch11 = new DefaultMutableTreeNode(human); Iterator it = orgn.getUsers().getUsers().iterator(); while (it.hasNext()) { User user = (User)it.next(); DefaultMutableTreeNode u = new DefaultMutableTreeNode(user); ch11.add(u); } String role = "角色"; DefaultMutableTreeNode ch12 = new DefaultMutableTreeNode(role); it = orgn.getRoles().getRoles().iterator(); while (it.hasNext()) { Role rl = (Role)it.next(); DefaultMutableTreeNode r = new DefaultMutableTreeNode(rl); ch12.add(r); } String org = "组织"; DefaultMutableTreeNode ch13 = new DefaultMutableTreeNode(org); it = orgn.getDepartments().getDepartments().iterator(); while (it.hasNext()) { Department dept = (Department)it.next(); DefaultMutableTreeNode d = new DefaultMutableTreeNode(dept); ch13.add(d); } rt.add(ch11); rt.add(ch12); rt.add(ch13); TreeModel dtm = new DefaultTreeModel(rt); jTree1.setModel(dtm); javax.swing.table.TableColumn colt1 = jTable1.getColumnModel().getColumn(0); colt1.setPreferredWidth(4); javax.swing.table.TableColumn colt2 = jTable2.getColumnModel().getColumn(0); colt2.setPreferredWidth(4); } private void setWorklist(String type, String participantId) { // Find participant worklist path ResourceManager rm = new ResourceManager(); String worklistPath = rm.getWorkListPath(type); // Get the participant worklist WorkListManager wm = new WorkListManager(participantId, worklistPath); Vector workItems = wm.getWorkItems(); if (workItems != null) { setTableRowCount(jTable1, workItems.size()); Iterator it = workItems.iterator(); int i = 0; while (it.hasNext()) { WorkItem wi = (WorkItem) it.next(); String s = String.valueOf(i+1); jTable1.setValueAt(s, i, 0); jTable1.setValueAt(wi.getTaskId(), i, 1); jTable1.setValueAt(wi.getTaskName(), i, 2); jTable1.setValueAt(wi.getInstanceId(), i, 3); jTable1.setValueAt(wi.getArrival(), i, 4); i++; } } else { removeRowsFromTable(jTable1); } } private void removeRowsFromTable(javax.swing.JTable jTable) { javax.swing.table.DefaultTableModel tm = (javax.swing.table.DefaultTableModel)jTable.getModel(); int rc = tm.getRowCount(); for (int i = rc - 1; i >= 0; i--) { tm.removeRow(i); } tm.setRowCount(0); } private void setTableRowCount(javax.swing.JTable jTable, int rc) { javax.swing.table.DefaultTableModel tm = (javax.swing.table.DefaultTableModel)jTable.getModel(); tm.setRowCount(rc); } private void worklistClickedProcess() { int selected = jTable1.getSelectedRow(); String taskId = jTable1.getModel().getValueAt(selected, 1).toString(); String taskName = jTable1.getModel().getValueAt(selected, 2).toString(); String instanceId = jTable1.getModel().getValueAt(selected, 3).toString(); String arrival = jTable1.getModel().getValueAt(selected, 4).toString(); //Set WorkTtem information jLabel7.setText(taskId); jLabel8.setText(taskName); jLabel9.setText(instanceId); jLabel10.setText(arrival); // Get the instance by instanceId InstanceTableManager itm = new InstanceTableManager(); String loc = itm.getInstanceLocation(instanceId); InstanceManager im = new InstanceManager(loc); Vector vars = im.getInstance().getVariables().getVariables(); Iterator it = vars.iterator(); setTableRowCount(jTable2, vars.size()); int i = 0; while (it.hasNext()) { Variable var = (Variable) it.next(); String s = String.valueOf(i+1); jTable2.setValueAt(s, i, 0); jTable2.setValueAt(var.getId(), i, 1); jTable2.setValueAt(var.getType(), i, 2); jTable2.setValueAt(var.getValue(), i, 3); i++; } // System.out.println(col0 + "/" + col1 + "/" + col2 + "/" + instanceId); } private void updateVariables() { String instanceId = jLabel9.getText(); InstanceTableManager itm = new InstanceTableManager(); String loc = itm.getInstanceLocation(instanceId); InstanceManager im = new InstanceManager(loc); Vector vars = im.getInstance().getVariables().getVariables(); Iterator it = vars.iterator(); int i = 0; while (it.hasNext()) { Variable var = (Variable) it.next(); var.setId((String)jTable2.getValueAt(i, 1)); var.setType((String)jTable2.getValueAt(i, 2)); var.setValue((String)jTable2.getValueAt(i, 3)); i++; } im.update(); jButton1.setEnabled(false); } private void submitWorkItem() { String workId = jLabel7.getText(); TreePath tp = jTree1.getSelectionPath(); Object[] path = tp.getPath(); String participantType = getParticipantType(path[1].toString()); String participantId = null; if (participantType.equals("HUMAN")) { DefaultMutableTreeNode tn = (DefaultMutableTreeNode)path[2]; User user = (User)tn.getUserObject(); participantId = user.getId(); } else if (participantType.equals("ROLE")) { DefaultMutableTreeNode tn = (DefaultMutableTreeNode)path[2]; Role role = (Role)tn.getUserObject(); participantId = role.getId(); } else if (participantType.equals("DEPARTMENT")) { DefaultMutableTreeNode tn = (DefaultMutableTreeNode)path[2]; Department dept = (Department)tn.getUserObject(); participantId = dept.getId(); } if ((workId.length() > 4) && (participantId != null)) { WorkflowEngine we = new WorkflowEngine(); we.informTaskFinish(workId, participantId, participantType); } } private String getParticipantType(String sType) { if (sType.equals("个人")) { return "HUMAN"; } else if (sType.equals("角色")) { return "ROLE"; } else if (sType.equals("组织")) { return "DEPARTMENT"; } else return "ERROR"; } private void removeLabels() { jLabel7.setText(" "); jLabel8.setText(" "); jLabel9.setText(" "); jLabel10.setText(" "); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -