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