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/01/12 08:25:15 UTC
svn commit: r368299 - in /incubator/tuscany/contrib/java/trunk/runtime:
container.java/src/test/java/org/apache/tuscany/container/java/handler/
container.java/src/test/java/org/apache/tuscany/container/java/model/
core/src/test/java/org/apache/tuscany/...
Author: jmarino
Date: Wed Jan 11 23:25:12 2006
New Revision: 368299
URL: http://svn.apache.org/viewcvs?rev=368299&view=rev
Log:
major patch containing context refactorings, system modules ,tc., pt II
Added:
incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/ScopedPojoInvokerTestCase.java
incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/StaticPojoInvokerTestCase.java
incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadContextPojo.java
incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadNamePojo.java
incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/TestContextFactory.java
incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/PortRuntimeBuilderTestCase.java
incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyLoaderTestCase.java
incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyRuntimeBuilderTestCase.java
Added: incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/ScopedPojoInvokerTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/ScopedPojoInvokerTestCase.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/ScopedPojoInvokerTestCase.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/ScopedPojoInvokerTestCase.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,53 @@
+/**
+ *
+ * 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.handler;
+
+import java.lang.reflect.Method;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.container.java.handler.ScopedJavaComponentInvoker;
+import org.apache.tuscany.container.java.invocation.mock.MockScopeContext;
+import org.apache.tuscany.container.java.invocation.mock.SimpleTarget;
+import org.apache.tuscany.core.context.ScopeContext;
+
+public class ScopedPojoInvokerTestCase extends TestCase {
+
+ private Method echoMethod;
+
+ public ScopedPojoInvokerTestCase() {
+ super();
+ }
+
+ public ScopedPojoInvokerTestCase(String arg0) {
+ super(arg0);
+ }
+
+ public void setUp() throws Exception {
+ echoMethod = SimpleTarget.class.getDeclaredMethod("echo", new Class[]{String.class});
+ Assert.assertNotNull(echoMethod);
+ }
+
+ public void testScopedInvoke() throws Exception {
+ ScopeContext container = new MockScopeContext();
+ ScopedJavaComponentInvoker invoker = new ScopedJavaComponentInvoker("foo", echoMethod, container);
+ Object ret = invoker.invokeTarget("foo");
+ Assert.assertEquals("foo", ret);
+ }
+
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/StaticPojoInvokerTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/StaticPojoInvokerTestCase.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/StaticPojoInvokerTestCase.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/handler/StaticPojoInvokerTestCase.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,155 @@
+/**
+ *
+ * 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.handler;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.apache.tuscany.container.java.handler.StaticJavaComponentTargetInvoker;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+public class StaticPojoInvokerTestCase extends TestCase {
+
+ private Method echoMethod;
+ private Method arrayMethod;
+ private Method nullParamMethod;
+ private Method primitiveMethod;
+ private Method checkedMethod;
+ private Method runtimeMethod;
+
+ public StaticPojoInvokerTestCase() {
+
+ }
+
+ public StaticPojoInvokerTestCase(String arg0) {
+ super(arg0);
+ }
+
+ public void setUp() throws Exception {
+ echoMethod = TestBean.class.getDeclaredMethod("echo", new Class[]{String.class});
+ arrayMethod = TestBean.class.getDeclaredMethod("arrayEcho", new Class[]{String[].class});
+ nullParamMethod = TestBean.class.getDeclaredMethod("nullParam", (Class[]) null);
+ primitiveMethod = TestBean.class.getDeclaredMethod("primitiveEcho", new Class[]{Integer.TYPE});
+ checkedMethod = TestBean.class.getDeclaredMethod("checkedException", (Class[]) null);
+ runtimeMethod = TestBean.class.getDeclaredMethod("runtimeException", (Class[]) null);
+ Assert.assertNotNull(echoMethod);
+ Assert.assertNotNull(checkedMethod);
+ Assert.assertNotNull(runtimeMethod);
+ }
+
+ public void testObjectInvoke() throws Throwable {
+ TestBean bean = new TestBean();
+ StaticJavaComponentTargetInvoker invoker = new StaticJavaComponentTargetInvoker(echoMethod, bean);
+ Object ret = invoker.invokeTarget("foo");
+ Assert.assertEquals("foo", ret);
+ }
+
+ public void testArrayInvoke() throws Throwable {
+ TestBean bean = new TestBean();
+ StaticJavaComponentTargetInvoker invoker = new StaticJavaComponentTargetInvoker(arrayMethod, bean);
+ String[] args = new String[]{"foo", "bar"};
+ Object ret = invoker.invokeTarget(new Object[]{args});
+ String[] retA = (String[]) ret;
+ Assert.assertNotNull(retA);
+ Assert.assertEquals(2, retA.length);
+ Assert.assertEquals("foo", retA[0]);
+ Assert.assertEquals("bar", retA[1]);
+ }
+
+ public void testNullInvoke() throws Throwable {
+ TestBean bean = new TestBean();
+ StaticJavaComponentTargetInvoker invoker = new StaticJavaComponentTargetInvoker(nullParamMethod, bean);
+ Object ret = invoker.invokeTarget(null);
+ String retS = (String) ret;
+ Assert.assertEquals("foo", retS);
+ }
+
+ public void testPrimitiveInvoke() throws Throwable {
+ TestBean bean = new TestBean();
+ StaticJavaComponentTargetInvoker invoker = new StaticJavaComponentTargetInvoker(primitiveMethod, bean);
+ Object ret = invoker.invokeTarget(new Integer[]{new Integer(1)});
+ Integer retI = (Integer) ret;
+ Assert.assertEquals(1, retI.intValue());
+ }
+
+ public void testInvokeCheckedException() throws Throwable {
+ TestBean bean = new TestBean();
+ StaticJavaComponentTargetInvoker invoker = new StaticJavaComponentTargetInvoker(checkedMethod, bean);
+ try {
+ invoker.invokeTarget(null);
+ } catch (InvocationTargetException e) {
+ if (e.getCause() != null && TestException.class.equals(e.getCause().getClass())) {
+ return;
+ }
+ } catch (Throwable e) {
+ }
+ fail(TestException.class.getName() + " should have been thrown");
+ }
+
+ public void testInvokeRuntimeException() throws Throwable {
+ TestBean bean = new TestBean();
+ StaticJavaComponentTargetInvoker invoker = new StaticJavaComponentTargetInvoker(runtimeMethod, bean);
+ try {
+ invoker.invokeTarget(null);
+ } catch (InvocationTargetException e) {
+ if (e.getCause() != null && e.getCause() instanceof TestRuntimeException) {
+ return;
+ }
+ }
+ fail(TestException.class.getName() + " should have been thrown");
+ }
+
+ private class TestBean {
+
+ public String echo(String msg) throws Exception {
+ Assert.assertEquals("foo", msg);
+ return msg;
+ }
+
+ public String[] arrayEcho(String[] msg) throws Exception {
+ Assert.assertNotNull(msg);
+ Assert.assertEquals(2, msg.length);
+ Assert.assertEquals("foo", msg[0]);
+ Assert.assertEquals("bar", msg[1]);
+ return msg;
+ }
+
+ public String nullParam() throws Exception {
+ return "foo";
+ }
+
+ public int primitiveEcho(int i) throws Exception {
+ return i;
+ }
+
+ public void checkedException() throws TestException {
+ throw new TestException();
+ }
+
+ public void runtimeException() throws TestRuntimeException {
+ throw new TestRuntimeException();
+ }
+ }
+
+ public class TestException extends Exception {
+ }
+
+ public class TestRuntimeException extends RuntimeException {
+ }
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadContextPojo.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadContextPojo.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadContextPojo.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadContextPojo.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,26 @@
+/**
+ *
+ * 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.model;
+
+import org.osoa.sca.annotations.Context;
+
+public class BadContextPojo {
+
+ @Context
+ String moduleContext;
+
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadNamePojo.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadNamePojo.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadNamePojo.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/BadNamePojo.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,24 @@
+/**
+ *
+ * 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.model;
+
+import org.osoa.sca.annotations.ComponentName;
+
+public class BadNamePojo {
+ @ComponentName
+ private int name;
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/TestContextFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/TestContextFactory.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/TestContextFactory.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/container.java/src/test/java/org/apache/tuscany/container/java/model/TestContextFactory.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,107 @@
+/**
+ *
+ * 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.model;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.tuscany.container.java.context.JavaComponentContext;
+import org.apache.tuscany.container.java.mock.MockAssemblyFactory;
+import org.apache.tuscany.core.config.JavaIntrospectionHelper;
+import org.apache.tuscany.core.context.AggregateContext;
+import org.apache.tuscany.core.injection.EventInvoker;
+import org.apache.tuscany.core.injection.FieldInjector;
+import org.apache.tuscany.core.injection.Injector;
+import org.apache.tuscany.core.injection.MethodEventInvoker;
+import org.apache.tuscany.core.injection.MethodInjector;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.injection.SingletonObjectFactory;
+import org.apache.tuscany.model.assembly.ScopeEnum;
+import org.apache.tuscany.model.assembly.SimpleComponent;
+import org.osoa.sca.annotations.ComponentName;
+import org.osoa.sca.annotations.Context;
+import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
+
+/**
+ * A factory for Java component contexts
+ *
+ * @version $Rev$ $Date$
+ */
+public class TestContextFactory {
+
+ private TestContextFactory() {
+ super();
+ }
+
+ public static JavaComponentContext createPojoContext(String name, Class implType, ScopeEnum scope,
+ AggregateContext moduleComponentContext) throws NoSuchMethodException {
+ SimpleComponent component = MockAssemblyFactory.createComponent(name, implType, scope);
+
+ Set<Field> fields = JavaIntrospectionHelper.getAllFields(implType);
+ Set<Method> methods = JavaIntrospectionHelper.getAllUniqueMethods(implType);
+ List<Injector> injectors = new ArrayList();
+ EventInvoker initInvoker = null;
+ boolean eagerInit = false;
+ EventInvoker destroyInvoker = null;
+ for (Field field : fields) {
+ ComponentName compName = field.getAnnotation(ComponentName.class);
+ if (compName != null) {
+ Injector injector = new FieldInjector(field, new SingletonObjectFactory(name));
+ injectors.add(injector);
+ }
+ Context context = field.getAnnotation(Context.class);
+ if (context != null) {
+ Injector injector = new FieldInjector(field, new SingletonObjectFactory(moduleComponentContext));
+ injectors.add(injector);
+ }
+ }
+ for (Method method : methods) {
+ // FIXME Java5
+ Init init = method.getAnnotation(Init.class);
+ if (init != null && initInvoker == null) {
+ initInvoker = new MethodEventInvoker(method);
+ eagerInit = init.eager();
+ continue;
+ }
+ Destroy destroy = method.getAnnotation(Destroy.class);
+ if (destroy != null && destroyInvoker == null) {
+ destroyInvoker = new MethodEventInvoker(method);
+ continue;
+ }
+ ComponentName compName = method.getAnnotation(ComponentName.class);
+ if (compName != null) {
+ Injector injector = new MethodInjector(method, new SingletonObjectFactory(name));
+ injectors.add(injector);
+ }
+ Context context = method.getAnnotation(Context.class);
+ if (context != null) {
+ Injector injector = new MethodInjector(method, new SingletonObjectFactory(moduleComponentContext));
+ injectors.add(injector);
+ }
+ }
+
+ boolean stateless = (scope.getValue() == ScopeEnum.INSTANCE);
+ JavaComponentContext context = new JavaComponentContext("foo", new PojoObjectFactory(JavaIntrospectionHelper
+ .getDefaultConstructor(implType), null, injectors), eagerInit, initInvoker, destroyInvoker, stateless);
+
+ return context;
+ }
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/PortRuntimeBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/PortRuntimeBuilderTestCase.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/PortRuntimeBuilderTestCase.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/PortRuntimeBuilderTestCase.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,74 @@
+/**
+ *
+ * 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.core.system.assembly.tests;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.core.addressing.impl.AddressingFactoryImpl;
+import org.apache.tuscany.core.builder.SimpleComponentRuntimeConfiguration;
+import org.apache.tuscany.core.builder.impl.SystemRuntimeConfigurationBuilderImpl;
+import org.apache.tuscany.core.context.TargetException;
+import org.apache.tuscany.core.message.handler.MessageHandler;
+import org.apache.tuscany.model.assembly.AssemblyLoader;
+import org.apache.tuscany.model.assembly.AssemblyModelContext;
+import org.apache.tuscany.model.assembly.Component;
+import org.apache.tuscany.model.assembly.Module;
+import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
+
+/**
+ *
+ */
+public class PortRuntimeBuilderTestCase extends TestCase {
+
+ private AssemblyModelContext modelContext;
+
+ /**
+ *
+ */
+ public PortRuntimeBuilderTestCase() {
+ super();
+ }
+
+ public void testBuilder() throws TargetException {
+
+ AssemblyLoader loader=modelContext.getAssemblyLoader();
+ Module module=loader.getModule(getClass().getResource("sca.module").toString());
+ module.initialize(modelContext);
+
+ Assert.assertTrue(module.getName().equals("tuscany.core.system.assembly.tests.testModule"));
+
+ Component component=module.getComponent("org.apache.tuscany.core.pipeline.TuscanyCoreCreationPipeline");
+ Assert.assertTrue(component!=null);
+
+ SystemRuntimeConfigurationBuilderImpl builder=new SystemRuntimeConfigurationBuilderImpl(modelContext.getAssemblyFactory(), new AddressingFactoryImpl(), modelContext.getResourceLoader());
+ builder.build(module);
+
+ SimpleComponentRuntimeConfiguration runtimeConfiguration=(SimpleComponentRuntimeConfiguration)component.getComponentImplementation().getRuntimeConfiguration();
+ MessageHandler tuscanyCoreCreationPipeline=(MessageHandler)runtimeConfiguration.createComponentContext().getInstance(null);
+ System.out.println(tuscanyCoreCreationPipeline);
+
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+ modelContext=new AssemblyModelContextImpl();
+ }
+
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyLoaderTestCase.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyLoaderTestCase.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyLoaderTestCase.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,62 @@
+/**
+ *
+ * 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.core.system.assembly.tests;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.model.assembly.AssemblyLoader;
+import org.apache.tuscany.model.assembly.AssemblyModelContext;
+import org.apache.tuscany.model.assembly.Component;
+import org.apache.tuscany.model.assembly.Module;
+import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
+
+/**
+ *
+ */
+public class SystemAssemblyLoaderTestCase extends TestCase {
+
+ private AssemblyModelContext modelContext;
+
+ /**
+ *
+ */
+ public SystemAssemblyLoaderTestCase() {
+ super();
+ }
+
+ public void testLoader() {
+
+ AssemblyLoader loader=modelContext.getAssemblyLoader();
+ Module module=loader.getModule(getClass().getResource("sca.module").toString());
+ module.initialize(modelContext);
+
+ Assert.assertTrue(module.getName().equals("tuscany.core.system.assembly.tests.testModule"));
+
+ Component component=module.getComponent("org.apache.tuscany.core.pipeline.TuscanyCoreCreationPipeline");
+ Assert.assertTrue(component!=null);
+
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+ modelContext=new AssemblyModelContextImpl();
+ }
+
+}
Added: incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyRuntimeBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyRuntimeBuilderTestCase.java?rev=368299&view=auto
==============================================================================
--- incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyRuntimeBuilderTestCase.java (added)
+++ incubator/tuscany/contrib/java/trunk/runtime/core/src/test/java/org/apache/tuscany/core/system/assembly/tests/SystemAssemblyRuntimeBuilderTestCase.java Wed Jan 11 23:25:12 2006
@@ -0,0 +1,74 @@
+/**
+ *
+ * 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.core.system.assembly.tests;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.core.addressing.impl.AddressingFactoryImpl;
+import org.apache.tuscany.core.builder.SimpleComponentRuntimeConfiguration;
+import org.apache.tuscany.core.builder.impl.SystemRuntimeConfigurationBuilderImpl;
+import org.apache.tuscany.core.context.TargetException;
+import org.apache.tuscany.core.message.handler.MessageHandler;
+import org.apache.tuscany.model.assembly.AssemblyLoader;
+import org.apache.tuscany.model.assembly.AssemblyModelContext;
+import org.apache.tuscany.model.assembly.Component;
+import org.apache.tuscany.model.assembly.Module;
+import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
+
+/**
+ *
+ */
+public class SystemAssemblyRuntimeBuilderTestCase extends TestCase {
+
+ private AssemblyModelContext modelContext;
+
+ /**
+ *
+ */
+ public SystemAssemblyRuntimeBuilderTestCase() {
+ super();
+ }
+
+ public void testBuilder() throws TargetException {
+
+ AssemblyLoader loader=modelContext.getAssemblyLoader();
+ Module module=loader.getModule(getClass().getResource("sca.module").toString());
+ module.initialize(modelContext);
+
+ Assert.assertTrue(module.getName().equals("tuscany.core.system.assembly.tests.testModule"));
+
+ Component component=module.getComponent("org.apache.tuscany.core.pipeline.TuscanyCoreCreationPipeline");
+ Assert.assertTrue(component!=null);
+
+ SystemRuntimeConfigurationBuilderImpl builder=new SystemRuntimeConfigurationBuilderImpl(modelContext.getAssemblyFactory(), new AddressingFactoryImpl(), modelContext.getResourceLoader());
+ builder.build(module);
+
+ SimpleComponentRuntimeConfiguration runtimeConfiguration=(SimpleComponentRuntimeConfiguration)component.getComponentImplementation().getRuntimeConfiguration();
+ MessageHandler tuscanyCoreCreationPipeline=(MessageHandler)runtimeConfiguration.createComponentContext().getInstance(null);
+ System.out.println(tuscanyCoreCreationPipeline);
+
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+ modelContext=new AssemblyModelContextImpl();
+ }
+
+}