tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jmar...@apache.org
Subject 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/...
Date Thu, 12 Jan 2006 07:25:15 GMT
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();
+	}
+
+}



Mime
View raw message