001 /**
002 The contents of this file are subject to the Mozilla Public License Version 1.1
003 (the "License"); you may not use this file except in compliance with the License.
004 You may obtain a copy of the License at http://www.mozilla.org/MPL/
005 Software distributed under the License is distributed on an "AS IS" basis,
006 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
007 specific language governing rights and limitations under the License.
008
009 The Original Code is "ConnectionDialog.java". Description:
010 "A dialog box for opening a new Connection (used with TestPanel)."
011
012 The Initial Developer of the Original Code is University Health Network. Copyright (C)
013 2001. All Rights Reserved.
014
015 Contributor(s): ______________________________________.
016
017 Alternatively, the contents of this file may be used under the terms of the
018 GNU General Public License (the �GPL�), in which case the provisions of the GPL are
019 applicable instead of those above. If you wish to allow use of your version of this
020 file only under the terms of the GPL and not to allow others to use your version
021 of this file under the MPL, indicate your decision by deleting the provisions above
022 and replace them with the notice and other provisions required by the GPL License.
023 If you do not delete the provisions above, a recipient may use your version of
024 this file under either the MPL or the GPL.
025
026 */
027
028 package ca.uhn.hl7v2.app;
029
030 import javax.swing.*;
031 import java.awt.event.*;
032 import java.awt.*;
033
034 /**
035 * A dialog box for opening a new Connection (used with TestPanel).
036 * @author Bryan Tripp
037 * @deprecated
038 */
039 @SuppressWarnings("serial")
040 public class ConnectionDialog extends JDialog {
041
042 private JTextField port;
043 private JTextField inPort;
044 private JTextField outPort;
045 private JTextField host;
046 private JRadioButton onePort;
047 private JCheckBox tls;
048 private TestPanel testPanel;
049
050 /** Creates a new instance of ConnectionDialog */
051 public ConnectionDialog(TestPanel testPanel) {
052 super();
053 this.testPanel = testPanel;
054 initUI();
055 }
056
057 /** Initialize UI */
058 private void initUI() {
059 Box box = new Box(BoxLayout.Y_AXIS);
060 getContentPane().add(box);
061
062 host = new JTextField(20);
063 JPanel hostPanel = new JPanel();
064 ((FlowLayout) hostPanel.getLayout()).setAlignment(FlowLayout.LEFT);
065 hostPanel.add(new JLabel(" Host: "));
066 hostPanel.add(host);
067 box.add(hostPanel);
068
069
070 onePort = new JRadioButton(" Single Port ");
071 onePort.setSelected(true);
072 port = new JTextField(5);
073 JPanel onePortPanel = new JPanel();
074 ((FlowLayout) onePortPanel.getLayout()).setAlignment(FlowLayout.LEFT);
075 onePortPanel.add(onePort, FlowLayout.LEFT);
076 onePortPanel.add(port);
077 box.add(onePortPanel);
078
079
080 JRadioButton twoPort = new JRadioButton(" Separate Inbound & Outbound Ports ");
081 JPanel twoPortPanel = new JPanel();
082 ((FlowLayout) twoPortPanel.getLayout()).setAlignment(FlowLayout.LEFT);
083 twoPortPanel.add(twoPort);
084 box.add(twoPortPanel);
085
086 JPanel twoPortPanel2 = new JPanel();
087 ((FlowLayout) twoPortPanel2.getLayout()).setAlignment(FlowLayout.LEFT);
088 twoPortPanel2.add(new JLabel(" Inbound: "));
089 inPort = new JTextField(5);
090 inPort.setEnabled(false);
091 twoPortPanel2.add(inPort);
092 twoPortPanel2.add(new JLabel(" Outbound: "));
093 outPort = new JTextField(5);
094 outPort.setEnabled(false);
095 twoPortPanel2.add(outPort);
096 box.add(twoPortPanel2);
097
098
099 tls = new JCheckBox("use TLS");
100 tls.setSelected(false);
101 box.add(tls);
102 JPanel tlsPanel = new JPanel();
103 ((FlowLayout) tlsPanel.getLayout()).setAlignment(FlowLayout.LEFT);
104 tlsPanel.add(tls, FlowLayout.LEFT);
105 box.add(tlsPanel);
106
107 JPanel buttonPanel = new JPanel();
108 JButton OK = new JButton(" OK ");
109 JButton cancel = new JButton(" Cancel ");
110 buttonPanel.add(OK);
111 buttonPanel.add(cancel);
112 box.add(buttonPanel);
113
114 ButtonGroup portSelect = new ButtonGroup();
115 portSelect.add(twoPort);
116 portSelect.add(onePort);
117
118 OK.addActionListener(new ActionListener() {
119 public void actionPerformed(ActionEvent e) {
120 connect();
121 }
122 });
123
124 cancel.addActionListener(new ActionListener() {
125 public void actionPerformed(ActionEvent e) {
126 close();
127 }
128 });
129
130 onePort.addActionListener(new ActionListener() {
131
132 public void actionPerformed(ActionEvent e) {
133 inPort.setEnabled(false);
134 outPort.setEnabled(false);
135 port.setEnabled(true);
136 }
137
138 });
139 twoPort.addActionListener(new ActionListener() {
140
141 public void actionPerformed(ActionEvent e) {
142 inPort.setEnabled(true);
143 outPort.setEnabled(true);
144 port.setEnabled(false);
145 }
146
147 });
148
149 pack();
150 setVisible(true);
151 }
152
153 @SuppressWarnings("deprecation")
154 private void connect() {
155 try {
156 if (onePort.isSelected()) {
157 testPanel.connect(host.getText(), Integer.parseInt(port.getText()));
158 } else {
159 testPanel.connect(host.getText(), Integer.parseInt(inPort.getText()), Integer.parseInt(outPort.getText()));
160 }
161 close();
162 } catch (NumberFormatException e) {
163 JOptionPane.showMessageDialog(this, "Invalid port number", "", JOptionPane.ERROR_MESSAGE);
164 } catch (Exception e) {
165 JOptionPane.showMessageDialog(this, e.getMessage(), e.getClass().getName(), JOptionPane.ERROR_MESSAGE);
166 }
167 }
168
169 private void close() {
170 this.dispose();
171 }
172
173
174 }