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 2007/04/30 23:39:24 UTC

svn commit: r533859 - in /incubator/tuscany/java/sca/modules: core-spring/src/test/java/test/application/context/ core-spring/src/test/java/test/model/variant/ core-spring/src/test/resources/org/apache/tuscany/core/spring/ databinding-sdo/src/test/java...

Author: jsdelfino
Date: Mon Apr 30 14:39:22 2007
New Revision: 533859

URL: http://svn.apache.org/viewvc?view=rev&rev=533859
Log:
Starting to refactor JavaImplementationDefinition. Starting to add test cases to core-spring to test recursive composition.

Added:
    incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java   (with props)
    incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite   (with props)
Modified:
    incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorClient.java
    incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorTestCase.java
    incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorClient.java
    incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorTestCase.java
    incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java
    incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/InnerCalculator.composite
    incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderResourceTestCaseFIXME.java
    incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/introspect/impl/ResourceProcessor.java
    incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorClient.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorClient.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorClient.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorClient.java Mon Apr 30 14:39:22 2007
@@ -27,7 +27,7 @@
 public class CalculatorClient {
     public static void main(String[] args) throws Exception {
 
-        TestRuntimeContext context = new TestRuntimeContext("TestBeanCalculator.composite");
+        TestRuntimeContext context = new TestRuntimeContext("org/apache/tuscany/core/spring/TestBeanCalculator.composite");
 
         CalculatorService calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
 

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorTestCase.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/CalculatorTestCase.java Mon Apr 30 14:39:22 2007
@@ -30,7 +30,7 @@
     private CalculatorService calculatorService;
 
     protected void setUp() throws Exception {
-        context = new TestRuntimeContext("TestBeanCalculator.composite");
+        context = new TestRuntimeContext("org/apache/tuscany/core/spring/TestBeanCalculator.composite");
 
         calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
     }

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorClient.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorClient.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorClient.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorClient.java Mon Apr 30 14:39:22 2007
@@ -27,7 +27,7 @@
 public class CalculatorClient {
     public static void main(String[] args) throws Exception {
 
-        VariantRuntimeContext context = new VariantRuntimeContext("TestBeanCalculator.composite");
+        VariantRuntimeContext context = new VariantRuntimeContext("org/apache/tuscany/core/spring/TestBeanCalculator.composite");
 
         CalculatorService calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
 

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorTestCase.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/CalculatorTestCase.java Mon Apr 30 14:39:22 2007
@@ -30,7 +30,7 @@
     private CalculatorService calculatorService;
 
     protected void setUp() throws Exception {
-        context = new VariantRuntimeContext("TestBeanCalculator.composite");
+        context = new VariantRuntimeContext("org/apache/tuscany/core/spring/TestBeanCalculator.composite");
 
         calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
     }

Added: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java?view=auto&rev=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java (added)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java Mon Apr 30 14:39:22 2007
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 test.model.variant;
+
+import junit.framework.TestCase;
+import calculator.CalculatorService;
+
+/**
+ * This shows how to test the Calculator service component.
+ */
+public class NestedCalculatorTestCaseFIXME extends TestCase {
+
+    private VariantRuntimeContext context;
+    private CalculatorService calculatorService;
+
+    protected void setUp() throws Exception {
+        context = new VariantRuntimeContext(
+            new String[] {
+                          "org/apache/tuscany/core/spring/OuterCalculator.composite",
+                          "org/apache/tuscany/core/spring/InnerCalculator.composite",
+                          "org/apache/tuscany/core/spring/InnerOperations.composite"
+                }
+            );
+
+        calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent");
+    }
+
+    protected void tearDown() throws Exception {
+        context = null;
+        calculatorService = null;
+    }
+
+    public void testCalculator() throws Exception {
+        // Calculate
+        assertEquals(calculatorService.add(3, 2), 5.0);
+        assertEquals(calculatorService.subtract(3, 2), 1.0);
+        assertEquals(calculatorService.multiply(3, 2), 6.0);
+        assertEquals(calculatorService.divide(3, 2), 1.5);
+
+    }
+}

Propchange: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/NestedCalculatorTestCaseFIXME.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java Mon Apr 30 14:39:22 2007
@@ -19,11 +19,15 @@
 package test.model.variant;
 
 import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.Base;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.bean.impl.BeanAssemblyFactory;
 import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.xml.ComponentTypeProcessor;
 import org.apache.tuscany.assembly.xml.CompositeProcessor;
 import org.apache.tuscany.assembly.xml.ConstrainingTypeProcessor;
@@ -32,15 +36,31 @@
 import org.apache.tuscany.contribution.service.ContributionException;
 import org.apache.tuscany.implementation.java.JavaImplementationFactory;
 import org.apache.tuscany.implementation.java.bean.impl.BeanJavaImplementationFactory;
+import org.apache.tuscany.implementation.java.introspect.BaseJavaClassIntrospectorExtension;
 import org.apache.tuscany.implementation.java.introspect.DefaultJavaClassIntrospector;
-import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospector;
+import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospectorExtension;
+import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospectorExtensionPoint;
+import org.apache.tuscany.implementation.java.introspect.impl.AllowsPassByReferenceProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ConstructorProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ContextProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ConversationProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.DestroyProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.EagerInitProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.HeuristicPojoProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.InitProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.PolicyProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.PropertyProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ReferenceProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ResourceProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ScopeProcessor;
+import org.apache.tuscany.implementation.java.introspect.impl.ServiceProcessor;
 import org.apache.tuscany.implementation.java.xml.JavaImplementationProcessor;
 import org.apache.tuscany.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
 import org.apache.tuscany.interfacedef.java.JavaFactory;
 import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.interfacedef.java.introspect.DefaultJavaInterfaceIntrospector;
-import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospector;
+import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint;
 import org.apache.tuscany.interfacedef.java.xml.JavaInterfaceProcessor;
 import org.apache.tuscany.policy.PolicyFactory;
 import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
@@ -55,8 +75,12 @@
 public class VariantRuntimeContext {
 
     private DefaultListableBeanFactory beanFactory;
-
+    
     public VariantRuntimeContext(String compositeFile) {
+        this(new String[] {compositeFile});
+    }
+
+    public VariantRuntimeContext(String[] compositeFiles) {
 
         // Create Spring bean factory
         beanFactory = new DefaultListableBeanFactory();
@@ -66,9 +90,29 @@
         PolicyFactory policyFactory = new DefaultPolicyFactory();
         InterfaceContractMapper interfaceContractMapper = new DefaultInterfaceContractMapper();
         JavaFactory javaFactory = new DefaultJavaFactory();
-        JavaInterfaceIntrospector interfaceIntrospector = new DefaultJavaInterfaceIntrospector(javaFactory);
+        JavaInterfaceIntrospectorExtensionPoint interfaceIntrospector = new DefaultJavaInterfaceIntrospector(javaFactory);
         JavaImplementationFactory javaImplementationFactory = new BeanJavaImplementationFactory(beanFactory);
-        JavaClassIntrospector classIntrospector = new DefaultJavaClassIntrospector();
+        JavaClassIntrospectorExtensionPoint classIntrospector = new DefaultJavaClassIntrospector();
+        
+        BaseJavaClassIntrospectorExtension[] extensions = new BaseJavaClassIntrospectorExtension[] {
+            new ConstructorProcessor(assemblyFactory),
+            new AllowsPassByReferenceProcessor(assemblyFactory),
+            new ContextProcessor(assemblyFactory),
+            new ConversationProcessor(assemblyFactory),
+            new DestroyProcessor(assemblyFactory),
+            new EagerInitProcessor(assemblyFactory),
+            new InitProcessor(assemblyFactory),
+            new PropertyProcessor(assemblyFactory),
+            new ReferenceProcessor(assemblyFactory, javaFactory, interfaceIntrospector),
+            new ResourceProcessor(assemblyFactory),
+            new ScopeProcessor(assemblyFactory),
+            new ServiceProcessor(assemblyFactory, javaFactory, interfaceIntrospector),
+            new HeuristicPojoProcessor(assemblyFactory, javaFactory, interfaceIntrospector),
+            new PolicyProcessor(assemblyFactory, policyFactory)
+        };
+        for (JavaClassIntrospectorExtension e : extensions) {
+            classIntrospector.addExtension(e);
+        }
 
         // Populate ArtifactProcessor registry
         DefaultStAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
@@ -85,18 +129,95 @@
         DefaultArtifactResolver resolver = new DefaultArtifactResolver(classLoader);
 
         try {
-            // Parse the composite file
-            InputStream is = classLoader.getResourceAsStream(compositeFile);
-            Composite composite = staxProcessors.read(is, Composite.class);
-            resolver.add(composite);
-            
-            // Resolve and configure the composite
-            compositeProcessor.resolve(composite, resolver);
-            compositeProcessor.wire(composite);
+            
+            // Read the composite files
+            List<Composite> composites = new ArrayList<Composite>();
+            for (String compositeFile: compositeFiles) {
+                InputStream is = classLoader.getResourceAsStream(compositeFile);
+                Composite composite = staxProcessors.read(is, Composite.class);
+                resolver.add(composite);
+                composites.add(composite);
+            }
+            
+            for (Composite composite: composites) {
+                
+                // Resolve and configure the composite
+                compositeProcessor.resolve(composite, resolver);
+
+                // Normalize the composite
+                normalize(composite, assemblyFactory, interfaceContractMapper);
+            }
+            
+            // Wire the top level component's composite
+            wire(composites.get(0), assemblyFactory, interfaceContractMapper);
             
         } catch (ContributionException e) {
             throw new RuntimeException(e);
         }
+    }
+    
+    private void normalize(Composite composite, AssemblyFactory assemblyFactory, InterfaceContractMapper interfaceContractMapper) {
+        CompositeUtil compositeUtil = new CompositeUtil(assemblyFactory, interfaceContractMapper);
+
+        List<Base> problems = new ArrayList<Base>() {
+            private static final long serialVersionUID = 4819831446590718923L;
+            
+            @Override
+            public boolean add(Base o) {
+                //TODO Use a monitor to report configuration problems
+                
+                // Uncommenting the following two lines can be useful to detect
+                // and troubleshoot SCA assembly XML composite configuration
+                // problems.
+                
+//                System.err.println("Composite configuration problem:");
+//                new PrintUtil(System.err).print(o);
+                return super.add(o);
+            }
+        };
+        
+
+        // Collect and fuse includes
+        compositeUtil.fuseIncludes(composite, problems);
+
+        // Configure all components
+        compositeUtil.configureComponents(composite, problems);
+        
+//        if (!problems.isEmpty()) {
+//            throw new VariantRuntimeException(new RuntimeException("Problems in the composite..."));
+//        }
+    }
+
+    private void wire(Composite composite, AssemblyFactory assemblyFactory, InterfaceContractMapper interfaceContractMapper) {
+        CompositeUtil compositeUtil = new CompositeUtil(assemblyFactory, interfaceContractMapper);
+
+        List<Base> problems = new ArrayList<Base>() {
+            private static final long serialVersionUID = 4819831446590718923L;
+            
+            @Override
+            public boolean add(Base o) {
+                //TODO Use a monitor to report configuration problems
+                
+                // Uncommenting the following two lines can be useful to detect
+                // and troubleshoot SCA assembly XML composite configuration
+                // problems.
+                
+//                System.err.println("Composite configuration problem:");
+//                new PrintUtil(System.err).print(o);
+                return super.add(o);
+            }
+        };
+        
+
+        // Expand nested composites
+        compositeUtil.expandComposites(composite, problems);
+        
+        // Wire the composite
+        compositeUtil.wireComposite(composite, problems);
+       
+//        if (!problems.isEmpty()) {
+//            throw new VariantRuntimeException(new RuntimeException("Problems in the composite..."));
+//        }
     }
 
     public <B> B getService(Class<B> businessInterface, String serviceName) {

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/InnerCalculator.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/InnerCalculator.composite?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/InnerCalculator.composite (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/InnerCalculator.composite Mon Apr 30 14:39:22 2007
@@ -28,15 +28,15 @@
 
     <component name="CalculatorServiceComponent">
 		<implementation.java class="calculator.CalculatorServiceImpl"/>
-        <reference name="addService" target="AddServiceComponent"/>
-        <reference name="subtractService" target="SubtractServiceComponent"/>
-        <reference name="multiplyService" target="MultiplyServiceComponent"/>
-        <reference name="divideService" target="DivideServiceComponent"/>
+        <reference name="addService"/>
+        <reference name="subtractService"/>
+        <reference name="multiplyService"/>
+        <reference name="divideService"/>
     </component>
 
-	<reference name="addService" promote="CalculatorServiceComponent/addService">
-	<reference name="subtractService" promote="CalculatorServiceComponent/subtractService">
-	<reference name="multiplyService" promote="CalculatorServiceComponent/multiplyService">
-	<reference name="divideService" promote="CalculatorServiceComponent/divideService">
+	<reference name="addService" promote="CalculatorServiceComponent/addService"/>
+	<reference name="subtractService" promote="CalculatorServiceComponent/subtractService"/>
+	<reference name="multiplyService" promote="CalculatorServiceComponent/multiplyService"/>
+	<reference name="divideService" promote="CalculatorServiceComponent/divideService"/>
 
 </composite>

Added: incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite?view=auto&rev=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite (added)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite Mon Apr 30 14:39:22 2007
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.    
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+	xmlns:calc="http://sample.calculator"
+	name="calc:TestBeanCalculator">
+
+    <service name="CalculatorService" promote="CalculatorServiceComponent">
+        <interface.java interface="calculator.CalculatorService"/>
+    </service>
+
+    <component name="CalculatorServiceComponent">
+		<implementation.java class="calculator.CalculatorServiceImpl"/>
+        <reference name="addService" target="AddServiceComponent"/>
+        <reference name="subtractService" target="SubtractServiceComponent"/>
+        <reference name="multiplyService" target="MultiplyServiceComponent"/>
+        <reference name="divideService" target="DivideServiceComponent"/>
+    </component>
+
+    <component name="AddServiceComponent">
+        <implementation.java class="calculator.AddServiceImpl"/>
+    </component>
+
+    <component name="SubtractServiceComponent">
+        <implementation.java class="calculator.SubtractServiceImpl"/>
+    </component>
+
+    <component name="MultiplyServiceComponent">
+        <implementation.java class="calculator.MultiplyServiceImpl"/>
+    </component>
+
+    <component name="DivideServiceComponent">
+        <implementation.java class="calculator.DivideServiceImpl"/>
+    </component>
+
+</composite>

Propchange: incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/core-spring/src/test/resources/org/apache/tuscany/core/spring/TestBeanCalculator.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java Mon Apr 30 14:39:22 2007
@@ -27,7 +27,10 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.implementation.java.JavaImplementationFactory;
+import org.apache.tuscany.implementation.java.impl.DefaultJavaImplementationFactory;
 import org.apache.tuscany.implementation.java.impl.JavaImplementationDefinition;
 import org.apache.tuscany.implementation.java.impl.Resource;
 
@@ -44,8 +47,11 @@
         HelperContextProcessor processor = new HelperContextProcessor(new DefaultAssemblyFactory(), registry);
         URI id = URI.create("/composite1/");
         XMLInputFactory xmlFactory = XMLInputFactory.newInstance();
-
-        JavaImplementationDefinition componentType = new JavaImplementationDefinition(FooImpl.class);
+        
+        AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
+        JavaImplementationFactory javaImplementationFactory = new DefaultJavaImplementationFactory(assemblyFactory);
+        JavaImplementationDefinition componentType = (JavaImplementationDefinition)javaImplementationFactory.createJavaImplementation();
+        componentType.setJavaClass(FooImpl.class);
         for (Field f : FooImpl.class.getDeclaredFields()) {
             processor.visitField(f, componentType);
 

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderResourceTestCaseFIXME.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderResourceTestCaseFIXME.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderResourceTestCaseFIXME.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderResourceTestCaseFIXME.java Mon Apr 30 14:39:22 2007
@@ -60,7 +60,7 @@
         ConstructorDefinition<Foo> ctorDef = new ConstructorDefinition<Foo>(Foo.class.getConstructor());
         JavaImplementationDefinition type = new JavaImplementationDefinition();
         Resource resource = new Resource(new JavaElement(Foo.class.getDeclaredField("resource")));
-        type.add(resource);
+        type.getResources().put(resource.getName(), resource);
         type.setScope(org.apache.tuscany.implementation.java.impl.Scope.STATELESS);
         type.setConstructorDefinition(ctorDef);
         type.setJavaClass(Foo.class);

Modified: incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/introspect/impl/ResourceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/introspect/impl/ResourceProcessor.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/introspect/impl/ResourceProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/introspect/impl/ResourceProcessor.java Mon Apr 30 14:39:22 2007
@@ -65,7 +65,7 @@
         if (mappedName.length() > 0) {
             resource.setMappedName(mappedName);
         }
-        type.add(resource);
+        type.getResources().put(resource.getName(), resource);
     }
 
     public void visitField(Field field, JavaImplementationDefinition type) throws IntrospectionException {
@@ -90,7 +90,7 @@
         if (mappedName.length() > 0) {
             resource.setMappedName(mappedName);
         }
-        type.add(resource);
+        type.getResources().put(resource.getName(), resource);
     }
 
     @SuppressWarnings("unchecked")
@@ -128,7 +128,7 @@
             if (mappedName.length() > 0) {
                 resource.setMappedName(mappedName);
             }
-            type.add(resource);
+            type.getResources().put(resource.getName(), resource);
         }
     }
 

Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java?view=diff&rev=533859&r1=533858&r2=533859
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java Mon Apr 30 14:39:22 2007
@@ -50,16 +50,6 @@
     private long maxIdleTime = -1;
     private Scope scope = Scope.STATELESS;
 
-    /**
-     * Constructor specifying the java class for the POJO this is describing.
-     *
-     * @param implClass the java class for the POJO this is describing
-     */
-    public JavaImplementationDefinition(Class<?> implClass) {
-        super();
-        setJavaClass(implClass);
-    }
-    
     public JavaImplementationDefinition() {
         super();
     }    
@@ -120,10 +110,6 @@
 
     public Map<String, Resource> getResources() {
         return resources;
-    }
-
-    public void add(Resource resource) {
-        resources.put(resource.getName(), resource);
     }
 
     public Member getConversationIDMember() {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org