Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AsyncEndpointImpl.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AsyncEndpointImpl.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AsyncEndpointImpl.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AsyncEndpointImpl.java
 Sun Aug 17 11:06:11 2008
@@ -28,7 +28,7 @@
 public class AsyncEndpointImpl extends EndpointImpl implements 
AsyncEndpoint<MessageData> {
     private final MockMessageReceiver messageReceiver;
     
-    public AsyncEndpointImpl(AxisServer<?> server, AxisService service, 
MockMessageReceiver messageReceiver) {
+    public AsyncEndpointImpl(AxisServer server, AxisService service, 
MockMessageReceiver messageReceiver) {
         super(server, service);
         this.messageReceiver = messageReceiver;
     }

Added: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisAsyncEndpointFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisAsyncEndpointFactory.java?rev=686626&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisAsyncEndpointFactory.java
 (added)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisAsyncEndpointFactory.java
 Sun Aug 17 11:06:11 2008
@@ -0,0 +1,69 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.synapse.transport.testkit.server.axis2;
+
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.InOnlyAxisOperation;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.AsyncChannel;
+import org.apache.synapse.transport.testkit.message.MessageData;
+import org.apache.synapse.transport.testkit.server.AsyncEndpoint;
+import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
+
+public class AxisAsyncEndpointFactory implements 
AsyncEndpointFactory<MessageData> {
+    private final AxisServer server;
+    private TestEnvironment env;
+    private AsyncChannel channel;
+    
+    public AxisAsyncEndpointFactory(AxisServer server) {
+        this.server = server;
+    }
+
+    public AxisServer getServer() {
+        return server;
+    }
+
+    @SuppressWarnings("unused")
+    private void setUp(TestEnvironment env, AsyncChannel channel) {
+        this.env = env;
+        this.channel = channel;
+    }
+    
+    public AsyncEndpoint<MessageData> createAsyncEndpoint(String contentType) 
throws Exception {
+        // Set up a test service with a default operation backed by a mock 
message
+        // receiver. The service is configured using the parameters specified 
by the
+        // implementation.
+        AxisService service = new AxisService("TestService");
+        AxisOperation operation = new 
InOnlyAxisOperation(DefaultOperationDispatcher.DEFAULT_OPERATION_NAME);
+        MockMessageReceiver messageReceiver = new MockMessageReceiver();
+        operation.setMessageReceiver(messageReceiver);
+        service.addOperation(operation);
+        channel.setupService(service);
+        if (contentType != null) {
+            env.setupContentType(service, contentType);
+        }
+        AxisConfiguration axisConfiguration = server.getAxisConfiguration();
+        axisConfiguration.addService(service);
+//        server.addErrorListener(messageReceiver);
+        return new AsyncEndpointImpl(server, service, messageReceiver);
+    }
+}

Added: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisEchoEndpointFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisEchoEndpointFactory.java?rev=686626&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisEchoEndpointFactory.java
 (added)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisEchoEndpointFactory.java
 Sun Aug 17 11:06:11 2008
@@ -0,0 +1,75 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.synapse.transport.testkit.server.axis2;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.InOutAxisOperation;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.receivers.AbstractInOutMessageReceiver;
+import org.apache.synapse.transport.testkit.TestEnvironment;
+import org.apache.synapse.transport.testkit.listener.RequestResponseChannel;
+import org.apache.synapse.transport.testkit.server.Endpoint;
+import org.apache.synapse.transport.testkit.server.EndpointFactory;
+
+public class AxisEchoEndpointFactory implements EndpointFactory {
+    private final AxisServer server;
+    private TestEnvironment env;
+    private RequestResponseChannel channel;
+    
+    public AxisEchoEndpointFactory(AxisServer server) {
+        this.server = server;
+    }
+
+    public AxisServer getServer() {
+        return server;
+    }
+    
+    @SuppressWarnings("unused")
+    private void setUp(TestEnvironment env, RequestResponseChannel channel) {
+        this.env = env;
+        this.channel = channel;
+    }
+
+    public Endpoint createEchoEndpoint(String contentType) throws Exception {
+        AxisService service = new AxisService("EchoService");
+        AxisOperation operation = new 
InOutAxisOperation(DefaultOperationDispatcher.DEFAULT_OPERATION_NAME);
+        operation.setMessageReceiver(new AbstractInOutMessageReceiver() {
+            @Override
+            public void invokeBusinessLogic(MessageContext inMessage, 
MessageContext outMessage) throws AxisFault {
+                
System.out.println(inMessage.getProperty(Constants.OUT_TRANSPORT_INFO));
+                System.out.println(inMessage.getEnvelope());
+                outMessage.setEnvelope(inMessage.getEnvelope());
+            }
+        });
+        service.addOperation(operation);
+        channel.setupService(service);
+        if (contentType != null) {
+            env.setupContentType(service, contentType);
+        }
+        
+        AxisConfiguration axisConfiguration = server.getAxisConfiguration();
+        axisConfiguration.addService(service);
+        return new EndpointImpl(server, service);
+    }
+}

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/AxisServer.java
 Sun Aug 17 11:06:11 2008
@@ -20,38 +20,24 @@
 package org.apache.synapse.transport.testkit.server.axis2;
 
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.InOnlyAxisOperation;
-import org.apache.axis2.description.InOutAxisOperation;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.DispatchPhase;
-import org.apache.axis2.receivers.AbstractInOutMessageReceiver;
 import org.apache.axis2.transport.TransportListener;
 import org.apache.synapse.transport.UtilsTransportServer;
-import org.apache.synapse.transport.testkit.TestEnvironment;
 import org.apache.synapse.transport.testkit.TransportDescriptionFactory;
-import org.apache.synapse.transport.testkit.listener.AsyncChannel;
 import org.apache.synapse.transport.testkit.listener.Channel;
 import org.apache.synapse.transport.testkit.listener.RequestResponseChannel;
-import org.apache.synapse.transport.testkit.message.MessageData;
-import org.apache.synapse.transport.testkit.server.AsyncEndpoint;
-import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
-import org.apache.synapse.transport.testkit.server.Endpoint;
-import org.apache.synapse.transport.testkit.server.EndpointFactory;
 import org.apache.synapse.transport.testkit.server.Server;
 
-public class AxisServer<E extends TestEnvironment> implements Server<E>, 
AsyncEndpointFactory<E,AsyncChannel<? super E>,MessageData>, 
EndpointFactory<E,RequestResponseChannel<? super E>> {
-    private static Server<?> activeServer;
+public class AxisServer implements Server {
+    private static AxisServer activeServer;
     
     private final TransportDescriptionFactory tdf;
     
-    private Channel<?> channel;
     private TransportListener listener;
     UtilsTransportServer server;
     
@@ -59,9 +45,9 @@
         this.tdf = tdf;
     }
 
-    public void start(E env, Channel<?> channel) throws Exception {
+    @SuppressWarnings("unused")
+    private void setUp(Channel channel) throws Exception {
         server = new UtilsTransportServer();
-        this.channel = channel;
         
         if (activeServer != null) {
             throw new IllegalStateException();
@@ -97,7 +83,8 @@
         server.start();
     }
     
-    public void stop() throws Exception {
+    @SuppressWarnings("unused")
+    private void tearDown() throws Exception {
         server.stop();
         Thread.sleep(100); // TODO: this is required for the NIO transport; 
check whether this is a bug
         server = null;
@@ -114,49 +101,4 @@
         return endpointReferences != null && endpointReferences.length > 0
                             ? endpointReferences[0].getAddress() : null;
     }
-    
-    public Server<E> getServer() {
-        return this;
-    }
-
-    public AsyncEndpoint<MessageData> createAsyncEndpoint(E env, 
AsyncChannel<? super E> channel, String contentType) throws Exception {
-        // Set up a test service with a default operation backed by a mock 
message
-        // receiver. The service is configured using the parameters specified 
by the
-        // implementation.
-        AxisService service = new AxisService("TestService");
-        AxisOperation operation = new 
InOnlyAxisOperation(DefaultOperationDispatcher.DEFAULT_OPERATION_NAME);
-        MockMessageReceiver messageReceiver = new MockMessageReceiver();
-        operation.setMessageReceiver(messageReceiver);
-        service.addOperation(operation);
-        channel.setupService(service);
-        if (contentType != null) {
-            env.setupContentType(service, contentType);
-        }
-        AxisConfiguration axisConfiguration = server.getAxisConfiguration();
-        axisConfiguration.addService(service);
-//        server.addErrorListener(messageReceiver);
-        return new AsyncEndpointImpl(this, service, messageReceiver);
-    }
-    
-    public Endpoint createEchoEndpoint(E env, RequestResponseChannel<? super 
E> channel, String contentType) throws Exception {
-        AxisService service = new AxisService("EchoService");
-        AxisOperation operation = new 
InOutAxisOperation(DefaultOperationDispatcher.DEFAULT_OPERATION_NAME);
-        operation.setMessageReceiver(new AbstractInOutMessageReceiver() {
-            @Override
-            public void invokeBusinessLogic(MessageContext inMessage, 
MessageContext outMessage) throws AxisFault {
-                
System.out.println(inMessage.getProperty(Constants.OUT_TRANSPORT_INFO));
-                System.out.println(inMessage.getEnvelope());
-                outMessage.setEnvelope(inMessage.getEnvelope());
-            }
-        });
-        service.addOperation(operation);
-        channel.setupService(service);
-        if (contentType != null) {
-            env.setupContentType(service, contentType);
-        }
-        
-        AxisConfiguration axisConfiguration = server.getAxisConfiguration();
-        axisConfiguration.addService(service);
-        return new EndpointImpl(this, service);
-    }
 }

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/EndpointImpl.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/EndpointImpl.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/EndpointImpl.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/server/axis2/EndpointImpl.java
 Sun Aug 17 11:06:11 2008
@@ -23,10 +23,10 @@
 import org.apache.synapse.transport.testkit.server.Endpoint;
 
 public class EndpointImpl implements Endpoint {
-    private final AxisServer<?> server;
+    private final AxisServer server;
     private final AxisService service;
     
-    public EndpointImpl(AxisServer<?> server, AxisService service) {
+    public EndpointImpl(AxisServer server, AxisService service) {
         this.server = server;
         this.service = service;
     }

Added: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java?rev=686626&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java
 (added)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TestResource.java
 Sun Aug 17 11:06:11 2008
@@ -0,0 +1,123 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.synapse.transport.testkit.tests;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.synapse.transport.testkit.Adapter;
+
+public class TestResource {
+    private static class Initializer {
+        private final Method method;
+        private final Object object;
+        private final Object[] args;
+        
+        public Initializer(Method method, Object object, Object[] args) {
+            this.method = method;
+            this.object = object;
+            this.args = args;
+        }
+        
+        public void execute() throws Exception {
+            method.invoke(object, args);
+        }
+    }
+    
+    private static class Finalizer {
+        private final Method method;
+        private final Object object;
+        
+        public Finalizer(Method method, Object object) {
+            this.method = method;
+            this.object = object;
+        }
+        
+        public void execute() throws Exception {
+            method.invoke(object);
+        }
+    }
+    
+    private final Object instance;
+    private final LinkedList<Initializer> initializers = new 
LinkedList<Initializer>();
+    private final List<Finalizer> finalizers = new LinkedList<Finalizer>();
+    
+    public TestResource(List<TestResource> resources, Object instance) {
+        this.instance = instance;
+        Object target = instance;
+        while (target instanceof Adapter) {
+            target = ((Adapter)target).getTarget();
+        }
+        for (Class<?> clazz = target.getClass(); !clazz.equals(Object.class);
+                clazz = clazz.getSuperclass()) {
+            for (Method method : clazz.getDeclaredMethods()) {
+                String name = method.getName();
+                if (name.equals("setUp")) {
+                    Type[] parameterTypes = method.getGenericParameterTypes();
+                    Object[] args = new Object[parameterTypes.length];
+                    for (int i=0; i<parameterTypes.length; i++) {
+                        Type parameterType = parameterTypes[i];
+                        if (!(parameterType instanceof Class)) {
+                            throw new Error("Generic parameters not supported 
in " + method);
+                        }
+                        Class<?> parameterClass = (Class<?>)parameterType;
+                        TestResource res = null;
+                        for (TestResource resource : resources) {
+                            Object obj = resource.getInstance();
+                            if (parameterClass.isInstance(obj)) {
+                                if (res != null) {
+                                    throw new Error();
+                                }
+                                res = resource;
+                            }
+                        }
+                        if (res == null) {
+                            throw new Error(target.getClass().getName() + " 
depends on " + parameterClass.getName() + ", but none found");
+                        }
+                        args[i] = res.getInstance();
+                    }
+                    method.setAccessible(true);
+                    initializers.addFirst(new Initializer(method, target, 
args));
+                } else if (name.equals("tearDown") && 
method.getParameterTypes().length == 0) {
+                    method.setAccessible(true);
+                    finalizers.add(new Finalizer(method, target));
+                }
+            }
+        }
+    }
+
+    public Object getInstance() {
+        return instance;
+    }
+    
+    public void setUp() throws Exception {
+        for (Initializer initializer : initializers) {
+            initializer.execute();
+        }
+    }
+    
+    public void tearDown() throws Exception {
+        for (Finalizer finalizer : finalizers) {
+            finalizer.execute();
+        }
+    }
+}

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/TransportTestCase.java
 Sun Aug 17 11:06:11 2008
@@ -19,23 +19,24 @@
 
 package org.apache.synapse.transport.testkit.tests;
 
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
 import java.util.Map;
 
 import junit.framework.TestCase;
 
 import org.apache.synapse.transport.testkit.TestEnvironment;
-import org.apache.synapse.transport.testkit.client.TestClient;
 import org.apache.synapse.transport.testkit.listener.Channel;
 import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
 import org.apache.synapse.transport.testkit.name.NameComponent;
 import org.apache.synapse.transport.testkit.name.NameUtils;
 import org.apache.synapse.transport.testkit.server.Server;
 
-public abstract class TransportTestCase<E extends TestEnvironment,C extends 
Channel<? super E>,L extends TestClient<? super E,? super C>> extends TestCase {
-    protected final E env;
-    protected final C channel;
-    protected final L client;
-    private final Server<? super E> server;
+public abstract class TransportTestCase extends TestCase {
+    private final List<TestResource> resources = new 
LinkedList<TestResource>();
+    private final TestEnvironment env;
+    private final Channel channel;
     protected final ContentTypeMode contentTypeMode;
     protected final String contentType;
     
@@ -43,15 +44,24 @@
     
     private boolean manageServer = true;
 
-    public TransportTestCase(E env, C channel, L client, Server<? super E> 
server, ContentTypeMode contentTypeMode, String contentType) {
+    public TransportTestCase(TestEnvironment env, Channel channel, Server 
server, ContentTypeMode contentTypeMode, String contentType) {
         this.env = env;
         this.channel = channel;
-        this.client = client;
-        this.server = server;
         this.contentTypeMode = contentTypeMode;
         this.contentType = contentType;
+        if (env != null) {
+            addResource(env);
+        }
+        addResource(channel);
+        if (server != null) {
+            addResource(server);
+        }
     }
 
+    protected void addResource(Object resource) {
+        resources.add(new TestResource(resources, resource));
+    }
+    
     public Map<String,String> getNameComponents() {
         if (nameComponents == null) {
             nameComponents = NameUtils.getNameComponents("test", this);
@@ -79,21 +89,16 @@
         return testName;
     }
 
-    @NameComponent("channel")
-    public C getChannel() {
-        return channel;
-    }
-
-    @NameComponent("client")
-    public L getClient() {
-        return client;
-    }
-
     @NameComponent("env")
-    public E getEnvironment() {
+    public TestEnvironment getEnvironment() {
         return env;
     }
     
+    @NameComponent("channel")
+    public Channel getChannel() {
+        return channel;
+    }
+
 //    public void setServer(ListenerTestServer server){
 //        this.server = server;
 //        manageServer = false;
@@ -101,25 +106,15 @@
     
     @Override
     protected void setUp() throws Exception {
-        if (env != null) {
-            env.setUp();
-        }
-        channel.setUp(env);
-        if (server != null && manageServer) {
-            server.start(env, channel);
+        for (TestResource resource : resources) {
+            resource.setUp();
         }
-        client.setUp(env, channel);
     }
 
     @Override
     protected void tearDown() throws Exception {
-        client.tearDown();
-        if (server != null && manageServer) {
-            server.stop();
-        }
-        channel.tearDown();
-        if (env != null) {
-            env.tearDown();
+        for (ListIterator<TestResource> it = 
resources.listIterator(resources.size()); it.hasPrevious(); ) {
+            it.previous().tearDown();
         }
     }
 }
\ No newline at end of file

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/BinaryTestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/BinaryTestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/BinaryTestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/BinaryTestCase.java
 Sun Aug 17 11:06:11 2008
@@ -32,10 +32,10 @@
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 
 @DisplayName("AsyncBinary")
-public class BinaryTestCase<E extends TestEnvironment,C extends AsyncChannel<? 
super E>> extends AsyncMessageTestCase<E,C,ByteArrayMessage,ByteArrayMessage> {
+public class BinaryTestCase extends 
AsyncMessageTestCase<ByteArrayMessage,ByteArrayMessage> {
     private static final Random random = new Random();
     
-    public BinaryTestCase(E env, C channel, AsyncTestClient<? super E,? super 
C,ByteArrayMessage> client, AsyncEndpointFactory<? super E,? super 
C,ByteArrayMessage> endpointFactory, ContentTypeMode contentTypeMode) {
+    public BinaryTestCase(TestEnvironment env, AsyncChannel channel, 
AsyncTestClient<ByteArrayMessage> client, 
AsyncEndpointFactory<ByteArrayMessage> endpointFactory, ContentTypeMode 
contentTypeMode) {
         super(env, channel, client, endpointFactory, contentTypeMode, 
"application/octet-stream", null);
     }
     

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/RESTTestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/RESTTestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/RESTTestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/RESTTestCase.java
 Sun Aug 17 11:06:11 2008
@@ -37,10 +37,10 @@
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 
 @DisplayName("REST")
-public class RESTTestCase<E extends TestEnvironment,C extends AsyncChannel<? 
super E>> extends AsyncMessageTestCase<E,C,RESTMessage,MessageData> {
+public class RESTTestCase extends 
AsyncMessageTestCase<RESTMessage,MessageData> {
     private final RESTMessage message;
     
-    public RESTTestCase(E env, C channel, AsyncTestClient<? super E,? super 
C,RESTMessage> client, AsyncEndpointFactory<? super E,? super C,MessageData> 
endpointFactory, RESTMessage message) {
+    public RESTTestCase(TestEnvironment env, AsyncChannel channel, 
AsyncTestClient<RESTMessage> client, AsyncEndpointFactory<MessageData> 
endpointFactory, RESTMessage message) {
         super(env, channel, client, endpointFactory, 
ContentTypeMode.TRANSPORT, null, null);
         this.message = message;
     }

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/SwATestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/SwATestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/SwATestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/SwATestCase.java
 Sun Aug 17 11:06:11 2008
@@ -49,13 +49,13 @@
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 
 @DisplayName("AsyncSwA")
-public class SwATestCase<E extends TestEnvironment,C extends AsyncChannel<? 
super E>> extends AsyncMessageTestCase<E,C,ByteArrayMessage,MessageData> {
+public class SwATestCase extends 
AsyncMessageTestCase<ByteArrayMessage,MessageData> {
     private static final Random random = new Random();
     
     private byte[] attachmentContent;
     private String contentID;
     
-    public SwATestCase(E env, C channel, AsyncTestClient<? super E,? super 
C,ByteArrayMessage> client, AsyncEndpointFactory<? super E,? super 
C,MessageData> endpointFactory) {
+    public SwATestCase(TestEnvironment env, AsyncChannel channel, 
AsyncTestClient<ByteArrayMessage> client, AsyncEndpointFactory<MessageData> 
endpointFactory) {
         super(env, channel, client, endpointFactory, 
ContentTypeMode.TRANSPORT, null, null);
     }
     

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/TextPlainTestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/TextPlainTestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/TextPlainTestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/TextPlainTestCase.java
 Sun Aug 17 11:06:11 2008
@@ -31,10 +31,10 @@
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 
 @DisplayName("AsyncTextPlain")
-public class TextPlainTestCase<E extends TestEnvironment,C extends 
AsyncChannel<? super E>> extends 
AsyncMessageTestCase<E,C,StringMessage,StringMessage> {
+public class TextPlainTestCase extends 
AsyncMessageTestCase<StringMessage,StringMessage> {
     private final MessageTestData data;
     
-    public TextPlainTestCase(E env, C channel, AsyncTestClient<? super E,? 
super C,StringMessage> client, AsyncEndpointFactory<? super E,? super 
C,StringMessage> endpointFactory, ContentTypeMode contentTypeMode, 
MessageTestData data) {
+    public TextPlainTestCase(TestEnvironment env, AsyncChannel channel, 
AsyncTestClient<StringMessage> client, AsyncEndpointFactory<StringMessage> 
endpointFactory, ContentTypeMode contentTypeMode, MessageTestData data) {
         super(env, channel, client, endpointFactory, contentTypeMode, 
"text/plain; charset=\"" + data.getCharset() + "\"", data.getCharset());
         this.data = data;
     }

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/XMLAsyncMessageTestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/XMLAsyncMessageTestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/XMLAsyncMessageTestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/async/XMLAsyncMessageTestCase.java
 Sun Aug 17 11:06:11 2008
@@ -38,11 +38,11 @@
 import org.apache.synapse.transport.testkit.server.AsyncEndpointFactory;
 
 @DisplayName("AsyncXML")
-public class XMLAsyncMessageTestCase<E extends TestEnvironment,C extends 
AsyncChannel<? super E>> extends 
AsyncMessageTestCase<E,C,XMLMessage,MessageData> {
+public class XMLAsyncMessageTestCase extends 
AsyncMessageTestCase<XMLMessage,MessageData> {
     private final XMLMessageType xmlMessageType;
     private final MessageTestData data;
     
-    public XMLAsyncMessageTestCase(E env, C channel, AsyncTestClient<? super 
E,? super C,XMLMessage> client, AsyncEndpointFactory<? super E,? super 
C,MessageData> endpointFactory, XMLMessageType xmlMessageType, ContentTypeMode 
contentTypeMode, String baseContentType, MessageTestData data) {
+    public XMLAsyncMessageTestCase(TestEnvironment env, AsyncChannel channel, 
AsyncTestClient<XMLMessage> client, AsyncEndpointFactory<MessageData> 
endpointFactory, XMLMessageType xmlMessageType, ContentTypeMode 
contentTypeMode, String baseContentType, MessageTestData data) {
         super(env, channel, client, endpointFactory, contentTypeMode, 
baseContentType + "; charset=\"" + data.getCharset() + "\"", data.getCharset());
         this.xmlMessageType = xmlMessageType;
         this.data = data;

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/echo/XMLRequestResponseMessageTestCase.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/echo/XMLRequestResponseMessageTestCase.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/echo/XMLRequestResponseMessageTestCase.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/testkit/tests/echo/XMLRequestResponseMessageTestCase.java
 Sun Aug 17 11:06:11 2008
@@ -36,17 +36,26 @@
 import org.apache.synapse.transport.testkit.tests.TransportTestCase;
 
 @DisplayName("EchoXML")
-public class XMLRequestResponseMessageTestCase<E extends TestEnvironment,C 
extends RequestResponseChannel<? super E>> extends 
TransportTestCase<E,C,XMLRequestResponseTestClient<? super E,? super C>> {
-    private final EndpointFactory<? super E,? super C> endpointFactory;
+public class XMLRequestResponseMessageTestCase extends TransportTestCase {
+    private final XMLRequestResponseTestClient client;
+    private final EndpointFactory endpointFactory;
     private final XMLMessageType xmlMessageType;
     private final MessageTestData data;
     
     // TODO: realign order of arguments with XMLAsyncMessageTestCase 
constructor
-    public XMLRequestResponseMessageTestCase(E env, C channel, 
XMLRequestResponseTestClient<? super E,? super C> client, EndpointFactory<? 
super E,? super C> endpointFactory, ContentTypeMode contentTypeMode, String 
contentType, XMLMessageType xmlMessageType, MessageTestData data) {
-        super(env, channel, client, endpointFactory.getServer(), 
contentTypeMode, contentType);
+    public XMLRequestResponseMessageTestCase(TestEnvironment env, 
RequestResponseChannel channel, XMLRequestResponseTestClient client, 
EndpointFactory endpointFactory, ContentTypeMode contentTypeMode, String 
contentType, XMLMessageType xmlMessageType, MessageTestData data) {
+        super(env, channel, endpointFactory.getServer(), contentTypeMode, 
contentType);
+        this.client = client;
         this.endpointFactory = endpointFactory;
         this.xmlMessageType = xmlMessageType;
         this.data = data;
+        addResource(client);
+        addResource(endpointFactory);
+    }
+
+    @NameComponent("client")
+    public XMLRequestResponseTestClient getClient() {
+        return client;
     }
 
     @NameComponent("messageType")
@@ -61,12 +70,12 @@
 
     @Override
     protected void runTest() throws Throwable {
-        Endpoint endpoint = endpointFactory.createEchoEndpoint(env, channel, 
contentTypeMode == ContentTypeMode.SERVICE ? contentType : null);
+        Endpoint endpoint = endpointFactory.createEchoEndpoint(contentTypeMode 
== ContentTypeMode.SERVICE ? contentType : null);
         try {
             OMFactory factory = xmlMessageType.getOMFactory();
             OMElement orgElement = factory.createOMElement(new QName("root"));
             orgElement.setText(data.getText());
-            OMElement element = client.sendMessage(channel, endpoint.getEPR(), 
contentType, data.getCharset(), xmlMessageType, orgElement);
+            OMElement element = client.sendMessage(endpoint.getEPR(), 
contentType, data.getCharset(), xmlMessageType, orgElement);
             assertEquals(orgElement.getQName(), element.getQName());
             assertEquals(orgElement.getText(), element.getText());
         } finally {

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java
 Sun Aug 17 11:06:11 2008
@@ -19,17 +19,24 @@
 
 package org.apache.synapse.transport.vfs;
 
+import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 
-import org.apache.synapse.transport.testkit.client.AbstractTestClient;
 import org.apache.synapse.transport.testkit.client.AsyncTestClient;
 import org.apache.synapse.transport.testkit.client.ClientOptions;
 import org.apache.synapse.transport.testkit.message.ByteArrayMessage;
 
-public class VFSClient extends 
AbstractTestClient<VFSTestEnvironment,VFSFileChannel> implements 
AsyncTestClient<VFSTestEnvironment,VFSFileChannel,ByteArrayMessage> {
-    public void sendMessage(VFSFileChannel channel, ClientOptions options, 
ByteArrayMessage message) throws Exception {
-        OutputStream out = new FileOutputStream(channel.getRequestFile());
+public class VFSClient implements AsyncTestClient<ByteArrayMessage> {
+    private File requestFile;
+    
+    @SuppressWarnings("unused")
+    private void setUp(VFSFileChannel channel) {
+        requestFile = channel.getRequestFile();
+    }
+    
+    public void sendMessage(ClientOptions options, ByteArrayMessage message) 
throws Exception {
+        OutputStream out = new FileOutputStream(requestFile);
         out.write(message.getContent());
         out.close();
     }

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSFileChannel.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSFileChannel.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSFileChannel.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSFileChannel.java
 Sun Aug 17 11:06:11 2008
@@ -25,7 +25,7 @@
 import org.apache.synapse.transport.testkit.listener.AbstractChannel;
 import org.apache.synapse.transport.testkit.listener.AsyncChannel;
 
-public class VFSFileChannel extends AbstractChannel<VFSTestEnvironment> 
implements AsyncChannel<VFSTestEnvironment> {
+public class VFSFileChannel extends AbstractChannel implements AsyncChannel {
     private final File requestFile;
     
     public VFSFileChannel(File requestFile) {
@@ -43,8 +43,8 @@
         service.addParameter("transport.vfs.ActionAfterProcess", "DELETE");
     }
 
-    @Override
-    public void setUp(VFSTestEnvironment env) throws Exception {
+    @SuppressWarnings("unused")
+    private void setUp() throws Exception {
         requestFile.getParentFile().mkdirs();
         requestFile.delete();
     }

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportListenerTest.java
 Sun Aug 17 11:06:11 2008
@@ -36,6 +36,7 @@
 import org.apache.synapse.transport.testkit.listener.ContentTypeMode;
 import org.apache.synapse.transport.testkit.message.MessageConverter;
 import org.apache.synapse.transport.testkit.message.XMLMessage;
+import 
org.apache.synapse.transport.testkit.server.axis2.AxisAsyncEndpointFactory;
 import org.apache.synapse.transport.testkit.server.axis2.AxisServer;
 
 /**
@@ -44,24 +45,25 @@
 public class VFSTransportListenerTest extends TestCase {
     public static TestSuite suite() {
         // TODO: the VFS listener doesn't like reuseServer == true...
-        TransportTestSuite<VFSTestEnvironment> suite = new 
TransportTestSuite<VFSTestEnvironment>(false);
+        TransportTestSuite suite = new TransportTestSuite(false);
         TransportDescriptionFactory tdf =
             new SimpleTransportDescriptionFactory("vfs", 
VFSTransportListener.class,
                     VFSTransportSender.class);
         VFSTestEnvironment env = new VFSTestEnvironment();
-        AxisServer<VFSTestEnvironment> server = new 
AxisServer<VFSTestEnvironment>(tdf);
+        AxisServer server = new AxisServer(tdf);
+        AxisAsyncEndpointFactory asyncEndpointFactory = new 
AxisAsyncEndpointFactory(server);
         VFSFileChannel channel = new VFSFileChannel(new 
File("target/vfs3/req/in").getAbsoluteFile());
         VFSClient vfsClient = new VFSClient();
-        List<AsyncTestClient<? super VFSTestEnvironment,? super 
VFSFileChannel,XMLMessage>> clients = new LinkedList<AsyncTestClient<? super 
VFSTestEnvironment,? super VFSFileChannel,XMLMessage>>();
+        List<AsyncTestClient<XMLMessage>> clients = new 
LinkedList<AsyncTestClient<XMLMessage>>();
         clients.add(adapt(vfsClient, MessageConverter.XML_TO_BYTE));
         clients.add(new AxisAsyncTestClient(tdf));
-        for (AsyncTestClient<? super VFSTestEnvironment,? super 
VFSFileChannel,XMLMessage> client : clients) {
-            suite.addSOAPTests(env, channel, client, server, 
ContentTypeMode.SERVICE);
-            suite.addPOXTests(env, channel, client, server, 
ContentTypeMode.SERVICE);
+        for (AsyncTestClient<XMLMessage> client : clients) {
+            suite.addSOAPTests(env, channel, client, asyncEndpointFactory, 
ContentTypeMode.SERVICE);
+            suite.addPOXTests(env, channel, client, asyncEndpointFactory, 
ContentTypeMode.SERVICE);
             // Since VFS has no Content-Type header, SwA is not supported.
         }
-        suite.addTextPlainTests(env, channel, adapt(vfsClient, 
MessageConverter.STRING_TO_BYTE), adapt(server, 
MessageConverter.AXIS_TO_STRING), ContentTypeMode.SERVICE);
-        suite.addBinaryTest(env, channel, vfsClient, adapt(server, 
MessageConverter.AXIS_TO_BYTE), ContentTypeMode.SERVICE);
+        suite.addTextPlainTests(env, channel, adapt(vfsClient, 
MessageConverter.STRING_TO_BYTE), adapt(asyncEndpointFactory, 
MessageConverter.AXIS_TO_STRING), ContentTypeMode.SERVICE);
+        suite.addBinaryTest(env, channel, vfsClient, 
adapt(asyncEndpointFactory, MessageConverter.AXIS_TO_BYTE), 
ContentTypeMode.SERVICE);
         return suite;
     }
 }

Modified: 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportSenderTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportSenderTest.java?rev=686626&r1=686625&r2=686626&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportSenderTest.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTransportSenderTest.java
 Sun Aug 17 11:06:11 2008
@@ -39,22 +39,28 @@
 
 public class VFSTransportSenderTest extends TestCase {
     public static TestSuite suite() {
-        TransportTestSuite<VFSTestEnvironment> suite = new 
TransportTestSuite<VFSTestEnvironment>();
+        TransportTestSuite suite = new TransportTestSuite();
         
         VFSTestEnvironment env = new VFSTestEnvironment();
         TransportDescriptionFactory tdf =
             new SimpleTransportDescriptionFactory("vfs", 
VFSTransportListener.class,
                     VFSTransportSender.class);
         
-        
AsyncEndpointFactory<VFSTestEnvironment,VFSFileChannel,ByteArrayMessage> 
endpointFactory =
-            new 
AsyncEndpointFactory<VFSTestEnvironment,VFSFileChannel,ByteArrayMessage>() {
+        AsyncEndpointFactory<ByteArrayMessage> endpointFactory =
+            new AsyncEndpointFactory<ByteArrayMessage>() {
 
-            public Server<VFSTestEnvironment> getServer() {
+            private VFSFileChannel channel;
+            
+            public Server getServer() {
                 return null;
             }
             
-            public AsyncEndpoint<ByteArrayMessage> createAsyncEndpoint(
-                    VFSTestEnvironment env, VFSFileChannel channel, String 
contentType)
+            @SuppressWarnings("unused")
+            private void setUp(VFSFileChannel channel) {
+                this.channel = channel;
+            }
+            
+            public AsyncEndpoint<ByteArrayMessage> createAsyncEndpoint(String 
contentType)
                     throws Exception {
                 
                 return new VFSMockAsyncEndpoint(channel, contentType);


Reply via email to