You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/05 23:36:08 UTC

svn commit: r525969 - in /incubator/tuscany/java/sca/modules/core/src: main/java/org/apache/tuscany/core/builder/ main/java/org/apache/tuscany/core/component/ main/java/org/apache/tuscany/core/implementation/ main/java/org/apache/tuscany/core/implement...

Author: rfeng
Date: Thu Apr  5 14:36:06 2007
New Revision: 525969

URL: http://svn.apache.org/viewvc?view=rev&rev=525969
Log:
Rename ManagedRequestContext to RequestContextImpl
Move CompositeComponentImpl to the component package

Added:
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java
      - copied, changed from r525846, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/RequestContextImpl.java
      - copied, changed from r525846, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContext.java
Removed:
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/PojoWorkContextTunnel.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContext.java
Modified:
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java
    incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Thu Apr  5 14:36:06 2007
@@ -32,6 +32,7 @@
 import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
 import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
 import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.apache.tuscany.core.util.JavaIntrospectionHelper;
 import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.builder.BindingBuilder;
 import org.apache.tuscany.spi.builder.BuilderException;
@@ -75,11 +76,21 @@
     public <B extends Binding> void register(Class<B> implClass, BindingBuilder<B> builder) {
         bindingBuilders.put(implClass, builder);
     }
+    
+    // FIXME: Hack to get the registry working
+    private <T extends Implementation> Class<T> getImplementationType(Class<?> implClass) {
+        for(Class<?> interfaze: JavaIntrospectionHelper.getAllInterfaces(implClass)) {
+            if(interfaze!=Implementation.class && Implementation.class.isAssignableFrom(interfaze)) {
+                return (Class<T>) interfaze;
+            }
+        }
+        return (Class<T>) implClass;
+    }
 
     @SuppressWarnings("unchecked")
     public Component build(org.apache.tuscany.assembly.Component componentDef, DeploymentContext context)
         throws BuilderException {
-        Class<?> implClass = componentDef.getImplementation().getClass();
+        Class<?> implClass = getImplementationType(componentDef.getImplementation().getClass());
         // noinspection SuspiciousMethodCalls
         ComponentBuilder componentBuilder = componentBuilders.get(implClass);
         if (componentBuilder == null) {

Copied: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java (from r525846, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java?view=diff&rev=525969&p1=incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java&r1=525846&p2=incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/CompositeComponentImpl.java Thu Apr  5 14:36:06 2007
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.    
  */
-package org.apache.tuscany.core.implementation.composite;
+package org.apache.tuscany.core.component;
 
 import java.net.URI;
 import java.util.List;
@@ -28,6 +28,7 @@
 import org.apache.tuscany.spi.wire.Wire;
 
 import org.apache.tuscany.core.component.event.ComponentStop;
+import org.apache.tuscany.core.implementation.composite.ComponentTimeoutException;
 
 /**
  * The standard implementation of a composite component. Autowiring is performed by delegating to the parent composite.

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java Thu Apr  5 14:36:06 2007
@@ -21,6 +21,7 @@
 import java.net.URI;
 
 import org.apache.tuscany.assembly.Composite;
+import org.apache.tuscany.core.component.CompositeComponentImpl;
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
@@ -38,7 +39,7 @@
         Composite composite = (Composite) definition.getImplementation();
         // FIXME
         URI name = URI.create(composite.getName().getLocalPart());
-        CompositeComponentImpl component = new CompositeComponentImpl(name);
+        Component component = new CompositeComponentImpl(name);
 
         return build(component, composite, deploymentContext);
     }

Copied: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/RequestContextImpl.java (from r525846, incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContext.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/RequestContextImpl.java?view=diff&rev=525969&p1=incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContext.java&r1=525846&p2=incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/RequestContextImpl.java&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContext.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/implementation/composite/RequestContextImpl.java Thu Apr  5 14:36:06 2007
@@ -29,10 +29,10 @@
 /**
  * @version $Rev$ $Date$
  */
-public class ManagedRequestContext implements RequestContext {
+public class RequestContextImpl implements RequestContext {
     private WorkContext workContext;
 
-    public ManagedRequestContext(WorkContext workContext) {
+    public RequestContextImpl(WorkContext workContext) {
         this.workContext = workContext;
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java Thu Apr  5 14:36:06 2007
@@ -19,17 +19,18 @@
 package org.apache.tuscany.core.builder;
 
 import java.net.URI;
+import java.util.HashMap;
 import java.util.Map;
 
 import junit.framework.TestCase;
 
 import org.apache.tuscany.assembly.ComponentService;
-import org.apache.tuscany.assembly.ComponentType;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.CompositeReference;
 import org.apache.tuscany.assembly.CompositeService;
 import org.apache.tuscany.assembly.Implementation;
 import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.Property;
 import org.apache.tuscany.assembly.impl.BindingImpl;
 import org.apache.tuscany.assembly.impl.ComponentImpl;
 import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
@@ -37,7 +38,8 @@
 import org.apache.tuscany.assembly.impl.CompositeImpl;
 import org.apache.tuscany.assembly.impl.CompositeReferenceImpl;
 import org.apache.tuscany.assembly.impl.CompositeServiceImpl;
-import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.apache.tuscany.core.component.scope.ScopeRegistryImpl;
+import org.apache.tuscany.core.component.scope.StatelessScopeContainer;
 import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.builder.BindingBuilder;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
@@ -75,7 +77,11 @@
 
         Component component = EasyMock.createMock(Component.class);
         // FIXME:
-        // component.setDefaultPropertyValues(componentDefinition.getPropertyValues());
+        Map<String, Property> properties = new HashMap<String, Property>();
+        for (Property p : componentDefinition.getProperties()) {
+            properties.put(p.getName(), p);
+        }
+        component.setDefaultPropertyValues(properties);
         component.setScopeContainer(scopeContainer);
         EasyMock.expect(component.getUri()).andReturn(componentId);
         EasyMock.replay(component);
@@ -91,7 +97,9 @@
         EasyMock.expect(builder.build(componentDefinition, deploymentContext)).andReturn(component);
         EasyMock.replay(builder);
 
-        BuilderRegistry registry = new BuilderRegistryImpl(null);
+        ScopeRegistry scopeRegistry = new ScopeRegistryImpl();
+        scopeRegistry.register(scopeContainer);
+        BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry);
         registry.register(Composite.class, builder);
 
         assertSame(component, registry.build(componentDefinition, deploymentContext));
@@ -150,7 +158,9 @@
         EasyMock.replay(scopeRegistry);
         BuilderRegistry registry = new BuilderRegistryImpl(scopeRegistry);
 
+        URI uri = URI.create("foo");
         AtomicComponent component = EasyMock.createNiceMock(AtomicComponent.class);
+        EasyMock.expect(component.getUri()).andReturn(uri);
         EasyMock.replay(component);
         ComponentBuilder builder = EasyMock.createMock(ComponentBuilder.class);
         EasyMock.expect(builder.build(
@@ -158,13 +168,18 @@
             EasyMock.isA(DeploymentContext.class))).andReturn(component);
         EasyMock.replay(builder);
         registry.register(FooImplementation.class, builder);
-
+        
         FooImplementation impl = new FooImplementation();
         // FIXME:
         // impl.setImplementationScope(Scope.CONVERSATION);
-        URI uri = URI.create("foo");
         org.apache.tuscany.assembly.Component definition = new ComponentImpl();
         definition.setImplementation(impl);
+
+        EasyMock.expect(deploymentContext.getComponents()).andReturn(components);
+        EasyMock.replay(deploymentContext);
+
+        EasyMock.expect(components.put(uri, component)).andReturn(null);
+        EasyMock.replay(components);
         try {
             registry.build(definition, deploymentContext);
             fail("Should throw NoConversationalContractException");
@@ -179,6 +194,8 @@
         deploymentContext = EasyMock.createMock(DeploymentContext.class);
         parent = EasyMock.createNiceMock(Component.class);
         scopeContainer = EasyMock.createMock(ScopeContainer.class);
+        EasyMock.expect(scopeContainer.getScope()).andReturn(Scope.STATELESS).anyTimes();
+        EasyMock.replay(scopeContainer);
         components = EasyMock.createMock(Map.class);
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java Thu Apr  5 14:36:06 2007
@@ -28,6 +28,7 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.apache.tuscany.core.component.CompositeComponentImpl;
 import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.Reference;

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java Thu Apr  5 14:36:06 2007
@@ -20,6 +20,7 @@
 
 import java.net.URI;
 
+import org.apache.tuscany.core.component.CompositeComponentImpl;
 import org.apache.tuscany.spi.component.DuplicateNameException;
 import org.apache.tuscany.spi.component.Service;
 import org.apache.tuscany.spi.component.Reference;

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/implementation/composite/ManagedRequestContextTestCase.java Thu Apr  5 14:36:06 2007
@@ -34,7 +34,7 @@
         WorkContext workContext = EasyMock.createMock(WorkContext.class);
         EasyMock.expect(workContext.getCurrentServiceName()).andReturn("foo");
         EasyMock.replay(workContext);
-        RequestContext context = new ManagedRequestContext(workContext);
+        RequestContext context = new RequestContextImpl(workContext);
         assertEquals("foo", context.getServiceName());
         EasyMock.verify(workContext);
     }

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java?view=diff&rev=525969&r1=525968&r2=525969
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/resolver/DefaultAutowireResolverTestCase.java Thu Apr  5 14:36:06 2007
@@ -131,6 +131,7 @@
 
     private Component createComposite(String uri) {
         Composite type = factory.createComposite();
+        type.setAutowire(true);
         Component component = factory.createComponent();
         component.setImplementation(type);
         component.setName(uri);
@@ -138,9 +139,6 @@
     }
 
     private Component createSourceAtomic(Class<?> requiredInterface) {
-        ComponentReference reference = factory.createComponentReference();
-        reference.setName("ref");
-
         ComponentService service = factory.createComponentService();
         service.setName("service");
 
@@ -148,6 +146,9 @@
         javaInterface.setJavaClass(requiredInterface);
         service.setInterface(javaInterface);
 
+        Reference reference = factory.createReference();
+        reference.setName("ref");
+        reference.setAutowire(true);
         reference.setInterface(javaInterface);
         reference.setMultiplicity(Multiplicity.ONE_ONE);
 
@@ -155,19 +156,15 @@
         Component definition = factory.createComponent();
         definition.setImplementation(impl);
         definition.setName("source");
-        definition.getReferences().add(reference);
-        definition.getServices().add(service);
+        // definition.getServices().add(service);
 
-        Reference target = factory.createReference();
-        target.setName("ref");
-        target.setAutowire(true);
-        impl.getReferences().add(target);
+        impl.getServices().add(service);
+        impl.getReferences().add(reference);
 
         return definition;
     }
 
     private Component createTargetAtomic(Class<?> serviceInterface) {
-        URI uri = URI.create("target");
         ComponentService service = factory.createComponentService();
         service.setName("service");
 



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