summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/SessionKeeper.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/SessionKeeper.java')
-rwxr-xr-xjava/src/IceGridGUI/SessionKeeper.java184
1 files changed, 152 insertions, 32 deletions
diff --git a/java/src/IceGridGUI/SessionKeeper.java b/java/src/IceGridGUI/SessionKeeper.java
index 6ca8324c9f0..1e8ec498993 100755
--- a/java/src/IceGridGUI/SessionKeeper.java
+++ b/java/src/IceGridGUI/SessionKeeper.java
@@ -370,7 +370,6 @@ class SessionKeeper
registryEndpoints =
_connectionPrefs.get("registry.endpoints", registryEndpoints);
}
-
//
// Glacier2 properties
@@ -412,12 +411,15 @@ class SessionKeeper
routerEndpoints =
_connectionPrefs.get("router.endpoints", routerEndpoints);
}
+ registrySSLEnabled = _connectionPrefs.getBoolean("routerSSLEnabled", registrySSLEnabled);
registryUsername = _connectionPrefs.get("registry.username", registryUsername);
registryUseSSL = _connectionPrefs.getBoolean("registry.useSSL", registryUseSSL);
+ registrySSLEnabled = _connectionPrefs.getBoolean("registry.sslEnabled", registryUseSSL); // not a typo!
routerUsername = _connectionPrefs.get("router.username", routerUsername);
routerUseSSL = _connectionPrefs.getBoolean("router.useSSL", routerUseSSL);
+ routerSSLEnabled = _connectionPrefs.getBoolean("router.sslEnabled", routerUseSSL); // not a typo!
routed = _connectionPrefs.getBoolean("routed", routed);
@@ -463,6 +465,7 @@ class SessionKeeper
{
_connectionPrefs.put("router.username", routerUsername);
_connectionPrefs.putBoolean("router.useSSL", routerUseSSL);
+ _connectionPrefs.putBoolean("router.sslEnabled", routerSSLEnabled);
_connectionPrefs.put("router.instanceName", routerInstanceName);
_connectionPrefs.put("router.endpoints", routerEndpoints);
}
@@ -470,6 +473,7 @@ class SessionKeeper
{
_connectionPrefs.put("registry.username", registryUsername);
_connectionPrefs.putBoolean("registry.useSSL", registryUseSSL);
+ _connectionPrefs.putBoolean("registry.sslEnabled", registrySSLEnabled);
_connectionPrefs.put("registry.instanceName", registryInstanceName);
_connectionPrefs.put("registry.endpoints", registryEndpoints);
}
@@ -479,7 +483,7 @@ class SessionKeeper
//
_connectionPrefs.put("keystore", keystore);
_connectionPrefs.put("alias", alias);
- _connectionPrefs.put("truststore", keystore);
+ _connectionPrefs.put("truststore", truststore);
}
boolean routed = false;
@@ -487,15 +491,17 @@ class SessionKeeper
String registryUsername = System.getProperty("user.name");
char[] registryPassword;
boolean registryUseSSL = false;
+ boolean registrySSLEnabled = false;
String registryInstanceName = "IceGrid";
String registryEndpoints = "";
String routerUsername = System.getProperty("user.name");
char[] routerPassword;
boolean routerUseSSL = false;
+ boolean routerSSLEnabled = false;
String routerInstanceName = "Glacier2";
String routerEndpoints = "";
-
+
//
// SSL Configuration
//
@@ -553,11 +559,7 @@ class SessionKeeper
{
public void actionPerformed(ActionEvent e)
{
- boolean selected = _registryUseSSL.isSelected();
- _registryUsername.setEnabled(!selected);
- _registryUsernameLabel.setEnabled(!selected);
- _registryPassword.setEnabled(!selected);
- _registryPasswordLabel.setEnabled(!selected);
+ selectRegistryUseSSL(_registryUseSSL.isSelected());
}
};
_registryUseSSL = new JCheckBox(registryUseSSL);
@@ -567,15 +569,30 @@ class SessionKeeper
{
public void actionPerformed(ActionEvent e)
{
- boolean selected = _routerUseSSL.isSelected();
- _routerUsername.setEnabled(!selected);
- _routerUsernameLabel.setEnabled(!selected);
- _routerPassword.setEnabled(!selected);
- _routerPasswordLabel.setEnabled(!selected);
+ selectRouterUseSSL(_routerUseSSL.isSelected());
}
};
_routerUseSSL = new JCheckBox(routerUseSSL);
+ Action registrySSLEnabled = new AbstractAction("Enable IceSSL")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ selectRegistrySSLEnabled(_registrySSLEnabled.isSelected());
+ }
+ };
+ _registrySSLEnabled = new JCheckBox(registrySSLEnabled);
+
+ Action routerSSLEnabled = new AbstractAction("Enable IceSSL")
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ selectRouterSSLEnabled(_routerSSLEnabled.isSelected());
+ }
+ };
+ _routerSSLEnabled = new JCheckBox(routerSSLEnabled);
+
+
_keystore.setEditable(false);
_advancedKeystore.setEditable(false);
Action chooseKeystore = new AbstractAction("...")
@@ -687,6 +704,8 @@ class SessionKeeper
builder.nextLine();
builder.append("", _registryUseSSL);
builder.nextLine();
+ builder.append("", _registrySSLEnabled);
+ builder.nextLine();
builder.append("IceGrid Instance Name", _registryInstanceName);
builder.nextLine();
builder.append("IceGrid Registry Endpoint(s)", _registryEndpoints);
@@ -711,11 +730,13 @@ class SessionKeeper
builder.nextLine();
builder.append("", _routerUseSSL);
builder.nextLine();
+ builder.append("", _routerSSLEnabled);
+ builder.nextLine();
builder.append("Glacier2 Instance Name", _routerInstanceName);
builder.nextLine();
builder.append("Glacier2 Router Endpoint(s)", _routerEndpoints);
builder.nextLine();
-
+
routedPanel = builder.getPanel();
}
@@ -723,6 +744,21 @@ class SessionKeeper
_mainPane.addTab("Routed", null, routedPanel, "Log into the IceGrid registry through a Glacier2 router");
_mainPane.setBorder(Borders.DIALOG_BORDER);
+ _mainPane.addChangeListener(new javax.swing.event.ChangeListener()
+ {
+ public void stateChanged(javax.swing.event.ChangeEvent e)
+ {
+ if(_mainPane.getSelectedIndex() == 0)
+ {
+ directTabSelected();
+ }
+ else
+ {
+ routedTabSelected();
+ }
+ }
+ });
+
JPanel basicSSLPanel = null;
{
FormLayout layout = new FormLayout(
@@ -732,7 +768,7 @@ class SessionKeeper
builder.setDefaultDialogBorder();
builder.setRowGroupingEnabled(true);
builder.setLineGapSize(LayoutStyle.getCurrent().getLinePad());
-
+
builder.appendSeparator("Keystore");
builder.append("File", _keystore);
builder.append(new JButton(chooseKeystore));
@@ -779,31 +815,26 @@ class SessionKeeper
advancedSSLPanel = builder.getPanel();
}
- JTabbedPane sslPane = new JTabbedPane();
-
- sslPane.addTab("Basic", basicSSLPanel);
- sslPane.addTab("Advanced", advancedSSLPanel);
+
+ _sslPane.addTab("Basic", basicSSLPanel);
+ _sslPane.addTab("Advanced", advancedSSLPanel);
TitledBorder titledBorder = BorderFactory.createTitledBorder(Borders.DIALOG_BORDER,
"SSL Configuration");
- sslPane.setBorder(titledBorder);
-
+ _sslPane.setBorder(titledBorder);
JComponent buttonBar =
ButtonBarFactory.buildOKCancelBar(okButton, cancelButton);
buttonBar.setBorder(Borders.DIALOG_BORDER);
-
-
Container contentPane = getContentPane();
contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
contentPane.add(_mainPane);
- contentPane.add(sslPane);
+ contentPane.add(_sslPane);
contentPane.add(buttonBar);
pack();
setResizable(false);
}
-
void showDialog()
{
@@ -812,15 +843,19 @@ class SessionKeeper
_mainPane.setSelectedIndex(_loginInfo.routed ? 1 : 0);
_registryUsername.setText(_loginInfo.registryUsername);
- _registryUseSSL.setSelected(_loginInfo.registryUseSSL);
+ selectRegistryUseSSL(_loginInfo.registryUseSSL);
+
_registryInstanceName.setText(_loginInfo.registryInstanceName);
_registryEndpoints.setText(_loginInfo.registryEndpoints);
-
+ _registrySSLEnabled.setSelected(_loginInfo.routerSSLEnabled);
+
_routerUsername.setText(_loginInfo.routerUsername);
- _routerUseSSL.setSelected(_loginInfo.routerUseSSL);
+ selectRouterUseSSL(_loginInfo.routerUseSSL);
+
_routerInstanceName.setText(_loginInfo.routerInstanceName);
_routerEndpoints.setText(_loginInfo.routerEndpoints);
-
+ _routerSSLEnabled.setSelected(_loginInfo.routerSSLEnabled);
+
_keystore.setText(_loginInfo.keystore);
if(_loginInfo.keystore == null)
{
@@ -832,6 +867,15 @@ class SessionKeeper
}
_truststore.setText(_loginInfo.truststore);
+ if(_loginInfo.routed)
+ {
+ routedTabSelected();
+ }
+ else
+ {
+ directTabSelected();
+ }
+
setLocationRelativeTo(_coordinator.getMainFrame());
setVisible(true);
}
@@ -848,12 +892,14 @@ class SessionKeeper
_loginInfo.registryUsername = _registryUsername.getText();
_loginInfo.registryPassword = _registryPassword.getPassword();
_loginInfo.registryUseSSL = _registryUseSSL.isSelected();
+ _loginInfo.registrySSLEnabled = _registrySSLEnabled.isSelected();
_loginInfo.registryInstanceName = _registryInstanceName.getText();
_loginInfo.registryEndpoints = _registryEndpoints.getText();
_loginInfo.routerUsername = _routerUsername.getText();
_loginInfo.routerPassword = _routerPassword.getPassword();
_loginInfo.routerUseSSL = _routerUseSSL.isSelected();
+ _loginInfo.routerSSLEnabled = _routerSSLEnabled.isSelected();
_loginInfo.routerInstanceName = _routerInstanceName.getText();
_loginInfo.routerEndpoints = _routerEndpoints.getText();
@@ -930,6 +976,77 @@ class SessionKeeper
_alias.setModel(new DefaultComboBoxModel());
}
+ private void selectRegistryUseSSL(boolean selected)
+ {
+ _registryUseSSL.setSelected(selected);
+ _registryUsername.setEnabled(!selected);
+ _registryUsernameLabel.setEnabled(!selected);
+ _registryPassword.setEnabled(!selected);
+ _registryPasswordLabel.setEnabled(!selected);
+
+ if(selected && _registrySSLEnabled.isSelected() == false)
+ {
+ selectRegistrySSLEnabled(selected);
+ }
+ }
+
+ private void selectRouterUseSSL(boolean selected)
+ {
+ _routerUseSSL.setSelected(selected);
+ _routerUsername.setEnabled(!selected);
+ _routerUsernameLabel.setEnabled(!selected);
+ _routerPassword.setEnabled(!selected);
+ _routerPasswordLabel.setEnabled(!selected);
+
+ if(selected && _routerSSLEnabled.isSelected() == false)
+ {
+ selectRouterSSLEnabled(selected);
+ }
+ }
+
+ private void selectRegistrySSLEnabled(boolean selected)
+ {
+ _registrySSLEnabled.setSelected(selected);
+ recursiveSetEnabled(_sslPane, selected);
+ if(!selected && _registryUseSSL.isSelected())
+ {
+ selectRegistryUseSSL(selected);
+ }
+ }
+
+ private void selectRouterSSLEnabled(boolean selected)
+ {
+ _routerSSLEnabled.setSelected(selected);
+ recursiveSetEnabled(_sslPane, selected);
+ if(!selected && _routerUseSSL.isSelected())
+ {
+ selectRouterUseSSL(selected);
+ }
+ }
+
+ private void recursiveSetEnabled(java.awt.Container c, boolean enabled)
+ {
+ for(int i = 0; i < c.getComponentCount(); ++i)
+ {
+ java.awt.Component comp = c.getComponent(i);
+ if(comp instanceof java.awt.Container)
+ {
+ recursiveSetEnabled((java.awt.Container)comp, enabled);
+ }
+ comp.setEnabled(enabled);
+ }
+ c.setEnabled(enabled);
+ }
+
+ private void directTabSelected()
+ {
+ recursiveSetEnabled(_sslPane, _registrySSLEnabled.isSelected());
+ }
+
+ private void routedTabSelected()
+ {
+ recursiveSetEnabled(_sslPane, _routerSSLEnabled.isSelected());
+ }
private JTabbedPane _mainPane = new JTabbedPane();
private JTextField _registryUsername = new JTextField(30);
@@ -937,17 +1054,20 @@ class SessionKeeper
private JPasswordField _registryPassword = new JPasswordField(30);
private JLabel _registryPasswordLabel;
private JCheckBox _registryUseSSL;
+ private JCheckBox _registrySSLEnabled;
private JTextField _registryInstanceName = new JTextField(30);
private JTextField _registryEndpoints = new JTextField(30);
-
+
private JTextField _routerUsername = new JTextField(30);
private JLabel _routerUsernameLabel;
private JPasswordField _routerPassword = new JPasswordField(30);
private JLabel _routerPasswordLabel;
private JCheckBox _routerUseSSL;
+ private JCheckBox _routerSSLEnabled;
private JTextField _routerInstanceName = new JTextField(30);
private JTextField _routerEndpoints = new JTextField(30);
+ private JTabbedPane _sslPane = new JTabbedPane();
private JTextField _keystore = new JTextField(30);
private JPasswordField _keyPassword = new JPasswordField(30);
@@ -1113,9 +1233,9 @@ class SessionKeeper
if(_session != null) // TODO: XXX: Review: The Session constructor might throw
{
_session.close(destroySession);
+ _coordinator.sessionLost();
+ _session = null;
}
- _coordinator.sessionLost();
- _session = null;
}
AdminSessionPrx getSession()