summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Coordinator.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/Coordinator.java')
-rw-r--r--java/src/IceGridGUI/Coordinator.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/Coordinator.java
index 12966c06fe5..684d16b68a8 100644
--- a/java/src/IceGridGUI/Coordinator.java
+++ b/java/src/IceGridGUI/Coordinator.java
@@ -630,6 +630,25 @@ public class Coordinator
return _communicator;
}
+ public Ice.Communicator getWizardCommunicator()
+ {
+ if(_wizardCommunicator == null)
+ {
+ //
+ // Create a communicator that is used by connection wizards to
+ // parse endpoints.
+ //
+ // We enable IceSSL so the communicator knows how to parse ssl
+ // endpoints.
+ //
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+ _wizardCommunicator = Ice.Util.initialize(initData);
+ }
+ return _wizardCommunicator;
+ }
+
public Ice.Properties getProperties()
{
return _initData.properties;
@@ -2459,6 +2478,7 @@ public class Coordinator
{
destroyIceGridAdmin();
destroyCommunicator();
+ destroyWizardCommunicator();
}
};
@@ -3215,6 +3235,7 @@ public class Coordinator
destroyIceGridAdmin();
destroyCommunicator();
+ destroyWizardCommunicator();
Runtime.getRuntime().removeShutdownHook(_shutdownHook);
_mainFrame.dispose();
Runtime.getRuntime().exit(status);
@@ -3241,6 +3262,27 @@ public class Coordinator
}
}
+ //
+ // Can be called by the shutdown hook thread
+ //
+ private void destroyWizardCommunicator()
+ {
+ if(_wizardCommunicator != null)
+ {
+ try
+ {
+ _wizardCommunicator.destroy();
+ }
+ catch(Ice.LocalException e)
+ {
+ System.err.println("_wizardCommunicator.destroy() raised "
+ + e.toString());
+ e.printStackTrace();
+ }
+ _wizardCommunicator = null;
+ }
+ }
+
private boolean loadWindowPrefs()
{
try
@@ -3633,6 +3675,7 @@ public class Coordinator
private boolean _substitute = false;
private JFrame _mainFrame;
+ private Ice.Communicator _wizardCommunicator;
private final SessionKeeper _sessionKeeper;
private Object _clipboard;