You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2006/02/23 08:27:01 UTC
svn commit: r380063 - in /incubator/tuscany/java/sca/container.java/src:
main/java/org/apache/tuscany/container/java/loader/
test/java/org/apache/tuscany/container/java/assembly/impl/
test/java/org/apache/tuscany/container/java/assembly/tests/ test/jav...
Author: jsdelfino
Date: Wed Feb 22 23:26:55 2006
New Revision: 380063
URL: http://svn.apache.org/viewcvs?rev=380063&view=rev
Log:
integrated SCDL loader
Added:
incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/
incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java (with props)
Modified:
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/impl/JavaImplementationTestCase.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/tests/JavaAssemblyLoaderTestCase.java
incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentContextBuilderTestCase.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/MockSystemAssemblyFactory.java
Added: incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java?rev=380063&view=auto
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java (added)
+++ incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java Wed Feb 22 23:26:55 2006
@@ -0,0 +1,48 @@
+package org.apache.tuscany.container.java.loader;
+
+import org.apache.tuscany.common.resource.ResourceLoader;
+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.model.assembly.AssemblyModelContext;
+import org.apache.tuscany.model.assembly.AssemblyModelObject;
+import org.apache.tuscany.model.scdl.loader.SCDLModelLoader;
+
+/**
+ * Populates the assembly model from an SCDL model
+ */
+public class JavaSCDLModelLoader implements SCDLModelLoader {
+
+ private AssemblyModelContext modelContext;
+ private ResourceLoader resourceLoader;
+ private JavaAssemblyFactory javaFactory;
+
+ /**
+ * Constructs a new JavaSCDLModelLoader.
+ */
+ public JavaSCDLModelLoader(AssemblyModelContext modelContext) {
+ this.modelContext=modelContext;
+ this.resourceLoader=this.modelContext.getResourceLoader();
+ this.javaFactory=new JavaAssemblyFactoryImpl();
+ }
+
+ /**
+ * @see org.apache.tuscany.model.scdl.loader.SCDLModelLoader#load(java.lang.Object)
+ */
+ public AssemblyModelObject load(Object object) {
+ if (object instanceof org.apache.tuscany.model.scdl.JavaImplementation) {
+ org.apache.tuscany.model.scdl.JavaImplementation scdlJavaImplementation=(org.apache.tuscany.model.scdl.JavaImplementation)object;
+ JavaImplementation implementation=javaFactory.createJavaImplementation();
+ Class implementationClass;
+ try {
+ implementationClass=resourceLoader.loadClass(scdlJavaImplementation.getClass_());
+ } catch (ClassNotFoundException e) {
+ throw new IllegalArgumentException(e);
+ }
+ implementation.setImplementationClass(implementationClass);
+
+ return implementation;
+ } else
+ return null;
+ }
+}
Propchange: incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaSCDLModelLoader.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/impl/JavaImplementationTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/impl/JavaImplementationTestCase.java?rev=380063&r1=380062&r2=380063&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/impl/JavaImplementationTestCase.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/impl/JavaImplementationTestCase.java Wed Feb 22 23:26:55 2006
@@ -21,7 +21,7 @@
import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.common.resource.loader.ResourceLoaderFactory;
+import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
import org.apache.tuscany.container.java.assembly.mock.HelloWorldImpl;
import org.apache.tuscany.container.java.assembly.mock.HelloWorldWithFieldProperties;
import org.apache.tuscany.container.java.assembly.mock.NakedHelloWorld;
@@ -29,8 +29,9 @@
import org.apache.tuscany.model.assembly.ComponentType;
import org.apache.tuscany.model.assembly.Property;
import org.apache.tuscany.model.assembly.Service;
+import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.assembly.loader.impl.AssemblyLoaderImpl;
+import org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl;
/**
* @version $Rev$ $Date$
@@ -59,7 +60,7 @@
public void testNakedHelloWorld() {
impl.setImplementationClass(NakedHelloWorld.class);
- impl.initialize(new AssemblyModelContextImpl(new AssemblyLoaderImpl(), ResourceLoaderFactory.getResourceLoader(Thread.currentThread().getContextClassLoader())));
+ impl.initialize(new AssemblyModelContextImpl(new AssemblyFactoryImpl(), new SCDLAssemblyModelLoaderImpl(), new ResourceLoaderImpl(Thread.currentThread().getContextClassLoader())));
ComponentType type = impl.getComponentType();
Assert.assertNotNull(type);
Assert.assertTrue(type.getProperties().isEmpty());
@@ -71,7 +72,7 @@
public void testNakedHelloWorldWithInterface() {
impl.setImplementationClass(NakedHelloWorldWithInterface.class);
- impl.initialize(new AssemblyModelContextImpl(new AssemblyLoaderImpl(), ResourceLoaderFactory.getResourceLoader(Thread.currentThread().getContextClassLoader())));
+ impl.initialize(new AssemblyModelContextImpl(new AssemblyFactoryImpl(), new SCDLAssemblyModelLoaderImpl(), new ResourceLoaderImpl(Thread.currentThread().getContextClassLoader())));
ComponentType type = impl.getComponentType();
Assert.assertNotNull(type);
Assert.assertTrue(type.getProperties().isEmpty());
@@ -100,7 +101,7 @@
public void testHelloWorldWithFieldProperties() {
impl.setImplementationClass(HelloWorldWithFieldProperties.class);
- impl.initialize(new AssemblyModelContextImpl(new AssemblyLoaderImpl(), ResourceLoaderFactory.getResourceLoader(Thread.currentThread().getContextClassLoader())));
+ impl.initialize(new AssemblyModelContextImpl(new AssemblyFactoryImpl(), new SCDLAssemblyModelLoaderImpl(), new ResourceLoaderImpl(Thread.currentThread().getContextClassLoader())));
ComponentType type = impl.getComponentType();
Assert.assertNotNull(type);
List<Property> props = type.getProperties();
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/tests/JavaAssemblyLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/tests/JavaAssemblyLoaderTestCase.java?rev=380063&r1=380062&r2=380063&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/tests/JavaAssemblyLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/assembly/tests/JavaAssemblyLoaderTestCase.java Wed Feb 22 23:26:55 2006
@@ -16,19 +16,27 @@
*/
package org.apache.tuscany.container.java.assembly.tests;
+import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.common.resource.loader.ResourceLoaderFactory;
+import org.apache.tuscany.common.resource.ResourceLoader;
+import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
+import org.apache.tuscany.container.java.assembly.tests.bigbank.account.services.accountdata.AccountDataService;
+import org.apache.tuscany.container.java.loader.JavaSCDLModelLoader;
+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.EntryPoint;
+import org.apache.tuscany.model.assembly.Module;
+import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.assembly.loader.impl.AssemblyLoaderImpl;
+import org.apache.tuscany.model.scdl.loader.SCDLAssemblyModelLoader;
+import org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl;
/**
*/
public class JavaAssemblyLoaderTestCase extends TestCase {
- private AssemblyModelContext modelContext;
-
/**
*
*/
@@ -37,35 +45,39 @@
}
public void testLoader() {
- //FIXME this test fails with NPE
-// AssemblyLoader loader = modelContext.getAssemblyLoader();
-// Module module = loader.getModule(getClass().getResource("sca.module").toString());
-// module.initialize(modelContext);
-//
-// Assert.assertTrue(module.getName().equals("tuscany.container.java.assembly.tests.bigbank.account"));
-//
-// Component component = module.getComponent("AccountServiceComponent");
-// Assert.assertTrue(component != null);
-//
-// EntryPoint entryPoint = module.getEntryPoint("AccountService");
-// Assert.assertTrue(entryPoint != null);
-//
-// Object value = component.getConfiguredProperty("currency").getValue();
-// Assert.assertTrue(value.equals("EURO"));
-//
-// ConfiguredService configuredService = component.getConfiguredReference("accountDataService").getTargetConfiguredServices().get(0);
-// Assert.assertTrue(configuredService.getAggregatePart().getName().equals("AccountDataServiceComponent"));
-//
-// Class interfaceClass = configuredService.getService().getServiceContract().getInterface();
-// Assert.assertTrue(interfaceClass == AccountDataService.class);
+ ResourceLoader resourceLoader=new ResourceLoaderImpl(Thread.currentThread().getContextClassLoader());
+ SCDLAssemblyModelLoader assemblyLoader=new SCDLAssemblyModelLoaderImpl();
+ AssemblyFactory assemblyFactory=new AssemblyFactoryImpl();
+ AssemblyModelContext modelContext=new AssemblyModelContextImpl(assemblyFactory, assemblyLoader, resourceLoader);
+
+ assemblyLoader.getSCDLModelLoaders().add(new JavaSCDLModelLoader(modelContext));
+
+ Module module = assemblyLoader.getModule(getClass().getResource("sca.module").toString());
+ module.initialize(modelContext);
+ Assert.assertTrue(module.getName().equals("tuscany.container.java.assembly.tests.bigbank.account"));
+
+ Component component=module.getComponent("AccountServiceComponent");
+ Assert.assertTrue(component!= null);
+
+ EntryPoint entryPoint=module.getEntryPoint("AccountService");
+ Assert.assertTrue(entryPoint!= null);
+
+ Object value = component.getConfiguredProperty("currency").getValue();
+ Assert.assertTrue(value.equals("EURO"));
+
+ //ConfiguredService configuredService = component.getConfiguredReference("accountDataService").getTargetConfiguredServices().get(0);
+ //Assert.assertTrue(configuredService.getAggregatePart().getName().equals("AccountDataServiceComponent"));
+
+ Class interfaceClass = component.getConfiguredReference("accountDataService").getReference().getServiceContract().getInterface();
+ Assert.assertTrue(interfaceClass == AccountDataService.class);
+
}
protected void setUp() throws Exception {
super.setUp();
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- modelContext = new AssemblyModelContextImpl(new AssemblyLoaderImpl(), ResourceLoaderFactory.getResourceLoader(getClass().getClassLoader()));
}
}
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentContextBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentContextBuilderTestCase.java?rev=380063&r1=380062&r2=380063&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentContextBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaComponentContextBuilderTestCase.java Wed Feb 22 23:26:55 2006
@@ -48,7 +48,7 @@
private AssemblyFactory factory = new AssemblyFactoryImpl();
- private AssemblyModelContext assemblyContext = new AssemblyModelContextImpl(null,null);
+ private AssemblyModelContext assemblyContext = new AssemblyModelContextImpl(null, null,null);
public JavaComponentContextBuilderTestCase() {
}
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=380063&r1=380062&r2=380063&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 Wed Feb 22 23:26:55 2006
@@ -19,7 +19,7 @@
private static AssemblyFactory factory = new AssemblyFactoryImpl();
- private static AssemblyModelContext assemblyContext = new AssemblyModelContextImpl(null,null);
+ private static AssemblyModelContext assemblyContext = new AssemblyModelContextImpl(null, null,null);
private MockModuleFactory() {
}
Modified: incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockSystemAssemblyFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockSystemAssemblyFactory.java?rev=380063&r1=380062&r2=380063&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockSystemAssemblyFactory.java (original)
+++ incubator/tuscany/java/sca/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockSystemAssemblyFactory.java Wed Feb 22 23:26:55 2006
@@ -54,7 +54,7 @@
private static SystemAssemblyFactory systemFactory = new SystemAssemblyFactoryImpl();
- private static AssemblyModelContext assemblyContext = new AssemblyModelContextImpl(null, null);
+ private static AssemblyModelContext assemblyContext = new AssemblyModelContextImpl(null, null, null);
private MockSystemAssemblyFactory() {
}