diff options
author | Benoit Foucher <benoit@zeroc.com> | 2015-02-06 11:43:41 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2015-02-06 11:43:41 +0100 |
commit | e591999d8782430e68c5917552ae50aa9bcf1e9d (patch) | |
tree | 287d1d317c8d60cbbe76e63bcbed20e75e12cee6 /java/src | |
parent | Minor fix to Ice discovery hello server configuration (diff) | |
download | ice-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.java | 28 | ||||
-rw-r--r-- | java/src/Ice/src/main/java/IceSSL/PluginI.java | 14 |
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 |