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 10:44:15 UTC

svn commit: r380077 - in /incubator/tuscany/java/sca/container.js/src: main/java/org/apache/tuscany/container/js/loader/ test/java/org/apache/tuscany/container/js/config/ test/resources/org/apache/tuscany/container/js/assembly/tests/ test/resources/org...

Author: jsdelfino
Date: Thu Feb 23 01:44:11 2006
New Revision: 380077

URL: http://svn.apache.org/viewcvs?rev=380077&view=rev
Log:
fixed SCDL loading test cases

Added:
    incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java   (with props)
    incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/config/ModuleComponentLoaderTest1.module
Removed:
    incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/EMFConfigurationLoaderTestCase.java
    incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/config/EMFLoaderTest1.module
Modified:
    incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptSCDLModelLoader.java
    incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/assembly/tests/sca.module

Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptSCDLModelLoader.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptSCDLModelLoader.java?rev=380077&r1=380076&r2=380077&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptSCDLModelLoader.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptSCDLModelLoader.java Thu Feb 23 01:44:11 2006
@@ -3,9 +3,12 @@
 import org.apache.tuscany.container.js.assembly.JavaScriptAssemblyFactory;
 import org.apache.tuscany.container.js.assembly.JavaScriptImplementation;
 import org.apache.tuscany.container.js.assembly.impl.JavaScriptAssemblyFactoryImpl;
+import org.apache.tuscany.container.js.scdl.ScdlFactory;
+import org.apache.tuscany.container.js.scdl.impl.ScdlPackageImpl;
 import org.apache.tuscany.model.assembly.AssemblyModelContext;
 import org.apache.tuscany.model.assembly.AssemblyModelObject;
 import org.apache.tuscany.model.scdl.loader.SCDLModelLoader;
+import org.apache.tuscany.sdo.util.SDOUtil;
 
 /**
  * Populates the assembly model from an SCDL model
@@ -15,6 +18,12 @@
     private AssemblyModelContext modelContext;
     private JavaScriptAssemblyFactory jsFactory;
 
+    static {
+        // Register the JavaScript SCDL model
+        ScdlPackageImpl.eINSTANCE.eClass();
+        SDOUtil.registerStaticTypes(ScdlFactory.class);
+    }
+    
     /**
      * Constructs a new JavaSCDLModelLoader.
      */

Added: incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java?rev=380077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java (added)
+++ incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java Thu Feb 23 01:44:11 2006
@@ -0,0 +1,76 @@
+/**
+ *
+ *  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.js.config;
+
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
+import org.apache.tuscany.container.js.assembly.impl.JavaScriptImplementationImpl;
+import org.apache.tuscany.container.js.loader.JavaScriptSCDLModelLoader;
+import org.apache.tuscany.core.config.ConfigurationException;
+import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
+import org.apache.tuscany.core.config.impl.ModuleComponentConfigurationLoaderImpl;
+import org.apache.tuscany.model.assembly.AssemblyModelContext;
+import org.apache.tuscany.model.assembly.Component;
+import org.apache.tuscany.model.assembly.ComponentImplementation;
+import org.apache.tuscany.model.assembly.Module;
+import org.apache.tuscany.model.assembly.ModuleComponent;
+import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
+import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
+import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
+import org.apache.tuscany.model.scdl.loader.SCDLAssemblyModelLoader;
+import org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl;
+
+/**
+ * @version $Rev: 368822 $ $Date: 2006-01-13 18:54:38 +0000 (Fri, 13 Jan 2006) $
+ */
+public class ModuleComponentConfigurationLoaderTestCase extends TestCase {
+    private ModuleComponentConfigurationLoader loader;
+
+    public void testFoo() throws ConfigurationException {
+        URL xml = ModuleComponentConfigurationLoaderTestCase.class.getResource("ModuleComponentLoaderTest1.module");
+        ModuleComponent moduleComponent = loader.loadModuleComponent("test", "test", xml.toString());
+        Assert.assertEquals("test", moduleComponent.getName());
+        Module module = moduleComponent.getModuleImplementation();
+        Assert.assertEquals("ModuleComponentLoaderTest1", module.getName());
+        List<Component> components = module.getComponents();
+        Assert.assertEquals(1, components.size());
+        Component component = components.get(0);
+        Assert.assertEquals("HelloWorldServiceComponent", component.getName());
+
+        component = module.getComponent("HelloWorldServiceComponent");
+        Assert.assertEquals("HelloWorldServiceComponent", component.getName());
+
+        ComponentImplementation implementation = component.getComponentImplementation();
+        Assert.assertTrue(implementation instanceof JavaScriptImplementationImpl);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
+        SCDLAssemblyModelLoader modelLoader=new SCDLAssemblyModelLoaderImpl();
+        AssemblyModelContext modelContext=new AssemblyModelContextImpl(
+                new AssemblyFactoryImpl(), modelLoader,new ResourceLoaderImpl(this.getClass().getClassLoader()));
+        JavaScriptSCDLModelLoader jsLoader=new JavaScriptSCDLModelLoader(modelContext);
+        modelLoader.getSCDLModelLoaders().add(jsLoader);
+          loader = new ModuleComponentConfigurationLoaderImpl(modelContext);
+    }
+}

Propchange: incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/container.js/src/test/java/org/apache/tuscany/container/js/config/ModuleComponentConfigurationLoaderTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/assembly/tests/sca.module
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/assembly/tests/sca.module?rev=380077&r1=380076&r2=380077&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/assembly/tests/sca.module (original)
+++ incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/assembly/tests/sca.module Thu Feb 23 01:44:11 2006
@@ -15,7 +15,7 @@
   limitations under the License.
  -->
 <module xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
-
+		xmlns:js="http://org.apache.tuscany/xmlns/js/0.9"
         name="tuscany.container.js.assembly.tests.bigbank.account">
 
     <entryPoint name="AccountService">
@@ -25,7 +25,7 @@
     </entryPoint>
 
     <component name="AccountServiceComponent">
-        <implementation.js scriptFile="org/apache/tuscany/container/js/assembly/tests/bigbank/account/services/account/AccountServiceImpl.js"/>
+        <js:implementation.js scriptFile="org/apache/tuscany/container/js/assembly/tests/bigbank/account/services/account/AccountServiceImpl.js"/>
         <properties>
             <v:currency>EURO</v:currency>
         </properties>
@@ -36,11 +36,11 @@
     </component>
 
     <component name="AccountDataServiceComponent">
-        <implementation.js scriptFile="org/apache/tuscany/container/js/assembly/tests/bigbank/account/services/accountdata/AccountDataServiceImpl.js"/>
+        <js:implementation.js scriptFile="org/apache/tuscany/container/js/assembly/tests/bigbank/account/services/accountdata/AccountDataServiceImpl.js"/>
     </component>
 
     <component name="StockQuoteService">
-        <implementation.js scriptFile="org/apache/tuscany/container/js/assembly/tests/bigbank/account/services/stockquote/StockQuoteServiceImpl.js"/>
+        <js:implementation.js scriptFile="org/apache/tuscany/container/js/assembly/tests/bigbank/account/services/stockquote/StockQuoteServiceImpl.js"/>
     </component>
 
     <!--

Added: incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/config/ModuleComponentLoaderTest1.module
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/config/ModuleComponentLoaderTest1.module?rev=380077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/config/ModuleComponentLoaderTest1.module (added)
+++ incubator/tuscany/java/sca/container.js/src/test/resources/org/apache/tuscany/container/js/config/ModuleComponentLoaderTest1.module Thu Feb 23 01:44:11 2006
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 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.
+ -->
+<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
+        xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
+		xmlns:js="http://org.apache.tuscany/xmlns/js/0.9"
+        name="ModuleComponentLoaderTest1">
+
+    <component name="HelloWorldServiceComponent">
+        <js:implementation.js scriptFile="org.apache.tuscany.container.js.assembly.mock.HelloWorldImpl.js"/>
+    </component>
+</module>