You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/02/25 20:46:14 UTC
svn commit: r380973 - in /incubator/tuscany/java/sca:
container.java/src/test/java/org/apache/tuscany/container/java/integration/
container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/
container.java/src/test/java/org/apach...
Author: jmarino
Date: Sat Feb 25 11:46:12 2006
New Revision: 380973
URL: http://svn.apache.org/viewcvs?rev=380973&view=rev
Log:
more external service work
Added:
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/JavaToExternalServiceTestCase.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/HelloWorldClient.java
Modified:
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockAssemblyFactory.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockModuleFactory.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBinding.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooClient.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceRuntimeConfiguration.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooTargetInvoker.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/JavaBuilderContextIntegrationTestCase.java Sat Feb 25 11:46:12 2006
@@ -35,6 +35,7 @@
import org.apache.tuscany.core.context.EventContext;
import org.apache.tuscany.core.context.impl.AggregateContextImpl;
import org.apache.tuscany.core.invocation.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory;
import org.apache.tuscany.core.message.MessageFactory;
import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
import org.apache.tuscany.core.runtime.RuntimeContext;
@@ -71,9 +72,11 @@
builders.add(new SystemEntryPointBuilder());
builders.add(new SystemExternalServiceBuilder());
+ ProxyFactoryFactory proxyFactoryFactory =new JDKProxyFactoryFactory();
+
JavaComponentContextBuilder javaBuilder = new JavaComponentContextBuilder();
javaBuilder.setMessageFactory(msgFactory);
- javaBuilder.setProxyFactoryFactory(new JDKProxyFactoryFactory());
+ javaBuilder.setProxyFactoryFactory(proxyFactoryFactory);
MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, true);
Added: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/JavaToExternalServiceTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/JavaToExternalServiceTestCase.java?rev=380973&view=auto
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/JavaToExternalServiceTestCase.java (added)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/JavaToExternalServiceTestCase.java Sat Feb 25 11:46:12 2006
@@ -0,0 +1,102 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed 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.tuscany.container.java.integration.binding;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.container.java.assembly.mock.HelloWorldService;
+import org.apache.tuscany.container.java.builder.JavaComponentContextBuilder;
+import org.apache.tuscany.container.java.builder.JavaTargetWireBuilder;
+import org.apache.tuscany.container.java.builder.MockInterceptorBuilder;
+import org.apache.tuscany.container.java.invocation.mock.MockSyncInterceptor;
+import org.apache.tuscany.container.java.mock.MockAssemblyFactory;
+import org.apache.tuscany.container.java.mock.MockModuleFactory;
+import org.apache.tuscany.container.java.mock.binding.foo.FooBindingBuilder;
+import org.apache.tuscany.container.java.mock.binding.foo.FooBindingWireBuilder;
+import org.apache.tuscany.container.java.mock.components.GenericComponent;
+import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
+import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
+import org.apache.tuscany.core.builder.impl.HierarchicalBuilder;
+import org.apache.tuscany.core.context.AggregateContext;
+import org.apache.tuscany.core.context.EventContext;
+import org.apache.tuscany.core.context.impl.AggregateContextImpl;
+import org.apache.tuscany.core.invocation.jdk.JDKProxyFactoryFactory;
+import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory;
+import org.apache.tuscany.core.message.MessageFactory;
+import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
+import org.apache.tuscany.core.runtime.RuntimeContext;
+import org.apache.tuscany.core.runtime.RuntimeContextImpl;
+import org.apache.tuscany.core.system.builder.SystemComponentContextBuilder;
+import org.apache.tuscany.core.system.builder.SystemEntryPointBuilder;
+import org.apache.tuscany.core.system.builder.SystemExternalServiceBuilder;
+import org.apache.tuscany.model.assembly.Scope;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @version $Rev$ $Date$
+ */
+public class JavaToExternalServiceTestCase extends TestCase {
+
+ public void testJavaToES() throws Exception {
+ MessageFactory msgFactory = new MessageFactoryImpl();
+ ProxyFactoryFactory proxyFactoryFactory =new JDKProxyFactoryFactory();
+
+ List<RuntimeConfigurationBuilder> builders = new ArrayList();
+ builders.add((new SystemComponentContextBuilder()));
+ builders.add(new SystemEntryPointBuilder());
+ builders.add(new SystemExternalServiceBuilder());
+
+ JavaComponentContextBuilder javaBuilder = new JavaComponentContextBuilder();
+ javaBuilder.setMessageFactory(msgFactory);
+ javaBuilder.setProxyFactoryFactory(proxyFactoryFactory);
+
+ MockSyncInterceptor mockInterceptor = new MockSyncInterceptor();
+ MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, true);
+ HierarchicalBuilder refBuilder = new HierarchicalBuilder();
+ refBuilder.addBuilder(interceptorBuilder);
+ javaBuilder.setReferenceBuilder(refBuilder);
+ builders.add(javaBuilder);
+
+ FooBindingBuilder fooBindingBuilder = new FooBindingBuilder();
+ fooBindingBuilder.setMessageFactory(msgFactory);
+ fooBindingBuilder.setProxyFactoryFactory(proxyFactoryFactory);
+ builders.add(fooBindingBuilder);
+
+ DefaultWireBuilder defaultWireBuilder = new DefaultWireBuilder();
+
+ RuntimeContext runtime = new RuntimeContextImpl(null, null, builders, defaultWireBuilder);
+ runtime.addBuilder(new JavaTargetWireBuilder());
+ runtime.addBuilder(new FooBindingWireBuilder());
+ runtime.start();
+ runtime.getRootContext().registerModelObject(
+ MockAssemblyFactory.createSystemComponent("test.module", AggregateContextImpl.class.getName(), Scope.AGGREGATE));
+ AggregateContext child = (AggregateContext) runtime.getRootContext().getContext("test.module");
+ child.registerModelObject(MockModuleFactory.createModuleWithExerntalService());
+ child.fireEvent(EventContext.MODULE_START, null);
+ HelloWorldService source = (HelloWorldService) child.locateInstance("source");
+ Assert.assertNotNull(source);
+ Assert.assertEquals(0, mockInterceptor.getCount());
+ Assert.assertEquals("foo", source.hello("foo"));
+ Assert.assertEquals(1, mockInterceptor.getCount());
+ child.fireEvent(EventContext.MODULE_STOP, null);
+ runtime.stop();
+ }
+
+}
+
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockAssemblyFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockAssemblyFactory.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockAssemblyFactory.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockAssemblyFactory.java Sat Feb 25 11:46:12 2006
@@ -19,12 +19,15 @@
import org.apache.tuscany.container.java.assembly.JavaAssemblyFactory;
import org.apache.tuscany.container.java.assembly.JavaImplementation;
import org.apache.tuscany.container.java.assembly.impl.JavaAssemblyFactoryImpl;
+import org.apache.tuscany.container.java.mock.binding.foo.FooBinding;
import org.apache.tuscany.core.config.JavaIntrospectionHelper;
import org.apache.tuscany.core.context.AggregateContext;
import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory;
import org.apache.tuscany.core.system.assembly.SystemImplementation;
import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl;
import org.apache.tuscany.model.assembly.Component;
+import org.apache.tuscany.model.assembly.ConfiguredService;
+import org.apache.tuscany.model.assembly.ExternalService;
import org.apache.tuscany.model.assembly.Scope;
import org.apache.tuscany.model.assembly.Service;
import org.apache.tuscany.model.assembly.SimpleComponent;
@@ -38,8 +41,9 @@
public class MockAssemblyFactory {
private static JavaAssemblyFactory factory = new JavaAssemblyFactoryImpl();
+
private static SystemAssemblyFactory systemFactory = new SystemAssemblyFactoryImpl();
-
+
public static SimpleComponent createComponent(String name, Class type, Scope scope) throws NoSuchMethodException {
SimpleComponent sc = factory.createSimpleComponent();
JavaImplementation impl = factory.createJavaImplementation();
@@ -77,6 +81,26 @@
sc.setName(name);
sc.setComponentImplementation(impl);
return sc;
+ }
+
+ /**
+ * Creates an external service configured with the 'Foo' test binding
+ */
+ public static ExternalService createFooBindingExternalService(String name, Class interfaz) throws NoSuchMethodException,
+ ClassNotFoundException {
+ ExternalService es = factory.createExternalService();
+ es.setName(name);
+ Service s = factory.createService();
+ JavaServiceContract ji = factory.createJavaServiceContract();
+ ji.setScope(Scope.MODULE);
+ ji.setInterface(interfaz);
+ s.setServiceContract(ji);
+ ConfiguredService configuredService = factory.createConfiguredService();
+ es.setConfiguredService(configuredService);
+
+ FooBinding binding = new FooBinding();
+ es.getBindings().add(binding);
+ return es;
}
}
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockModuleFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockModuleFactory.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockModuleFactory.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockModuleFactory.java Sat Feb 25 11:46:12 2006
@@ -1,12 +1,15 @@
package org.apache.tuscany.container.java.mock;
+import org.apache.tuscany.container.java.assembly.mock.HelloWorldService;
import org.apache.tuscany.container.java.mock.components.GenericComponent;
+import org.apache.tuscany.container.java.mock.components.HelloWorldClient;
import org.apache.tuscany.container.java.mock.components.ModuleScopeComponentImpl;
import org.apache.tuscany.model.assembly.AssemblyFactory;
import org.apache.tuscany.model.assembly.AssemblyModelContext;
import org.apache.tuscany.model.assembly.Component;
import org.apache.tuscany.model.assembly.ConfiguredReference;
import org.apache.tuscany.model.assembly.ConfiguredService;
+import org.apache.tuscany.model.assembly.ExternalService;
import org.apache.tuscany.model.assembly.Module;
import org.apache.tuscany.model.assembly.Reference;
import org.apache.tuscany.model.assembly.Scope;
@@ -59,6 +62,40 @@
return module;
}
+
+ public static Module createModuleWithExerntalService() throws Exception {
+ Component sourceComponent = MockAssemblyFactory.createComponent("source", HelloWorldClient.class,Scope.MODULE);
+ ExternalService targetES = MockAssemblyFactory.createFooBindingExternalService("target",HelloWorldService.class);
+
+ Service targetService = factory.createService();
+ JavaServiceContract targetContract = factory.createJavaServiceContract();
+ targetContract.setInterface(HelloWorldService.class);
+ targetService.setServiceContract(targetContract);
+ targetService.setName("HelloWorld");
+ ConfiguredService cTargetService = factory.createConfiguredService();
+ cTargetService.setService(targetService);
+ targetES.setConfiguredService(cTargetService);
+ targetES.initialize(assemblyContext);
+
+ Reference ref = factory.createReference();
+ ConfiguredReference cref = factory.createConfiguredReference();
+ ref.setName("setHelloWorldService");
+ JavaServiceContract inter = factory.createJavaServiceContract();
+ inter.setInterface(HelloWorldService.class);
+ ref.setServiceContract(inter);
+ cref.setReference(ref);
+ cref.getTargetConfiguredServices().add(cTargetService);
+ cref.initialize(assemblyContext);
+ sourceComponent.getConfiguredReferences().add(cref);
+ sourceComponent.initialize(assemblyContext);
+
+ Module module = factory.createModule();
+ module.setName("test.module");
+ module.getComponents().add(sourceComponent);
+ module.getExternalServices().add(targetES);
+ module.initialize(assemblyContext);
+ return module;
+ }
}
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBinding.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBinding.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBinding.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBinding.java Sat Feb 25 11:46:12 2006
@@ -27,12 +27,15 @@
return false;
}
+ private Object config;
+
public void setRuntimeConfiguration(Object configuration) {
+ config = configuration;
}
public Object getRuntimeConfiguration() {
- return null;
+ System.out.println("retting");
+ return config;
}
}
-
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingBuilder.java Sat Feb 25 11:46:12 2006
@@ -1,16 +1,31 @@
package org.apache.tuscany.container.java.mock.binding.foo;
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.tuscany.core.builder.BuilderException;
import org.apache.tuscany.core.builder.ObjectFactory;
import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
+import org.apache.tuscany.core.config.JavaIntrospectionHelper;
import org.apache.tuscany.core.context.Context;
+import org.apache.tuscany.core.context.QualifiedName;
import org.apache.tuscany.core.injection.ObjectCreationException;
+import org.apache.tuscany.core.invocation.InvocationConfiguration;
+import org.apache.tuscany.core.invocation.ProxyConfiguration;
+import org.apache.tuscany.core.invocation.impl.InvokerInterceptor;
+import org.apache.tuscany.core.invocation.spi.ProxyFactory;
import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory;
import org.apache.tuscany.core.message.MessageFactory;
import org.apache.tuscany.core.runtime.RuntimeContext;
import org.apache.tuscany.core.system.annotation.Autowire;
import org.apache.tuscany.model.assembly.AssemblyModelObject;
+import org.apache.tuscany.model.assembly.ConfiguredService;
import org.apache.tuscany.model.assembly.ExternalService;
+import org.apache.tuscany.model.assembly.Service;
+import org.apache.tuscany.model.assembly.ServiceContract;
import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Scope;
@@ -60,18 +75,46 @@
}
public void build(AssemblyModelObject object, Context context) throws BuilderException {
- if (!(object instanceof ExternalService)){
+ if (!(object instanceof ExternalService)) {
return;
}
- ExternalService es = (ExternalService)object;
- if (es.getBindings().size() <1 || !(es.getBindings().get(0) instanceof FooBinding)){
+ ExternalService es = (ExternalService) object;
+ if (es.getBindings().size() < 1 || !(es.getBindings().get(0) instanceof FooBinding)) {
return;
}
- FooExternalServiceRuntimeConfiguration rc = new FooExternalServiceRuntimeConfiguration(es.getName(),new FooClientFactory());
- es.getBindings().get(0).setRuntimeConfiguration(rc);
+
+ FooExternalServiceRuntimeConfiguration config = new FooExternalServiceRuntimeConfiguration(es.getName(),
+ new FooClientFactory());
+
+ ConfiguredService configuredService = es.getConfiguredService();
+ Service service = configuredService.getService();
+ ServiceContract serviceContract = service.getServiceContract();
+ Map<Method, InvocationConfiguration> iConfigMap = new HashMap();
+ ProxyFactory proxyFactory = proxyFactoryFactory.createProxyFactory();
+ Set<Method> javaMethods = JavaIntrospectionHelper.getAllUniqueMethods(serviceContract.getInterface());
+ for (Method method : javaMethods) {
+ InvocationConfiguration iConfig = new InvocationConfiguration(method);
+ iConfigMap.put(method, iConfig);
+ }
+ QualifiedName qName = new QualifiedName(es.getName() + "/" + service.getName());
+ ProxyConfiguration pConfiguration = new ProxyConfiguration(qName, iConfigMap, null, messageFactory);
+ proxyFactory.setBusinessInterface(serviceContract.getInterface());
+ proxyFactory.setProxyConfiguration(pConfiguration);
+ config.addTargetProxyFactory(service.getName(), proxyFactory);
+ configuredService.setProxyFactory(proxyFactory);
+// if (referenceBuilder != null) {
+// // invoke the reference builder to handle target-side metadata
+// referenceBuilder.build(configuredService, parentContext);
+// }
+ // add tail interceptor
+ for (InvocationConfiguration iConfig : (Collection<InvocationConfiguration>) iConfigMap.values()) {
+ iConfig.addTargetInterceptor(new InvokerInterceptor());
+ }
+
+ es.getConfiguredService().setRuntimeConfiguration(config);
}
- private class FooClientFactory implements ObjectFactory{
+ private class FooClientFactory implements ObjectFactory {
public Object getInstance() throws ObjectCreationException {
return new FooClient();
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooClient.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooClient.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooClient.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooClient.java Sat Feb 25 11:46:12 2006
@@ -13,6 +13,10 @@
*/
package org.apache.tuscany.container.java.mock.binding.foo;
+import java.lang.reflect.Array;
+
+import org.apache.tuscany.core.context.TargetException;
+
/**
* A mock client for a transport binding
*
@@ -23,7 +27,11 @@
public FooClient() {
}
- public String invoke(String msg) {
- return msg;
+ public Object invoke(Object msg) {
+ if (msg!=null && msg.getClass().isArray() && Array.getLength(msg) == 1){
+ return Array.get(msg,0);
+ }else{
+ throw new TargetException("This binding only understands operations with a single parameter");
+ }
}
}
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceRuntimeConfiguration.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceRuntimeConfiguration.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceRuntimeConfiguration.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooExternalServiceRuntimeConfiguration.java Sat Feb 25 11:46:12 2006
@@ -68,7 +68,7 @@
public void addTargetProxyFactory(String serviceName, ProxyFactory factory) {
assert (serviceName != null) : "No service name specified";
assert (factory != null) : "Proxy factory was null";
- this.targetServiceName = name; // external services are configured with only one service
+ this.targetServiceName = serviceName; // external services are configured with only one service
this.proxyFactory = factory;
}
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooTargetInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooTargetInvoker.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooTargetInvoker.java Sat Feb 25 11:46:12 2006
@@ -24,6 +24,7 @@
import org.apache.tuscany.core.message.Message;
/**
+ * Responsible for invoking a mock transport binding client
*
* @version $Rev$ $Date$
*/
@@ -35,8 +36,6 @@
private ExternalServiceContext context;
- public boolean cacheable;
-
public FooTargetInvoker(String esName, ScopeContext container) {
assert (esName != null) : "No external service name specified";
assert (container != null) : "No scope container specified";
@@ -56,7 +55,11 @@
context = (ExternalServiceContext) iContext;
}
FooClient client = (FooClient) context.getImplementationInstance(true);
- return client.invoke(payload.toString());
+ if (payload != null) {
+ return client.invoke(payload);
+ } else {
+ return client.invoke(null);
+ }
}
public boolean isCacheable() {
Added: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/HelloWorldClient.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/HelloWorldClient.java?rev=380973&view=auto
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/HelloWorldClient.java (added)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/components/HelloWorldClient.java Sat Feb 25 11:46:12 2006
@@ -0,0 +1,39 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed 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.tuscany.container.java.mock.components;
+
+import org.apache.tuscany.container.java.assembly.mock.HelloWorldService;
+
+/**
+ *
+ *
+ * @version $Rev$ $Date$
+ */
+public class HelloWorldClient implements HelloWorldService{
+
+ public HelloWorldClient() {
+ }
+
+ private HelloWorldService service;
+
+ public void setHelloWorldService(HelloWorldService service){
+ this.service = service;
+ }
+
+ public String hello(String name) {
+ return service.hello(name);
+ }
+
+}
+
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java?rev=380973&r1=380972&r2=380973&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/context/impl/ExternalServiceContextImpl.java Sat Feb 25 11:46:12 2006
@@ -23,7 +23,7 @@
import org.apache.tuscany.core.invocation.spi.ProxyFactory;
/**
- * The default implementation of an external service
+ * The default implementation of an external service context
*
* @version $Rev$ $Date$
*/