Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java')
-rw-r--r--plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java116
1 files changed, 77 insertions, 39 deletions
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java
index 95d46d8b6e..2b31b8c758 100644
--- a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java
+++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java
@@ -7,32 +7,30 @@
*
* Contributors:
* Eike Stepper - initial API and implementation
- * Teerawat Chaiyakijpichet (No Magic Asia Ltd.) - maintenance (SSL)
+ * Teerawat Chaiyakijpichet (No Magic Asia Ltd.) - maintenance (SSL)
*/
package org.eclipse.net4j.tests.bugzilla;
-import org.eclipse.net4j.TransportInjector;
+import org.eclipse.net4j.Net4jUtil;
+import org.eclipse.net4j.internal.jvm.JVMAcceptor;
+import org.eclipse.net4j.internal.jvm.JVMAcceptorFactory;
+import org.eclipse.net4j.internal.jvm.JVMClientConnector;
+import org.eclipse.net4j.internal.jvm.JVMServerConnector;
import org.eclipse.net4j.internal.tcp.TCPAcceptor;
import org.eclipse.net4j.internal.tcp.TCPAcceptorFactory;
-import org.eclipse.net4j.internal.tcp.TCPConnectorFactory;
-import org.eclipse.net4j.internal.tcp.TCPSelectorFactory;
-import org.eclipse.net4j.internal.tcp.TCPSelectorInjector;
import org.eclipse.net4j.internal.tcp.TCPServerConnector;
import org.eclipse.net4j.internal.tcp.ssl.SSLAcceptor;
import org.eclipse.net4j.internal.tcp.ssl.SSLAcceptorFactory;
-import org.eclipse.net4j.internal.tcp.ssl.SSLConnectorFactory;
import org.eclipse.net4j.internal.tcp.ssl.SSLServerConnector;
+import org.eclipse.net4j.jvm.JVMUtil;
import org.eclipse.net4j.tcp.ITCPAcceptor;
import org.eclipse.net4j.tcp.ITCPSelector;
+import org.eclipse.net4j.tcp.TCPUtil;
+import org.eclipse.net4j.tcp.ssl.SSLUtil;
import org.eclipse.net4j.tests.AbstractTransportTest;
-import org.eclipse.net4j.tests.ChannelTest;
import org.eclipse.net4j.tests.signal.TestSignalProtocol;
-import org.eclipse.net4j.util.concurrent.ExecutorServiceFactory;
import org.eclipse.net4j.util.container.IManagedContainer;
import org.eclipse.net4j.util.container.ManagedContainer;
-import org.eclipse.net4j.util.security.RandomizerFactory;
-
-import org.eclipse.internal.net4j.buffer.BufferProviderFactory;
import org.eclipse.spi.net4j.InternalChannel;
@@ -41,6 +39,8 @@ import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
/**
+ * See bug 241463.
+ *
* @author Eike Stepper
*/
public class Bugzilla_241463_Test extends AbstractTransportTest
@@ -49,30 +49,15 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
protected IManagedContainer createContainer()
{
IManagedContainer container = new ManagedContainer();
+ Net4jUtil.prepareContainer(container);
+ JVMUtil.prepareContainer(container);
+ TCPUtil.prepareContainer(container);
+ SSLUtil.prepareContainer(container);
- // Net4j
- container.registerFactory(new ExecutorServiceFactory());
- container.registerFactory(new BufferProviderFactory());
- container.registerFactory(new RandomizerFactory());
- container.addPostProcessor(new TransportInjector());
+ container.registerFactory(new FakeJVMAcceptorFactory());
+ container.registerFactory(new FakeTCPAcceptorFactory());
+ container.registerFactory(new FakeSSLAcceptorFactory());
- container.registerFactory(new TCPSelectorFactory());
- container.addPostProcessor(new TCPSelectorInjector());
-
- if (useSSLTransport())
- {
- // SSL
- container.registerFactory(new FakeSSLAcceptorFactory());
- container.registerFactory(new SSLConnectorFactory());
- }
- else
- {
- // TCP
- container.registerFactory(new FakeAcceptorFactory());
- container.registerFactory(new TCPConnectorFactory());
- }
-
- // Test
container.registerFactory(new TestSignalProtocol.Factory());
return container;
}
@@ -95,7 +80,42 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
/**
* @author Eike Stepper
*/
- private static final class FakeAcceptorFactory extends TCPAcceptorFactory
+ private static final class FakeJVMAcceptorFactory extends JVMAcceptorFactory
+ {
+ @Override
+ public JVMAcceptor create(String description)
+ {
+ JVMAcceptor acceptor = new JVMAcceptor()
+ {
+ @Override
+ public JVMServerConnector handleAccept(JVMClientConnector client)
+ {
+ JVMServerConnector connector = new JVMServerConnector(client)
+ {
+ @Override
+ public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion)
+ {
+ throw new RuntimeException("Simulated problem"); //$NON-NLS-1$
+ }
+ };
+
+ connector.setName(client.getName());
+ connector.setConfig(getConfig());
+ connector.activate();
+ addConnector(connector);
+ return connector;
+ }
+ };
+
+ acceptor.setName(description);
+ return acceptor;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ private static final class FakeTCPAcceptorFactory extends TCPAcceptorFactory
{
@Override
public TCPAcceptor create(String description)
@@ -108,7 +128,7 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
return new TCPServerConnector(this)
{
@Override
- public InternalChannel inverseOpenChannel(short channelIndex, String protocolID)
+ public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion)
{
throw new RuntimeException("Simulated problem"); //$NON-NLS-1$
}
@@ -132,7 +152,6 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
{
SSLAcceptor acceptor = new SSLAcceptor()
{
-
@Override
public void handleAccept(ITCPSelector selector, ServerSocketChannel serverSocketChannel)
{
@@ -146,11 +165,12 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
SSLServerConnector connector = new SSLServerConnector(this)
{
@Override
- public InternalChannel inverseOpenChannel(short channelID, String protocolID)
+ public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion)
{
throw new RuntimeException("Simulated problem"); //$NON-NLS-1$
}
};
+
prepareConnector(connector);
connector.setSocketChannel(socketChannel);
connector.setSelector(selector);
@@ -177,7 +197,25 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
/**
* @author Eike Stepper
*/
- public static final class TCP extends ChannelTest
+ public static final class JVM extends Bugzilla_241463_Test
+ {
+ @Override
+ protected boolean useJVMTransport()
+ {
+ return true;
+ }
+
+ @Override
+ protected boolean useSSLTransport()
+ {
+ return false;
+ }
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class TCP extends Bugzilla_241463_Test
{
@Override
protected boolean useJVMTransport()
@@ -195,7 +233,7 @@ public class Bugzilla_241463_Test extends AbstractTransportTest
/**
* @author Teerawat Chaiyakijpichet (No Magic Asia Ltd.)
*/
- public static final class SSL extends ChannelTest
+ public static final class SSL extends Bugzilla_241463_Test
{
@Override
protected boolean useJVMTransport()

Back to the top