1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package com.gridsystems.config.modules.tomcat;
25
26 import java.io.File;
27 import java.util.Iterator;
28 import java.util.List;
29
30 import com.gridsystems.config.Configurator;
31 import com.gridsystems.config.ConfiguratorModel;
32 import com.gridsystems.config.tools.ErrorSupport;
33 import com.gridsystems.config.tools.IpVerifier;
34 import com.gridsystems.config.tools.PasswordVerifier;
35 import com.gridsystems.config.tools.PortVerifier;
36 import com.gridsystems.config.tools.console.AbstractConsoleView;
37 import com.gridsystems.config.tools.console.GroupField;
38 import com.gridsystems.config.tools.console.PasswordField;
39 import com.gridsystems.config.tools.console.ValueField;
40
41
42
43
44
45
46
47 public class TomcatConsoleView extends AbstractConsoleView {
48
49
50
51
52 private ValueField ipField = null;
53
54
55
56
57 ValueField fldShutdownPort;
58
59
60
61
62 ValueField fldKeystoreDir;
63
64
65
66
67 PasswordField fldKeystorePass;
68
69
70
71
72 ConnectorGroupField grpConns;
73
74
75
76
77
78
79 public TomcatConsoleView(Configurator config) {
80 super(config);
81
82 String numPattern = "{0,number,0}";
83 ErrorSupport support = new ErrorSupport(this.getConfigurator());
84 support.addError("badIP", getString("errors.badIP"));
85 support.addError("loopbackIP", getString("errors.loopback.ip.short"));
86 ipField = createValueField("field.num.ip", null);
87 IpVerifier ipVerifier =
88 new IpVerifier(support, "badIP", TomcatConfigModel.ALLOWED_IP_TYPE);
89 ipVerifier.setLoopbackAddressAllowed(false);
90 ipVerifier.setErrorLoopbackId("loopbackIP");
91 ipField.setVerifier(ipVerifier);
92
93 fldShutdownPort = createValueField("fldShutdownPort", numPattern);
94 fldKeystoreDir = createValueField("fldKeystoreDir", null);
95 fldKeystorePass = createPasswordField("fldKeystorePass");
96
97 this.addKeyMapping(bundle.getString("field.num.ip.keyMap"), this.ipField);
98
99 grpConns = new ConnectorGroupField(bundle);
100 }
101
102
103
104
105 public String getTitle() {
106 return bundle.getString("config.name");
107 }
108
109
110
111
112 public String getSubtitle() {
113 return bundle.getString("config.description");
114 }
115
116
117
118
119
120
121 public void removeConnector(int i) {
122
123 grpConns.removeField(i);
124
125
126 removeKeyMapping((GroupField)grpConns);
127 List fields = grpConns.getFields();
128 for (int pos = i; pos < fields.size(); pos++) {
129 ConnectorField cf = (ConnectorField)fields.get(pos);
130 cf.setIndex(pos);
131 }
132 addKeyMapping((GroupField)grpConns);
133 }
134
135
136
137
138 public void addConnector() {
139 int port = 0;
140 for (Iterator it = grpConns.getFields().iterator(); it.hasNext();) {
141 ConnectorField f = (ConnectorField)it.next();
142 Connector cc = f.getConnector();
143 port = Math.max(port, cc.getPort());
144 }
145
146 Connector c = new Connector(getString("ConnectorEditor.unnamed.text"),
147 port + 1, Connector.HTTP);
148 ConnectorField cf = new ConnectorField(bundle, c, grpConns.getFields().size(),
149 bundle.getString("fldConnectorsList.keyMap"));
150 grpConns.addField(cf);
151 addKeyMapping(cf);
152 }
153
154
155
156
157 public void getValues(ConfiguratorModel model) {
158 TomcatConfigModel m = (TomcatConfigModel)model;
159 this.ipField.setValue(m.getIp());
160
161 Connector[] conns = m.getConnectors();
162
163 grpConns.clearFields();
164 for (int i = 0; i < conns.length; i++) {
165 grpConns.addField(
166 new ConnectorField(this.bundle, conns[i], i,
167 this.bundle.getString("fldConnectorsList.keyMap")));
168 }
169
170 fldShutdownPort.setValue(new Integer(m.getShutdownPort()));
171 fldKeystoreDir.setValue(m.getKeystoreDir().getAbsolutePath());
172 fldKeystorePass.setValue(m.getKeystorePassword());
173
174 }
175
176
177
178
179 public void setValues(ConfiguratorModel model) {
180 TomcatConfigModel m = (TomcatConfigModel)model;
181
182 try {
183 m.setIp((String) this.ipField.getValue());
184 m.setConnectors(grpConns.getConnectors());
185
186 m.setShutdownPort(((Number)fldShutdownPort.getValue()).intValue());
187
188 m.setKeystoreDir(new File(fldKeystoreDir.getValue().toString()));
189 m.setKeystorePassword(fldKeystorePass.getValue().toString());
190 } catch (Exception e) {
191 }
192 }
193
194
195
196
197 protected void getContents(List<Object> list) {
198 list.add(this.ipField);
199 ErrorSupport support = new ErrorSupport(getConfigurator());
200 support.addError("shPortInvalid", getString("errors.shPortInvalid", null));
201
202 PortVerifier verShut = new PortVerifier(support, "shPortInvalid");
203 PasswordVerifier verPass = new PasswordVerifier(support, 6, 32);
204
205 fldShutdownPort.setVerifier(verShut);
206 fldKeystorePass.setVerifier(verPass);
207
208 GroupField grpHttp = new GroupField(bundle, "pnlHttp.title");
209 GroupField grpHttps = new GroupField(bundle, "pnlHttps.title");
210
211 grpHttp.addField(fldShutdownPort);
212 grpHttp.addField(grpConns);
213
214 grpHttps.addField(fldKeystoreDir);
215 grpHttps.addField(fldKeystorePass);
216
217 list.add(grpHttp);
218 list.add("-");
219 list.add(grpHttps);
220
221 addKeyMapping((GroupField)grpConns);
222 addKeyMapping(fldShutdownPort);
223 addKeyMapping(fldKeystoreDir);
224 addKeyMapping(fldKeystorePass);
225 }
226 }