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/28 00:04:36 UTC
svn commit: r381478 - in /incubator/tuscany/java/sca:
container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/
container.java/src/test/java/org/apache/tuscany/container/java/mock/
container.java/src/test/java/org/apache/tusca...
Author: jmarino
Date: Mon Feb 27 15:04:33 2006
New Revision: 381478
URL: http://svn.apache.org/viewcvs?rev=381478&view=rev
Log:
entry point implementation - passes a basic test exposing a Java impl over the Foo binding but not thoroughly tested; requires more refinement and testing
Added:
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/EntryPointToJavaTestCase.java
Modified:
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/FooBindingBuilder.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingWireBuilder.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooEPTargetInvoker.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointRuntimeConfiguration.java
Added: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/EntryPointToJavaTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/EntryPointToJavaTestCase.java?rev=381478&view=auto
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/EntryPointToJavaTestCase.java (added)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/integration/binding/EntryPointToJavaTestCase.java Mon Feb 27 15:04:33 2006
@@ -0,0 +1,115 @@
+/**
+ *
+ * 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.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+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.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.EntryPointContext;
+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;
+
+/**
+ *
+ *
+ * @version $Rev$ $Date$
+ */
+public class EntryPointToJavaTestCase extends TestCase {
+
+ private Method hello;
+
+ public void setUp() throws Exception {
+ hello = HelloWorldService.class.getMethod("hello", new Class[] { String.class });
+ }
+
+ public void testEPToJava() throws Throwable {
+ 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.setPolicyBuilder(refBuilder);
+ builders.add(javaBuilder);
+
+ FooBindingBuilder fooBindingBuilder = new FooBindingBuilder();
+ fooBindingBuilder.setMessageFactory(msgFactory);
+ fooBindingBuilder.setProxyFactoryFactory(proxyFactoryFactory);
+ HierarchicalBuilder refBuilder = new HierarchicalBuilder();
+ MockInterceptorBuilder interceptorBuilder = new MockInterceptorBuilder(mockInterceptor, false);
+ refBuilder.addBuilder(interceptorBuilder);
+ fooBindingBuilder.setPolicyBuilder(refBuilder);
+ 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.createModuleWithEntryPoint());
+ child.fireEvent(EventContext.MODULE_START, null);
+ EntryPointContext ctx = (EntryPointContext) child.getContext("source");
+ Assert.assertNotNull(ctx);
+ InvocationHandler handler = (InvocationHandler) ctx.getInstance(null);
+ Assert.assertEquals(0, mockInterceptor.getCount());
+ Object response = handler.invoke(null, hello, new Object[] { "foo" });
+ Assert.assertEquals("Hello foo", response);
+ 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/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=381478&r1=381477&r2=381478&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 Mon Feb 27 15:04:33 2006
@@ -124,7 +124,9 @@
cref.getTargetConfiguredServices().add(cTargetService);
cref.initialize(assemblyContext);
sourceEP.setConfiguredReference(cref);
+ sourceEP.getConfiguredService().getService().setName("HelloWorldService");
sourceEP.initialize(assemblyContext);
+
Module module = factory.createModule();
module.setName("test.module");
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=381478&r1=381477&r2=381478&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 Mon Feb 27 15:04:33 2006
@@ -127,7 +127,7 @@
InvocationConfiguration iConfig = new InvocationConfiguration(method);
iConfigMap.put(method, iConfig);
}
- QualifiedName qName = new QualifiedName(ep.getName() + "/" + service.getName());
+ QualifiedName qName = new QualifiedName(ep.getConfiguredReference().getTargetConfiguredServices().get(0).getAggregatePart().getName() + "/" + service.getName());
ProxyConfiguration pConfiguration = new ProxyConfiguration(qName, iConfigMap, null, messageFactory);
proxyFactory.setBusinessInterface(serviceContract.getInterface());
proxyFactory.setProxyConfiguration(pConfiguration);
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingWireBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingWireBuilder.java?rev=381478&r1=381477&r2=381478&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingWireBuilder.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooBindingWireBuilder.java Mon Feb 27 15:04:33 2006
@@ -25,9 +25,9 @@
.getPartName(), targetScopeContext);
sourceInvocationConfig.setTargetInvoker(invoker);
} else {
- FooEPTargetInvoker invoker = new FooEPTargetInvoker(sourceFactory.getProxyConfiguration().getTargetName()
- .getPartName(), sourceInvocationConfig.getMethod(), targetScopeContext);
- sourceInvocationConfig.setTargetInvoker(invoker);
+// FooEPTargetInvoker invoker = new FooEPTargetInvoker(sourceFactory.getProxyConfiguration().getTargetName()
+// .getPartName(), sourceInvocationConfig.getMethod(), targetScopeContext);
+// sourceInvocationConfig.setTargetInvoker(invoker);
}
// if (downScope) {
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooEPTargetInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooEPTargetInvoker.java?rev=381478&r1=381477&r2=381478&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooEPTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/binding/foo/FooEPTargetInvoker.java Mon Feb 27 15:04:33 2006
@@ -59,7 +59,7 @@
context = (EntryPointContext) iContext;
}
try {
- InvocationHandler handler = (InvocationHandler) context.getInstance(null);
+ InvocationHandler handler = (InvocationHandler) context.getImplementationInstance();
if (payload != null) {
return handler.invoke(null, operation, new Object[] { payload });
} else {
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointRuntimeConfiguration.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointRuntimeConfiguration.java?rev=381478&r1=381477&r2=381478&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointRuntimeConfiguration.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/builder/impl/EntryPointRuntimeConfiguration.java Mon Feb 27 15:04:33 2006
@@ -46,6 +46,7 @@
assert (name != null) : "Entry point name was null";
assert (msgFactory != null) : "Message factory was null";
this.name = name;
+ this.epServiceName = serviceName;
this.msgFactory = msgFactory;
}