⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inclusivegatewaystateimpl.java

📁 用JGraph编的软件
💻 JAVA
字号:
package org.jgpd.io.jbpm.definition.impl;import java.util.*;import javax.swing.DefaultCellEditor;import javax.swing.JComboBox;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import org.jgpd.UI.PropPanelConfig;import org.jgpd.UI.tableModels.JGpdTableModel;import org.jgpd.io.jbpm.definition.ActivityState;import org.jgpd.io.jbpm.definition.FieldAccess;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;public class InclusiveGatewayStateImpl extends StateImpl //implements InclusiveGatewayState {{        public InclusiveGatewayStateImpl()        {                setFields(new Vector());        }        public InclusiveGatewayStateImpl(Node node)        {                String nodeValue = null;                Vector newFields = new Vector();        // Get attributes        NamedNodeMap attrMap = node.getAttributes();        Node nameNode = attrMap.getNamedItem("name");        String name = nameNode.getNodeValue();        setName(name);        // Get sub-elements                for (int i = 0; i < node.getChildNodes().getLength(); i++)                {                        Node child = node.getChildNodes().item(i);                        String nextChildString = child.getNodeName().toLowerCase();                        if (child.getNodeName().toLowerCase().equals("description"))                        {                                Node next_child = child.getFirstChild();                        try {                                nodeValue = next_child.getNodeValue();                        } catch (Exception e) {                                // FIXME - do something                        }                            if ( nodeValue != null )                            {                                    setDescription(nodeValue);                            }                        }                        else if (child.getNodeName().toLowerCase().equals("role"))                        {                                Node next_child = child.getFirstChild();                        try {                                nodeValue = next_child.getNodeValue();                        } catch (Exception e) {                                // FIXME - do something                        }                                if ( nodeValue != null )                                {                                        setActorRoleName(nodeValue);                                }                        }                        else if (child.getNodeName().toLowerCase().equals("field"))                        {                                FieldImpl field = new FieldImpl(child);                                newFields.add(field);                        }                }                setFields(newFields);        }        public PropPanelConfig propPanelModel(JTable[] table,                                              JGpdTableModel[] tableModel)        {                PropPanelConfig panelConfig = new PropPanelConfig();                panelConfig.numTabsUsed = 3;                panelConfig.tabStrings.add("属性面板");                panelConfig.tabStrings.add("门");                panelConfig.tabStrings.add("输出顺序流");                // Properties tab                tableModel[0].setRowCount(0);                tableModel[0].setColumnIdentifiers(new Object[]{"属性",                                                                  "值"});                // No entries allowed, set any default entry string                tableModel[0].setDefaultCellEntries(new Object[]{"", ""});                tableModel[0].setAddDeletingAllowed(false);                tableModel[0].setColumnEditable(new boolean[]{false,true});                tableModel[0].setMaxNumDynamicRows(0);                tableModel[0].setNumStaticRows(3);                tableModel[0].insertRow( 0, new Object[] {                                "GatewayType",                                getGatewayType()});              //  tableModel[0].insertRow( 1, new Object[] {              //                  "Gate:",              //                  null});              //  tableModel[0].insertRow( 2, new Object[] {              //                  "OutgoingSequenceFlow",              //                  null});              //  tableModel[0].insertRow(3,new Object[]{"Assign",null});                tableModel[0].setNumStaticRows(2);                TableColumn editColumn = table[0].getColumnModel().getColumn(1);                JTextField textField = new JTextField();                editColumn.setCellEditor(new DefaultCellEditor(textField));                // tab 门                tableModel[1].setRowCount(0);                tableModel[1].setColumnIdentifiers(new Object[]{"Gate",                                                                  "GateID"});                tableModel[1].setDefaultCellEntries(new Object[]{"输入Gate号",                                                                                                                 FieldAccess.READ_ONLY});                tableModel[1].setAddDeletingAllowed(true);                tableModel[1].setColumnEditable(new boolean[]{true,true});                tableModel[1].setMaxNumDynamicRows(50000);                tableModel[1].setNumStaticRows(0);                Collection fields = getFields();                Iterator iter = fields.iterator();                while (iter.hasNext())                {                        FieldImpl field = (FieldImpl) iter.next();                        tableModel[1].addRow( new Object[] {                                        field.getName(),                                        field.getAccess().toString()});                }                editColumn = table[1].getColumnModel().getColumn(1);                JComboBox comboBox = new JComboBox();                comboBox.addItem(FieldAccess.NOT_ACCESSIBLE.toString());                comboBox.addItem(FieldAccess.READ_ONLY.toString());                comboBox.addItem(FieldAccess.WRITE_ONLY.toString());                comboBox.addItem(FieldAccess.WRITE_ONLY_REQUIRED.toString());                comboBox.addItem(FieldAccess.READ_WRITE.toString());                comboBox.addItem(FieldAccess.READ_WRITE_REQUIRED.toString());                editColumn.setCellEditor(new DefaultCellEditor(comboBox));                // 输出顺序流 tab                tableModel[2].setRowCount(0);                tableModel[2].setColumnIdentifiers(new Object[]{"输出顺序流",                "表达式"});                tableModel[2].setDefaultCellEntries(new Object[]{"OutgoingSequenceFlow",                                "输出顺序流ID"});                tableModel[2].setAddDeletingAllowed(true);                tableModel[2].setColumnEditable(new boolean[]{true,true});                tableModel[2].setMaxNumDynamicRows(50000);                tableModel[2].setNumStaticRows(0);                editColumn = table[2].getColumnModel().getColumn(1);                Collection actions = getActions();                int sizeActions = 0;                if ( actions != null )                {                        sizeActions = actions.size();                }                return panelConfig;        }        public void applyProperties(DefaultTableModel[] tableModel)        {                Vector propsVector = tableModel[0].getDataVector();                setName(((Vector)propsVector.get(0)).get(1).toString());                setDescription(((Vector)propsVector.get(1)).get(1).toString());                setActorRoleName(((Vector)propsVector.get(2)).get(1).toString());                Vector fieldsVector = tableModel[1].getDataVector();                if ( fieldsVector.isEmpty() )                {                        clearFields();                }                else                {                        Vector newFields = new Vector();                        for (int i = 0; i < fieldsVector.size(); i++)                        {                                FieldImpl field = new FieldImpl();                                field.setName(((Vector)fieldsVector.get(i)).get(0).toString());                                String access = ((Vector)fieldsVector.get(i)).get(1).toString();                                field.setAccess(FieldAccess.fromText(access));                                //FIXME need to add initial field value?                                newFields.add( field );                        }                        setFields(newFields);                }        }  public String writeXML(String indent)  {          String xml = indent + "<switch name=\"" + this.name + "\">\n";        String local_indent = indent + "  ";          xml += local_indent + "<description>" + this.description + "</description>\n";        // FIXME TODO db assignment handler here        xml += local_indent + "<role>" + actorRoleName + "</role>\n";        Collection fields = getFields();        Iterator iter = fields.iterator();        while (iter.hasNext())        {          FieldImpl field = (FieldImpl) iter.next();          xml += field.writeXML( local_indent+ "  " );        }        xml += super.writeXML(local_indent);        xml += indent + "</activity-state>\n\n";    return xml;  }  public String getActorRoleName() { return actorRoleName; }  public void setActorRoleName( String actorRoleName ) { this.actorRoleName = actorRoleName; }  public String getDisplayedNodeType()  {          return nodeType;  }  public String getGatewayType() {    return gatewayType;  }  private String actorRoleName = new String("Edit");  public static final String nodeType = new String("inclusiveGateway");  private String gatewayType=new String("OR");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -