author | Dan Labrecque <dan.labrecque@oracle.com> |
Thu, 24 May 2012 04:16:47 -0400 | |
changeset 827 | 0944d8c0158b |
permissions | -rw-r--r-- |
827
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
1 |
/* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
3 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
7 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
11 |
* and limitations under the License. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
12 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
18 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
20 |
*/ |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
21 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
22 |
/* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
23 |
* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
24 |
*/ |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
25 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
26 |
package com.oracle.solaris.vp.panels.apache.client.swing; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
27 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
28 |
import java.awt.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
29 |
import java.util.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
30 |
import java.util.List; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
31 |
import javax.swing.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
32 |
import javax.swing.filechooser.FileSystemView; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
33 |
import javax.swing.text.JTextComponent; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
34 |
import com.oracle.solaris.vp.panel.swing.view.ChangeIndicator; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
35 |
import com.oracle.solaris.vp.util.misc.ChangeableAggregator; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
36 |
import com.oracle.solaris.vp.util.misc.finder.Finder; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
37 |
import com.oracle.solaris.vp.util.misc.property.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
38 |
import com.oracle.solaris.vp.util.swing.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
39 |
import com.oracle.solaris.vp.util.swing.layout.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
40 |
import com.oracle.solaris.vp.util.swing.property.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
41 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
42 |
@SuppressWarnings({"serial"}) |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
43 |
public class VirtualHostSSLPanel extends SettingsPanel { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
44 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
45 |
// Instance data |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
46 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
47 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
48 |
private MutableProperty<Boolean> enabledProperty = new BooleanProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
49 |
private MutableProperty<String> ipProperty = new StringProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
50 |
private MutableProperty<Integer> portProperty = new IntegerProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
51 |
private MutableProperty<String> certProperty = new StringProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
52 |
private MutableProperty<String> keyProperty = new StringProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
53 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
54 |
{ |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
55 |
ChangeableAggregator aggregator = getChangeableAggregator(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
56 |
aggregator.addChangeables(enabledProperty, ipProperty, portProperty, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
57 |
certProperty, keyProperty); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
58 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
59 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
60 |
private List<JFileChooser> fileChoosers = new ArrayList<JFileChooser>(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
61 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
62 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
63 |
// Constructors |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
64 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
65 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
66 |
public VirtualHostSSLPanel() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
67 |
JPanel form = createForm(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
68 |
setContent(form, false, false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
69 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
70 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
71 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
72 |
// VirtualHostSSLPanel methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
73 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
74 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
75 |
public MutableProperty<Boolean> getEnabledProperty() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
76 |
return enabledProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
77 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
78 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
79 |
public MutableProperty<String> getIpProperty() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
80 |
return ipProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
81 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
82 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
83 |
public MutableProperty<Integer> getPortProperty() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
84 |
return portProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
85 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
86 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
87 |
public MutableProperty<String> getCertProperty() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
88 |
return certProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
89 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
90 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
91 |
public MutableProperty<String> getKeyProperty() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
92 |
return keyProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
93 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
94 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
95 |
public void init(VirtualHost vHost) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
96 |
// Sanity check -- the UI should be updated only on the event thread |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
97 |
assert EventQueue.isDispatchThread(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
98 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
99 |
FileSystemView fsView; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
100 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
101 |
if (vHost == null) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
102 |
fsView = FileSystemView.getFileSystemView(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
103 |
} else { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
104 |
ApacheUtil.update(vHost.getSslEnabledProperty(), enabledProperty); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
105 |
ApacheUtil.update(vHost.getSslIpProperty(), ipProperty); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
106 |
ApacheUtil.update(vHost.getSslPortProperty(), portProperty); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
107 |
ApacheUtil.update(vHost.getSslCertProperty(), certProperty); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
108 |
ApacheUtil.update(vHost.getSslKeyProperty(), keyProperty); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
109 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
110 |
fsView = vHost.getParent().getFileSystemView(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
111 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
112 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
113 |
for (JFileChooser c : fileChoosers) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
114 |
c.setFileSystemView(fsView); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
115 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
116 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
117 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
118 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
119 |
// Private methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
120 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
121 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
122 |
private JPanel createForm() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
123 |
JCheckBox enabledCheckBox = new JCheckBox( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
124 |
Finder.getString("vhost.ssl.edit.enable")); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
125 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
126 |
new CheckBoxPropertySynchronizer(enabledProperty, enabledCheckBox); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
127 |
ChangeIndicator enabledChange = new ChangeIndicator(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
128 |
enabledProperty.addChangeListener(enabledChange); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
129 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
130 |
JLabel iPLabel = new JLabel( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
131 |
Finder.getString("vhost.ssl.edit.ip")); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
132 |
JTextField iPField = GUIUtil.createTextField(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
133 |
new TextComponentPropertySynchronizer<String, JTextComponent>( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
134 |
ipProperty, iPField); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
135 |
ChangeIndicator iPChange = new ChangeIndicator(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
136 |
ipProperty.addChangeListener(iPChange); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
137 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
138 |
JLabel portLabel = new JLabel( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
139 |
Finder.getString("vhost.ssl.edit.port")); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
140 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
141 |
SpinnerNumberModel portModel = new SpinnerNumberModel(0, 0, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
142 |
Short.MAX_VALUE, 1); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
143 |
JSpinner portSpinner = new JSpinner(portModel); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
144 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
145 |
JComponent editor = portSpinner.getEditor(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
146 |
if (editor instanceof JSpinner.DefaultEditor) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
147 |
JTextField field = ((JSpinner.DefaultEditor)editor).getTextField(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
148 |
field.setColumns(5); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
149 |
field.setHorizontalAlignment(JTextField.RIGHT); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
150 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
151 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
152 |
new SpinnerNumberModelPropertySynchronizer(portProperty, portModel, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
153 |
false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
154 |
portProperty.save(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
155 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
156 |
ChangeIndicator portChange = new ChangeIndicator(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
157 |
portProperty.addChangeListener(portChange); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
158 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
159 |
JLabel certLabel = new JLabel( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
160 |
Finder.getString("vhost.ssl.edit.certificate")); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
161 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
162 |
BrowsableFilePanel certPanel = new BrowsableFilePanel(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
163 |
certPanel.setOpaque(false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
164 |
fileChoosers.add(certPanel.getFileChooser()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
165 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
166 |
new TextComponentPropertySynchronizer<String, JTextComponent>( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
167 |
certProperty, certPanel.getField()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
168 |
ChangeIndicator certChange = new ChangeIndicator(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
169 |
certProperty.addChangeListener(certChange); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
170 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
171 |
JLabel keyLabel = new JLabel( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
172 |
Finder.getString("vhost.ssl.edit.key")); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
173 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
174 |
BrowsableFilePanel keyPanel = new BrowsableFilePanel(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
175 |
keyPanel.setOpaque(false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
176 |
fileChoosers.add(keyPanel.getFileChooser()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
177 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
178 |
new TextComponentPropertySynchronizer<String, JTextComponent>( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
179 |
keyProperty, keyPanel.getField()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
180 |
ChangeIndicator keyChange = new ChangeIndicator(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
181 |
keyProperty.addChangeListener(keyChange); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
182 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
183 |
JPanel formPanel = new JPanel(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
184 |
formPanel.setOpaque(false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
185 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
186 |
Form form = new Form(formPanel, VerticalAnchor.TOP); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
187 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
188 |
int hGap = GUIUtil.getHalfGap(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
189 |
int sGap = 3 * hGap; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
190 |
int indent = GUIUtil.getTextXOffset(enabledCheckBox); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
191 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
192 |
ColumnLayoutConstraint c = new ColumnLayoutConstraint( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
193 |
HorizontalAnchor.FILL, hGap); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
194 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
195 |
RowLayoutConstraint r = new RowLayoutConstraint( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
196 |
VerticalAnchor.CENTER, hGap); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
197 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
198 |
HasAnchors a = new SimpleHasAnchors( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
199 |
HorizontalAnchor.LEFT, VerticalAnchor.CENTER); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
200 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
201 |
form.addRow(HorizontalAnchor.LEFT, c); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
202 |
form.add(enabledCheckBox, r); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
203 |
form.add(enabledChange, r); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
204 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
205 |
form.addTable(2, hGap, hGap, HorizontalAnchor.LEFT, c.setGap(sGap)); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
206 |
form.add(iPLabel, a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
207 |
form.add(getRow(hGap, iPField, iPChange), a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
208 |
form.add(portLabel, a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
209 |
form.add(getRow(hGap, portSpinner, portChange), a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
210 |
form.add(certLabel, a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
211 |
form.add(getRow(hGap, certPanel, certChange), a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
212 |
form.add(keyLabel, a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
213 |
form.add(getRow(hGap, keyPanel, keyChange), a); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
214 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
215 |
return formPanel; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
216 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
217 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
218 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
219 |
// Private methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
220 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
221 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
222 |
private JPanel getRow(int gap, Component comp1, Component comp2) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
223 |
JPanel panel = new JPanel(new BorderLayout(gap, 0)); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
224 |
panel.setOpaque(false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
225 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
226 |
panel.add(comp1, BorderLayout.CENTER); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
227 |
panel.add(comp2, BorderLayout.EAST); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
228 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
229 |
return panel; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
230 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
231 |
} |