summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-02-06 11:43:41 +0100
committerBenoit Foucher <benoit@zeroc.com>2015-02-06 11:43:41 +0100
commite591999d8782430e68c5917552ae50aa9bcf1e9d (patch)
tree287d1d317c8d60cbbe76e63bcbed20e75e12cee6 /java/src
parentMinor fix to Ice discovery hello server configuration (diff)
downloadice-e591999d8782430e68c5917552ae50aa9bcf1e9d.tar.bz2
ice-e591999d8782430e68c5917552ae50aa9bcf1e9d.tar.xz
ice-e591999d8782430e68c5917552ae50aa9bcf1e9d.zip
Added C++ plugins for endpoint factories, cleaned up registration of WS factories
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/src/main/java/IceInternal/Instance.java28
-rw-r--r--java/src/Ice/src/main/java/IceSSL/PluginI.java14
2 files changed, 22 insertions, 20 deletions
diff --git a/java/src/Ice/src/main/java/IceInternal/Instance.java b/java/src/Ice/src/main/java/IceInternal/Instance.java
index 0d31033fc80..a28e914844c 100644
--- a/java/src/Ice/src/main/java/IceInternal/Instance.java
+++ b/java/src/Ice/src/main/java/IceInternal/Instance.java
@@ -976,18 +976,12 @@ public final class Instance
_networkProxy = createNetworkProxy(_initData.properties, _protocolSupport);
_endpointFactoryManager = new EndpointFactoryManager(this);
+
ProtocolInstance tcpProtocolInstance = new ProtocolInstance(this, Ice.TCPEndpointType.value, "tcp", false);
- EndpointFactory tcpEndpointFactory = new TcpEndpointFactory(tcpProtocolInstance);
- _endpointFactoryManager.add(tcpEndpointFactory);
+ _endpointFactoryManager.add(new TcpEndpointFactory(tcpProtocolInstance));
ProtocolInstance udpProtocolInstance = new ProtocolInstance(this, Ice.UDPEndpointType.value, "udp", false);
- EndpointFactory udpEndpointFactory = new UdpEndpointFactory(udpProtocolInstance);
- _endpointFactoryManager.add(udpEndpointFactory);
-
- ProtocolInstance wsProtocolInstance = new ProtocolInstance(this, Ice.WSEndpointType.value, "ws", false);
- EndpointFactory wsEndpointFactory = new WSEndpointFactory(wsProtocolInstance,
- tcpEndpointFactory.clone(wsProtocolInstance));
- _endpointFactoryManager.add(wsEndpointFactory);
+ _endpointFactoryManager.add(new UdpEndpointFactory(udpProtocolInstance));
_pluginManager = new Ice.PluginManagerI(communicator, this);
@@ -1070,6 +1064,22 @@ public final class Instance
pluginManagerImpl.loadPlugins(args);
//
+ // Add WS and WSS endpoint factories if TCP/SSL factories are installed.
+ //
+ final EndpointFactory tcpFactory = _endpointFactoryManager.get(Ice.TCPEndpointType.value);
+ if(tcpFactory != null)
+ {
+ final ProtocolInstance instance = new ProtocolInstance(this, Ice.WSEndpointType.value, "ws", false);
+ _endpointFactoryManager.add(new WSEndpointFactory(instance, tcpFactory.clone(instance)));
+ }
+ final EndpointFactory sslFactory = _endpointFactoryManager.get(Ice.SSLEndpointType.value);
+ if(sslFactory != null)
+ {
+ final ProtocolInstance instance = new ProtocolInstance(this, Ice.WSSEndpointType.value, "wss", true);
+ _endpointFactoryManager.add(new WSEndpointFactory(instance, sslFactory.clone(instance)));
+ }
+
+ //
// Create Admin facets, if enabled.
//
// Note that any logger-dependent admin facet must be created after we load all plugins,
diff --git a/java/src/Ice/src/main/java/IceSSL/PluginI.java b/java/src/Ice/src/main/java/IceSSL/PluginI.java
index d765f1fec55..dfb953a6857 100644
--- a/java/src/Ice/src/main/java/IceSSL/PluginI.java
+++ b/java/src/Ice/src/main/java/IceSSL/PluginI.java
@@ -13,8 +13,7 @@ class PluginI implements Plugin
{
public PluginI(Ice.Communicator communicator)
{
- IceInternal.ProtocolPluginFacade facade = IceInternal.Util.getProtocolPluginFacade(communicator);
-
+ final IceInternal.ProtocolPluginFacade facade = IceInternal.Util.getProtocolPluginFacade(communicator);
_engine = new SSLEngine(facade);
//
@@ -22,15 +21,8 @@ class PluginI implements Plugin
// in initialize, because the communicator may need to interpret
// proxies before the plug-in is fully initialized.
//
- IceInternal.EndpointFactory sslEndpointFactory =
- new EndpointFactoryI(new Instance(_engine, IceSSL.EndpointType.value, "ssl"));
- facade.addEndpointFactory(sslEndpointFactory);
-
- IceInternal.ProtocolInstance wssProtocolInstance =
- new IceInternal.ProtocolInstance(communicator, Ice.WSSEndpointType.value, "wss", true);
- IceInternal.EndpointFactory wssEndpointFactory =
- new IceInternal.WSEndpointFactory(wssProtocolInstance, sslEndpointFactory.clone(wssProtocolInstance));
- facade.addEndpointFactory(wssEndpointFactory);
+ EndpointFactoryI factory = new EndpointFactoryI(new Instance(_engine, IceSSL.EndpointType.value, "ssl"));
+ facade.addEndpointFactory(factory);
}
@Override