Author: jmarino
Date: Sat Apr 15 09:57:29 2006
New Revision: 394333

URL: http://svn.apache.org/viewcvs?rev=394333&view=rev
Log:
change system services to default to module scope and testcase to verify

Modified:
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilder.java
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilderTestCase.java

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilder.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilder.java?rev=394333&r1=394332&r2=394333&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilder.java
 Sat Apr 15 09:57:29 2006
@@ -109,7 +109,7 @@
             }
             implClass = javaImpl.getImplementationClass();
             Scope previous = null;
-            scope = Scope.INSTANCE;
+            scope = Scope.MODULE;
             List<Service> services = 
component.getImplementation().getComponentInfo().getServices();
             for (Service service : services) {
                 // calculate and validate the scope of the component; ensure 
that all service scopes are the same unless
@@ -121,7 +121,7 @@
                     e.setIdentifier(component.getName());
                     throw e;
                 }
-                if (scope != null && current != Scope.INSTANCE) {
+                if (current != null && current != Scope.MODULE) {
                     scope = current;
                 }
             }
@@ -219,14 +219,14 @@
                         e.setIdentifier(field.getType().getName());
                         throw e;
                     }
-                    Injector injector = new FieldInjector(field, new 
AutowireObjectFactory(field.getType(), autowire.required(),
+                    Injector<?> injector = new FieldInjector(field, new 
AutowireObjectFactory(field.getType(), autowire.required(),
                             contextFactory));
                     injectors.add(injector);
                 }
                 Monitor monitor = field.getAnnotation(Monitor.class);
                 if (monitor != null) {
                     Object instance = 
monitorFactory.getMonitor(field.getType());
-                    Injector<?> injector = new FieldInjector(field, new 
SingletonObjectFactory(instance));
+                    Injector<?> injector = new FieldInjector(field, new 
SingletonObjectFactory<Object>(instance));
                     injectors.add(injector);
                 }
             }
@@ -298,7 +298,7 @@
                     }
                     Class<?> paramType = method.getParameterTypes()[0];
                     Object instance = monitorFactory.getMonitor(paramType);
-                    Injector<?> injector = new MethodInjector(method, new 
SingletonObjectFactory(instance));
+                    Injector<?> injector = new MethodInjector(method, new 
SingletonObjectFactory<Object>(instance));
                     injectors.add(injector);
                 }
             }
@@ -321,10 +321,6 @@
             throw ce;
         }
     }
-
-    // ----------------------------------
-    // Private methods
-    // ----------------------------------
 
     /**
      * Creates an <code>Injector</code> for component properties

Modified: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilderTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilderTestCase.java?rev=394333&r1=394332&r2=394333&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilderTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemContextFactoryBuilderTestCase.java
 Sat Apr 15 09:57:29 2006
@@ -24,11 +24,15 @@
 import org.apache.tuscany.core.context.scope.DefaultScopeStrategy;
 import org.apache.tuscany.core.mock.MockConfigContext;
 import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory;
+import org.apache.tuscany.core.system.assembly.SystemImplementation;
 import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl;
 import org.apache.tuscany.model.assembly.Component;
 import org.apache.tuscany.model.assembly.ConfiguredProperty;
 import org.apache.tuscany.model.assembly.Property;
 import org.apache.tuscany.model.assembly.Scope;
+import org.apache.tuscany.model.assembly.Service;
+import org.apache.tuscany.model.assembly.ComponentInfo;
+import org.apache.tuscany.model.types.java.JavaServiceContract;
 
 /**
  * Tests to that system components are built properly
@@ -128,9 +132,41 @@
         Assert.assertTrue(instance.destroyed());
     }
 
+
+    public void testDefaultScopeIsModuleScope() throws Exception {
+        SystemContextFactoryBuilder builder = new 
SystemContextFactoryBuilder(null);
+        Component component = createSystemComponentWithNoScope("test", null, 
SystemComponentImpl.class);
+        builder.build(component);
+        ContextFactory<AtomicContext> contextFactory = 
(ContextFactory<AtomicContext>) component.getContextFactory();
+        Assert.assertEquals(Scope.MODULE, contextFactory.getScope());
+    }
+
+
+
+
     private static CompositeContext createContext() {
         return new CompositeContextImpl("test.parent", null, new 
DefaultScopeStrategy(), new EventContextImpl(),
                 new MockConfigContext(null));
     }
+
+    private <T> Component createSystemComponentWithNoScope(String name, 
Class<T> service, Class<? extends T> impl) {
+        JavaServiceContract jsc = factory.createJavaServiceContract();
+        jsc.setInterface(service);
+        Service s = factory.createService();
+        s.setServiceContract(jsc);
+
+        ComponentInfo componentType = factory.createComponentInfo();
+        componentType.getServices().add(s);
+
+        SystemImplementation sysImpl = factory.createSystemImplementation();
+        sysImpl.setImplementationClass(impl);
+        sysImpl.setComponentInfo(componentType);
+
+        Component sc = factory.createSimpleComponent();
+        sc.setName(name);
+        sc.setImplementation(sysImpl);
+        return sc;
+    }
+
 
 }


Reply via email to