1.1 --- a/bpel.editors/src/org/netbeans/modules/bpel/properties/editors/InvokeMainPanel.java Fri Jun 15 16:47:48 2007 +0000
1.2 +++ b/bpel.editors/src/org/netbeans/modules/bpel/properties/editors/InvokeMainPanel.java Fri Jun 15 18:10:31 2007 +0000
1.3 @@ -112,15 +112,25 @@
1.4 cbxPartnerLink = mcc.getCbxPartnerLink();
1.5 lblOperation = new javax.swing.JLabel();
1.6 cbxOperation = mcc.getCbxOperation();
1.7 - lblInputVariable = new javax.swing.JLabel();
1.8 + lblErrorMessage = new javax.swing.JLabel();
1.9 + jPanel1 = new javax.swing.JPanel();
1.10 + jPanel2 = new javax.swing.JPanel();
1.11 + jRadioButton1 = mcc.getRbtnInputVariable();
1.12 fldInputVariable = mcc.getFldInputVariable();
1.13 btnNewInputVariable = mcc.getBtnNewInputVariable();
1.14 btnChooseInputVariable = mcc.getBtnChooseInputVariable();
1.15 - lblOutputVariable = new javax.swing.JLabel();
1.16 + jRadioButton2 = mcc.getRbtnInputToParts();
1.17 + jScrollPane4 = new javax.swing.JScrollPane();
1.18 + jTable3 = mcc.getTblInputToParts();
1.19 + jPanel3 = new javax.swing.JPanel();
1.20 + jRadioButton3 = mcc.getRbtnOutputVariable();
1.21 fldOutputVariable = mcc.getFldOutputVariable();
1.22 btnNewOutputVariable = mcc.getBtnNewOutputVariable();
1.23 btnChooseOutputVariable = mcc.getBtnChooseOutputVariable();
1.24 - lblErrorMessage = new javax.swing.JLabel();
1.25 + mcc.getRbtnOutputFromParts();
1.26 + jRadioButton4 = mcc.getRbtnOutputFromParts();
1.27 + jScrollPane2 = new javax.swing.JScrollPane();
1.28 + jTable1 = mcc.getTblOutputFromParts();
1.29
1.30 lblName.setLabelFor(fldName);
1.31 lblName.setText(org.openide.util.NbBundle.getMessage(FormBundle.class, "LBL_Name"));
1.32 @@ -140,10 +150,15 @@
1.33 lblOperation.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSN_LBL_Operation"));
1.34 lblOperation.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSD_LBL_Operation"));
1.35
1.36 - lblInputVariable.setLabelFor(fldInputVariable);
1.37 - lblInputVariable.setText(org.openide.util.NbBundle.getMessage(FormBundle.class, "LBL_InputVariable"));
1.38 - lblInputVariable.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSN_LBL_InputVariable"));
1.39 - lblInputVariable.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSD_LBL_InputVariable"));
1.40 + lblErrorMessage.setForeground(new java.awt.Color(255, 0, 0));
1.41 + lblErrorMessage.setAlignmentX(0.5F);
1.42 +
1.43 + jPanel1.setLayout(new java.awt.GridLayout(2, 1, 0, 4));
1.44 +
1.45 + jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Input"));
1.46 + jRadioButton1.setText("Input Variable:");
1.47 + jRadioButton1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1.48 + jRadioButton1.setMargin(new java.awt.Insets(0, 0, 0, 0));
1.49
1.50 fldInputVariable.setColumns(30);
1.51 fldInputVariable.setEditable(false);
1.52 @@ -158,10 +173,55 @@
1.53 btnChooseInputVariable.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSN_BTN_BrowseInputVarible"));
1.54 btnChooseInputVariable.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSD_BTN_BrowseInputVarible"));
1.55
1.56 - lblOutputVariable.setLabelFor(fldOutputVariable);
1.57 - lblOutputVariable.setText(org.openide.util.NbBundle.getMessage(FormBundle.class, "LBL_OutputVariable"));
1.58 - lblOutputVariable.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSN_LBL_OutputVariable"));
1.59 - lblOutputVariable.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSD_LBL_OutputVariable"));
1.60 + jRadioButton2.setText("To Parts:");
1.61 + jRadioButton2.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1.62 + jRadioButton2.setMargin(new java.awt.Insets(0, 0, 0, 0));
1.63 +
1.64 + jScrollPane4.setViewportView(jTable3);
1.65 +
1.66 + org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
1.67 + jPanel2.setLayout(jPanel2Layout);
1.68 + jPanel2Layout.setHorizontalGroup(
1.69 + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.70 + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup()
1.71 + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
1.72 + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2Layout.createSequentialGroup()
1.73 + .add(27, 27, 27)
1.74 + .add(jScrollPane4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 428, Short.MAX_VALUE))
1.75 + .add(jPanel2Layout.createSequentialGroup()
1.76 + .addContainerGap()
1.77 + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.78 + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup()
1.79 + .add(jRadioButton1)
1.80 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.81 + .add(fldInputVariable, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE)
1.82 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.83 + .add(btnNewInputVariable)
1.84 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.85 + .add(btnChooseInputVariable, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 65, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
1.86 + .add(jRadioButton2))))
1.87 + .addContainerGap())
1.88 + );
1.89 + jPanel2Layout.setVerticalGroup(
1.90 + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.91 + .add(jPanel2Layout.createSequentialGroup()
1.92 + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
1.93 + .add(fldInputVariable, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
1.94 + .add(jRadioButton1)
1.95 + .add(btnNewInputVariable)
1.96 + .add(btnChooseInputVariable))
1.97 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.98 + .add(jRadioButton2)
1.99 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.100 + .add(jScrollPane4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE)
1.101 + .addContainerGap())
1.102 + );
1.103 + jPanel1.add(jPanel2);
1.104 +
1.105 + jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Output"));
1.106 + jRadioButton3.setText("Output Variable:");
1.107 + jRadioButton3.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1.108 + jRadioButton3.setMargin(new java.awt.Insets(0, 0, 0, 0));
1.109
1.110 fldOutputVariable.setColumns(30);
1.111 fldOutputVariable.setEditable(false);
1.112 @@ -176,8 +236,52 @@
1.113 btnChooseOutputVariable.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSN_BTN_BrowseOutputVarible"));
1.114 btnChooseOutputVariable.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(FormBundle.class,"ACSD_BTN_BrowseOutputVarible"));
1.115
1.116 - lblErrorMessage.setForeground(new java.awt.Color(255, 0, 0));
1.117 - lblErrorMessage.setAlignmentX(0.5F);
1.118 + jRadioButton4.setText("From Parts:");
1.119 + jRadioButton4.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
1.120 + jRadioButton4.setMargin(new java.awt.Insets(0, 0, 0, 0));
1.121 +
1.122 + jScrollPane2.setViewportView(jTable1);
1.123 +
1.124 + org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
1.125 + jPanel3.setLayout(jPanel3Layout);
1.126 + jPanel3Layout.setHorizontalGroup(
1.127 + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.128 + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
1.129 + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
1.130 + .add(jPanel3Layout.createSequentialGroup()
1.131 + .addContainerGap()
1.132 + .add(jRadioButton3)
1.133 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.134 + .add(fldOutputVariable, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 198, Short.MAX_VALUE)
1.135 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.136 + .add(btnNewOutputVariable)
1.137 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.138 + .add(btnChooseOutputVariable))
1.139 + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3Layout.createSequentialGroup()
1.140 + .addContainerGap()
1.141 + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.142 + .add(jPanel3Layout.createSequentialGroup()
1.143 + .add(17, 17, 17)
1.144 + .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 428, Short.MAX_VALUE))
1.145 + .add(jRadioButton4))))
1.146 + .addContainerGap())
1.147 + );
1.148 + jPanel3Layout.setVerticalGroup(
1.149 + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.150 + .add(jPanel3Layout.createSequentialGroup()
1.151 + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.152 + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
1.153 + .add(jRadioButton3)
1.154 + .add(btnNewOutputVariable)
1.155 + .add(fldOutputVariable, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
1.156 + .add(btnChooseOutputVariable))
1.157 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.158 + .add(jRadioButton4)
1.159 + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.160 + .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE)
1.161 + .addContainerGap())
1.162 + );
1.163 + jPanel1.add(jPanel3);
1.164
1.165 org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
1.166 this.setLayout(layout);
1.167 @@ -186,34 +290,18 @@
1.168 .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
1.169 .addContainerGap()
1.170 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
1.171 - .add(org.jdesktop.layout.GroupLayout.LEADING, lblErrorMessage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 457, Short.MAX_VALUE)
1.172 + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 481, Short.MAX_VALUE)
1.173 + .add(org.jdesktop.layout.GroupLayout.LEADING, lblErrorMessage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 481, Short.MAX_VALUE)
1.174 .add(layout.createSequentialGroup()
1.175 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.176 .add(lblName)
1.177 .add(lblPartnerLink)
1.178 - .add(lblOperation)
1.179 - .add(lblInputVariable)
1.180 - .add(lblOutputVariable))
1.181 + .add(lblOperation))
1.182 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.183 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.184 - .add(fldName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 358, Short.MAX_VALUE)
1.185 - .add(cbxPartnerLink, 0, 358, Short.MAX_VALUE)
1.186 - .add(cbxOperation, 0, 358, Short.MAX_VALUE)
1.187 - .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
1.188 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.189 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
1.190 - .add(fldOutputVariable, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE)
1.191 - .add(fldInputVariable, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 190, Short.MAX_VALUE))
1.192 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.193 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
1.194 - .add(layout.createSequentialGroup()
1.195 - .add(btnNewInputVariable)
1.196 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.197 - .add(btnChooseInputVariable))
1.198 - .add(layout.createSequentialGroup()
1.199 - .add(btnNewOutputVariable)
1.200 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.201 - .add(btnChooseOutputVariable)))))))
1.202 + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
1.203 + .add(org.jdesktop.layout.GroupLayout.LEADING, cbxPartnerLink, 0, 409, Short.MAX_VALUE)
1.204 + .add(fldName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 409, Short.MAX_VALUE)
1.205 + .add(cbxOperation, 0, 409, Short.MAX_VALUE))))
1.206 .addContainerGap())
1.207 );
1.208 layout.setVerticalGroup(
1.209 @@ -232,19 +320,9 @@
1.210 .add(lblOperation)
1.211 .add(cbxOperation, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
1.212 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.213 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
1.214 - .add(lblInputVariable)
1.215 - .add(btnChooseInputVariable)
1.216 - .add(btnNewInputVariable)
1.217 - .add(fldInputVariable, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
1.218 + .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 302, Short.MAX_VALUE)
1.219 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.220 - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
1.221 - .add(btnChooseOutputVariable)
1.222 - .add(btnNewOutputVariable)
1.223 - .add(lblOutputVariable)
1.224 - .add(fldOutputVariable, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
1.225 - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
1.226 - .add(lblErrorMessage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)
1.227 + .add(lblErrorMessage)
1.228 .addContainerGap())
1.229 );
1.230 }// </editor-fold>//GEN-END:initComponents
1.231 @@ -260,11 +338,20 @@
1.232 private javax.swing.JTextField fldInputVariable;
1.233 private javax.swing.JTextField fldName;
1.234 private javax.swing.JTextField fldOutputVariable;
1.235 + private javax.swing.JPanel jPanel1;
1.236 + private javax.swing.JPanel jPanel2;
1.237 + private javax.swing.JPanel jPanel3;
1.238 + private javax.swing.JRadioButton jRadioButton1;
1.239 + private javax.swing.JRadioButton jRadioButton2;
1.240 + private javax.swing.JRadioButton jRadioButton3;
1.241 + private javax.swing.JRadioButton jRadioButton4;
1.242 + private javax.swing.JScrollPane jScrollPane2;
1.243 + private javax.swing.JScrollPane jScrollPane4;
1.244 + private javax.swing.JTable jTable1;
1.245 + private javax.swing.JTable jTable3;
1.246 private javax.swing.JLabel lblErrorMessage;
1.247 - private javax.swing.JLabel lblInputVariable;
1.248 private javax.swing.JLabel lblName;
1.249 private javax.swing.JLabel lblOperation;
1.250 - private javax.swing.JLabel lblOutputVariable;
1.251 private javax.swing.JLabel lblPartnerLink;
1.252 // End of variables declaration//GEN-END:variables
1.253 }
2.1 --- a/bpel.editors/src/org/netbeans/modules/bpel/properties/editors/controls/MessageConfigurationController.java Fri Jun 15 16:47:48 2007 +0000
2.2 +++ b/bpel.editors/src/org/netbeans/modules/bpel/properties/editors/controls/MessageConfigurationController.java Fri Jun 15 18:10:31 2007 +0000
2.3 @@ -18,20 +18,40 @@
2.4 */
2.5 package org.netbeans.modules.bpel.properties.editors.controls;
2.6
2.7 +import java.awt.BorderLayout;
2.8 +import java.awt.Color;
2.9 import java.awt.Component;
2.10 import java.awt.Dialog;
2.11 +import java.awt.Font;
2.12 +import java.awt.Insets;
2.13 import java.awt.event.ActionEvent;
2.14 import java.awt.event.ActionListener;
2.15 import java.awt.event.ItemEvent;
2.16 import java.awt.event.ItemListener;
2.17 import java.util.Collection;
2.18 import java.util.concurrent.Callable;
2.19 +import javax.swing.AbstractCellEditor;
2.20 +import javax.swing.ButtonGroup;
2.21 import javax.swing.DefaultComboBoxModel;
2.22 import javax.swing.DefaultListCellRenderer;
2.23 import javax.swing.JButton;
2.24 import javax.swing.JComboBox;
2.25 +import javax.swing.JLabel;
2.26 import javax.swing.JList;
2.27 +import javax.swing.JPanel;
2.28 +import javax.swing.JRadioButton;
2.29 +import javax.swing.JTable;
2.30 import javax.swing.JTextField;
2.31 +import javax.swing.UIManager;
2.32 +import javax.swing.border.Border;
2.33 +import javax.swing.border.EmptyBorder;
2.34 +import javax.swing.table.DefaultTableColumnModel;
2.35 +import javax.swing.table.DefaultTableModel;
2.36 +import javax.swing.table.TableCellEditor;
2.37 +import javax.swing.table.TableCellRenderer;
2.38 +import javax.swing.table.TableColumn;
2.39 +import javax.swing.table.TableColumnModel;
2.40 +import javax.swing.table.TableModel;
2.41 import org.netbeans.modules.bpel.properties.VirtualVariableContainer;
2.42 import org.netbeans.modules.soa.ui.form.CustomNodeEditor;
2.43 import org.netbeans.modules.bpel.model.api.BPELElementsBuilder;
2.44 @@ -77,6 +97,7 @@
2.45 import org.netbeans.modules.soa.ui.form.valid.DefaultDialogDescriptor;
2.46 import org.netbeans.modules.soa.ui.form.valid.Validator;
2.47 import org.netbeans.modules.xml.wsdl.model.Message;
2.48 +import org.netbeans.modules.xml.wsdl.model.Part;
2.49 import org.netbeans.modules.xml.wsdl.model.extensions.bpel.Role;
2.50 import org.openide.nodes.Node;
2.51 import org.openide.util.NbBundle;
2.52 @@ -95,15 +116,25 @@
2.53 private CustomNodeEditor myEditor;
2.54 private DefaultValidator myValidator;
2.55
2.56 - private JButton btnChooseInputVariable;
2.57 - private JButton btnChooseOutputVariable;
2.58 private JButton btnNewInputVariable;
2.59 private JButton btnNewOutputVariable;
2.60 private JComboBox cbxOperation;
2.61 private JComboBox cbxPartnerLink;
2.62 + private JTextField fldVariableName;
2.63 +
2.64 + private JRadioButton rbtnInputVariable;
2.65 + private JRadioButton rbtnInputToParts;
2.66 private JTextField fldInputVariable;
2.67 + private JButton btnChooseInputVariable;
2.68 + private PartVariableTable tblInputToParts;
2.69 + private ButtonGroup inputButtonGroup;
2.70 +
2.71 + private JRadioButton rbtnOutputVariable;
2.72 + private JRadioButton rbtnOutputFromParts;
2.73 private JTextField fldOutputVariable;
2.74 - private JTextField fldVariableName;
2.75 + private JButton btnChooseOutputVariable;
2.76 + private PartVariableTable tblOutputFromParts;
2.77 + private ButtonGroup outputButtonGroup;
2.78
2.79 /**
2.80 * Specifies what role (My or Partner) has to be used
2.81 @@ -159,6 +190,9 @@
2.82 }
2.83
2.84 public void createContent() {
2.85 + inputButtonGroup = new ButtonGroup();
2.86 + outputButtonGroup = new ButtonGroup();
2.87 +
2.88 //
2.89 btnChooseInputVariable = new JButton();
2.90 btnChooseOutputVariable = new JButton();
2.91 @@ -166,9 +200,46 @@
2.92 btnNewOutputVariable = new JButton();
2.93 cbxOperation = new JComboBox();
2.94 cbxPartnerLink = new JComboBox();
2.95 +
2.96 + ActionListener inputRadioActionListener = new ActionListener() {
2.97 + public void actionPerformed(ActionEvent event) {
2.98 + updateEnabledStateForInputUI();
2.99 + }
2.100 + };
2.101 + rbtnInputVariable = new JRadioButton();
2.102 + rbtnInputVariable.addActionListener(inputRadioActionListener);
2.103 + rbtnInputToParts = new JRadioButton();
2.104 + rbtnInputToParts.addActionListener(inputRadioActionListener);
2.105 fldInputVariable = new JTextField();
2.106 + inputButtonGroup = new ButtonGroup();
2.107 + inputButtonGroup.add(rbtnInputVariable);
2.108 + inputButtonGroup.add(rbtnInputToParts);
2.109 + tblInputToParts = new PartVariableTable(true);
2.110 +
2.111 + ActionListener outputRadioActionListener = new ActionListener() {
2.112 + public void actionPerformed(ActionEvent event) {
2.113 + updateEnabledStateForOutputUI();
2.114 + }
2.115 + };
2.116 fldOutputVariable = new JTextField();
2.117 + rbtnOutputVariable = new JRadioButton();
2.118 + rbtnOutputVariable.addActionListener(outputRadioActionListener);
2.119 + rbtnOutputFromParts = new JRadioButton();
2.120 + rbtnOutputFromParts.addActionListener(outputRadioActionListener);
2.121 + outputButtonGroup = new ButtonGroup();
2.122 + outputButtonGroup.add(rbtnOutputVariable);
2.123 + outputButtonGroup.add(rbtnOutputFromParts);
2.124 + tblOutputFromParts = new PartVariableTable(false);
2.125 +
2.126 + rbtnInputVariable.setSelected(true);
2.127 + updateEnabledStateForInputUI();
2.128 +
2.129 + rbtnOutputVariable.setSelected(true);
2.130 + updateEnabledStateForOutputUI();
2.131 +
2.132 fldVariableName = new JTextField();
2.133 +
2.134 +
2.135 //
2.136 cbxPartnerLink.addItemListener(new ItemListener() {
2.137 public void itemStateChanged(ItemEvent event) {
2.138 @@ -792,6 +863,13 @@
2.139 }
2.140 }
2.141
2.142 +
2.143 + private void setEnabled(boolean value, Component... components) {
2.144 + for (Component c : components) {
2.145 + c.setEnabled(value);
2.146 + }
2.147 + }
2.148 +
2.149 /**
2.150 * Update variables state according to selected Partner Link or Operation.
2.151 * It can clear current variables if they have not suitable type and
2.152 @@ -803,10 +881,17 @@
2.153 if (element == null) {
2.154 setCurrInputVar(null);
2.155 setCurrOutputVar(null);
2.156 - btnNewInputVariable.setEnabled(false);
2.157 - btnChooseInputVariable.setEnabled(false);
2.158 - btnNewOutputVariable.setEnabled(false);
2.159 - btnChooseOutputVariable.setEnabled(false);
2.160 + setEnabled(false,
2.161 + btnNewInputVariable,
2.162 + btnChooseInputVariable,
2.163 + btnNewOutputVariable,
2.164 + btnChooseOutputVariable,
2.165 + rbtnInputToParts,
2.166 + rbtnInputVariable,
2.167 + rbtnOutputFromParts,
2.168 + rbtnOutputVariable,
2.169 + tblInputToParts,
2.170 + tblOutputFromParts);
2.171 } else {
2.172 assert element instanceof Operation;
2.173 //
2.174 @@ -838,10 +923,16 @@
2.175 setCurrInputVar(null);
2.176 }
2.177 }
2.178 +
2.179 }
2.180 +
2.181 + tblInputToParts.setMessage(inMessage);
2.182 //
2.183 - btnNewInputVariable.setEnabled(input != null);
2.184 - btnChooseInputVariable.setEnabled(input != null);
2.185 +
2.186 + setEnabled(input != null, btnNewInputVariable,
2.187 + btnChooseInputVariable, rbtnInputToParts,
2.188 + rbtnInputVariable, tblInputToParts);
2.189 + updateEnabledStateForInputUI();
2.190 }
2.191 //
2.192 if (outputVisible && isOutputVarEnabled) {
2.193 @@ -866,13 +957,52 @@
2.194 }
2.195 }
2.196 }
2.197 +
2.198 + tblOutputFromParts.setMessage(outMessage);
2.199 +
2.200 +
2.201 //
2.202 - btnNewOutputVariable.setEnabled(output != null);
2.203 - btnChooseOutputVariable.setEnabled(output != null);
2.204 + setEnabled(output != null, btnNewOutputVariable,
2.205 + btnChooseOutputVariable, rbtnOutputFromParts,
2.206 + rbtnOutputVariable, tblOutputFromParts);
2.207 + updateEnabledStateForOutputUI();
2.208 }
2.209 }
2.210 }
2.211
2.212 +
2.213 + private TableModel createToPartsTableModel(Message message) {
2.214 + DefaultTableModel result = new DefaultTableModel(
2.215 + new Object[] { "From Variable", "To Part"}, 0);
2.216 +
2.217 + if (message != null) {
2.218 + Collection<Part> parts = message.getParts();
2.219 +
2.220 + for (Part part : parts) {
2.221 + result.addRow(new Object[] { null, part });
2.222 + }
2.223 + }
2.224 +
2.225 + return result;
2.226 + }
2.227 +
2.228 +
2.229 + private TableModel createFromPartsTableModel(Message message) {
2.230 + DefaultTableModel result = new DefaultTableModel(
2.231 + new Object[] { "From Part", "To Variable"}, 0);
2.232 +
2.233 + if (message != null) {
2.234 + Collection<Part> parts = message.getParts();
2.235 +
2.236 + for (Part part : parts) {
2.237 + result.addRow(new Object[] { part, null });
2.238 + }
2.239 + }
2.240 +
2.241 + return result;
2.242 + }
2.243 +
2.244 +
2.245 /**
2.246 * This method allows to globally mark the controls
2.247 * for the output variabl as disabled.
2.248 @@ -1018,6 +1148,32 @@
2.249 Object operationObj = cbxOperation.getSelectedItem();
2.250 return operationObj == null ? null : (Operation)operationObj;
2.251 }
2.252 +
2.253 + public JTable getTblInputToParts() {
2.254 + return tblInputToParts;
2.255 + }
2.256 +
2.257 +
2.258 + public JTable getTblOutputFromParts() {
2.259 + return tblOutputFromParts;
2.260 + }
2.261 +
2.262 + public JRadioButton getRbtnInputToParts() {
2.263 + return rbtnInputToParts;
2.264 + }
2.265 +
2.266 + public JRadioButton getRbtnInputVariable() {
2.267 + return rbtnInputVariable;
2.268 + }
2.269 +
2.270 + public JRadioButton getRbtnOutputFromParts() {
2.271 + return rbtnOutputFromParts;
2.272 + }
2.273 +
2.274 + public JRadioButton getRbtnOutputVariable() {
2.275 + return rbtnOutputVariable;
2.276 + }
2.277 +
2.278
2.279 // ==============================================================
2.280 // Fields accessors
2.281 @@ -1058,14 +1214,50 @@
2.282 public JTextField getFldVariableName() {
2.283 return fldVariableName;
2.284 }
2.285 +
2.286
2.287 public void setConfigurationListener(ConfigurationListener newValue) {
2.288 myListener = newValue;
2.289 }
2.290 +
2.291 +
2.292 + private void updateEnabledStateForInputUI() {
2.293 + boolean variableEnabled;
2.294 + boolean toPartsEnabled;
2.295 +
2.296 + if (!rbtnInputVariable.isEnabled()) {
2.297 + variableEnabled = false;
2.298 + toPartsEnabled = false;
2.299 + } else {
2.300 + variableEnabled = rbtnInputVariable.isSelected();
2.301 + toPartsEnabled = rbtnInputToParts.isSelected();
2.302 + }
2.303 +
2.304 + setEnabled(variableEnabled, fldInputVariable,
2.305 + btnNewInputVariable, btnChooseInputVariable);
2.306 + setEnabled(toPartsEnabled, tblInputToParts);
2.307 + }
2.308 +
2.309 + private void updateEnabledStateForOutputUI() {
2.310 + boolean variableEnabled;
2.311 + boolean toPartsEnabled;
2.312 +
2.313 + if (!rbtnOutputVariable.isEnabled()) {
2.314 + variableEnabled = false;
2.315 + toPartsEnabled = false;
2.316 + } else {
2.317 + variableEnabled = rbtnOutputVariable.isSelected();
2.318 + toPartsEnabled = rbtnOutputFromParts.isSelected();
2.319 + }
2.320 +
2.321 + setEnabled(variableEnabled, fldOutputVariable,
2.322 + btnNewOutputVariable, btnChooseOutputVariable);
2.323 + setEnabled(toPartsEnabled, tblOutputFromParts);
2.324 + }
2.325 +
2.326
2.327 public interface ConfigurationListener {
2.328 void partnerLinkChanged();
2.329 void operationChanged();
2.330 }
2.331 -
2.332 }