You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2007/02/11 19:39:45 UTC
svn commit: r506088 [1/2] - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/
kernel/core/src/main/java/org/apache/tuscany/core/builder/
kernel/core/src/main/java/org/apache/tuscany/core/component/ kernel/core...
Author: jmarino
Date: Sun Feb 11 10:39:43 2007
New Revision: 506088
URL: http://svn.apache.org/viewvc?view=rev&rev=506088
Log:
remove unused autowire code
Added:
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java (contents, props changed)
- copied, changed from r505854, incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java
Removed:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireResolutionTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionAutowireTestCase.java
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java
incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java
incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
incubator/tuscany/java/sca/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultBootstrapper.java Sun Feb 11 10:39:43 2007
@@ -269,8 +269,7 @@
private Builder createBuilder(ScopeRegistry scopeRegistry) {
BuilderRegistryImpl builderRegistry =
new BuilderRegistryImpl(scopeRegistry, new JDKWireService(), componentManager);
- SystemCompositeBuilder builder =
- new SystemCompositeBuilder(builderRegistry, managementService);
+ SystemCompositeBuilder builder = new SystemCompositeBuilder(builderRegistry);
builderRegistry.register(SystemCompositeImplementation.class, builder);
builderRegistry.register(SystemImplementation.class, new SystemComponentBuilder());
builderRegistry.register(LocalBindingDefinition.class, new LocalBindingBuilder());
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/DefaultRuntime.java Sun Feb 11 10:39:43 2007
@@ -26,9 +26,6 @@
import org.apache.tuscany.spi.bootstrap.ComponentNames;
import org.apache.tuscany.spi.bootstrap.RuntimeComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.TargetResolutionException;
-import org.apache.tuscany.spi.deployer.Deployer;
-import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
@@ -71,13 +68,5 @@
public CompositeComponent getSystemComponent() {
return systemComponent;
- }
-
- public Deployer getDeployer() throws TargetResolutionException {
- InboundWire wire = systemComponent.resolveExternalAutowire(Deployer.class);
- if (wire != null) {
- return (Deployer) wire.getTargetService();
- }
- return null;
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Sun Feb 11 10:39:43 2007
@@ -36,7 +36,7 @@
import org.apache.tuscany.spi.builder.ScopeNotFoundException;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.ReferenceBinding;
@@ -156,7 +156,7 @@
} catch (BuilderException e) {
e.addContextName(componentDefinition.getUri().toString());
throw e;
- } catch (ComponentRegistrationException e) {
+ } catch (RegistrationException e) {
BuilderInstantiationException bie = new BuilderInstantiationException("Error registering component", e);
bie.addContextName(componentDefinition.getUri().toString());
throw bie;
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManager.java Sun Feb 11 10:39:43 2007
@@ -22,7 +22,7 @@
import java.util.List;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.event.RuntimeEventListener;
/**
@@ -38,17 +38,17 @@
* Registers a component which will be managed by the runtime
*
* @param component the component
- * @throws ComponentRegistrationException
+ * @throws RegistrationException
*/
- void register(Component component) throws ComponentRegistrationException;
+ void register(Component component) throws RegistrationException;
/**
* Deregisters a component
*
* @param component the component to deregister
- * @throws ComponentRegistrationException
+ * @throws RegistrationException
*/
- void unregister(Component component) throws ComponentRegistrationException;
+ void unregister(Component component) throws RegistrationException;
/**
* Register a simple Java Object as a system component. This is primarily intended for use by bootstrap code to
@@ -57,10 +57,10 @@
* @param uri the uri of the resulting component
* @param service the service interface the component should expose
* @param instance the Object that will become the component's implementation
- * @throws ComponentRegistrationException
+ * @throws RegistrationException
*/
<S, I extends S> void registerJavaObject(URI uri, Class<S> service, I instance)
- throws ComponentRegistrationException;
+ throws RegistrationException;
/**
* Register a simple Java Object as a system component. This is primarily intended for use by bootstrap code to
@@ -69,10 +69,10 @@
* @param uri the name of the resulting component
* @param services the service interfaces the component should expose
* @param instance the Object that will become the component's implementation
- * @throws ComponentRegistrationException
+ * @throws RegistrationException
*/
<S, I extends S> void registerJavaObject(URI uri, List<Class<?>> services, I instance)
- throws ComponentRegistrationException;
+ throws RegistrationException;
/**
* Returns the component with the given URI
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java Sun Feb 11 10:39:43 2007
@@ -26,7 +26,7 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.DuplicateNameException;
import org.apache.tuscany.spi.event.Event;
@@ -61,7 +61,7 @@
this.resolver = resolver;
}
- public void register(Component component) throws ComponentRegistrationException {
+ public void register(Component component) throws RegistrationException {
URI uri = component.getUri();
assert uri != null;
if (components.containsKey(uri)) {
@@ -88,7 +88,7 @@
}
public <S, I extends S> void registerJavaObject(URI uri, Class<S> service, I instance)
- throws ComponentRegistrationException {
+ throws RegistrationException {
SystemSingletonAtomicComponent<S, I> component =
new SystemSingletonAtomicComponent<S, I>(uri, null, service, instance);
register(component);
@@ -100,7 +100,7 @@
}
public <S, I extends S> void registerJavaObject(URI uri, List<Class<?>> services, I instance)
- throws ComponentRegistrationException {
+ throws RegistrationException {
SystemSingletonAtomicComponent<S, I> component =
new SystemSingletonAtomicComponent<S, I>(uri, null, services, instance);
register(component);
@@ -111,7 +111,7 @@
}
}
- public void unregister(Component component) throws ComponentRegistrationException {
+ public void unregister(Component component) throws RegistrationException {
URI uri = component.getUri();
components.remove(uri);
parentToChildren.remove(uri);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java Sun Feb 11 10:39:43 2007
@@ -2,7 +2,7 @@
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.BuilderInstantiationException;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.Service;
@@ -33,7 +33,7 @@
try {
Service service = builderRegistry.build(component, definition, deploymentContext);
component.register(service);
- } catch (ComponentRegistrationException e) {
+ } catch (RegistrationException e) {
throw new BuilderInstantiationException("Error registering service", e);
}
}
@@ -41,7 +41,7 @@
try {
Reference reference = builderRegistry.build(component, definition, deploymentContext);
component.register(reference);
- } catch (ComponentRegistrationException e) {
+ } catch (RegistrationException e) {
throw new BuilderInstantiationException("Error registering reference", e);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java Sun Feb 11 10:39:43 2007
@@ -29,7 +29,6 @@
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.CompositeComponentType;
-import org.apache.tuscany.spi.services.management.TuscanyManagementService;
import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
@@ -39,13 +38,10 @@
* @version $Rev$ $Date$
*/
public class SystemCompositeBuilder extends AbstractCompositeBuilder<SystemCompositeImplementation> {
- private TuscanyManagementService managementService;
@Constructor
- public SystemCompositeBuilder(@Autowire BuilderRegistry builderRegistry,
- @Autowire(required = false)TuscanyManagementService managementService) {
+ public SystemCompositeBuilder(@Autowire BuilderRegistry builderRegistry) {
this.builderRegistry = builderRegistry;
- this.managementService = managementService;
}
public CompositeComponent build(CompositeComponent parent,
@@ -55,7 +51,6 @@
CompositeComponentType<?, ?, ?> componentType = impl.getComponentType();
URI name = componentDefinition.getUri();
CompositeComponent component = new CompositeComponentImpl(name, parent);
- component.setManagementService(managementService);
build(parent, component, componentType, deploymentContext);
return component;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java Sun Feb 11 10:39:43 2007
@@ -130,7 +130,7 @@
handleProperties(definition, component);
// handle resources
- handleResources(componentType, component, parent);
+ handleResources(componentType, component);
handleCallbackSites(componentType, configuration);
@@ -159,8 +159,7 @@
@SuppressWarnings({"unchecked"})
private void handleResources(
PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> componentType,
- JavaAtomicComponent component,
- CompositeComponent parent) {
+ JavaAtomicComponent component) {
for (Resource resource : componentType.getResources().values()) {
ObjectFactory<?> objectFactory = resource.getObjectFactory();
if (objectFactory != null) {
@@ -173,9 +172,9 @@
String mappedName = resource.getMappedName();
if (mappedName == null) {
// by type
- factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+ factory = new ResourceObjectFactory<Object>(type, optional, host);
} else {
- factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+ factory = new ResourceObjectFactory<Object>(type, mappedName, optional, host);
}
component.addResourceFactory(name, factory);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ResourceProcessor.java Sun Feb 11 10:39:43 2007
@@ -45,7 +45,8 @@
public ResourceProcessor() {
}
- public void visitMethod(CompositeComponent parent, Method method,
+ public void visitMethod(CompositeComponent parent,
+ Method method,
PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type,
DeploymentContext context)
throws ProcessingException {
@@ -76,7 +77,8 @@
type.add(resource);
}
- public void visitField(CompositeComponent parent, Field field,
+ public void visitField(CompositeComponent parent,
+ Field field,
PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> type,
DeploymentContext context) throws ProcessingException {
@@ -104,7 +106,8 @@
type.add(resource);
}
- public <T> void visitConstructor(CompositeComponent parent, Constructor<T> constructor,
+ public <T> void visitConstructor(CompositeComponent parent,
+ Constructor<T> constructor,
PojoComponentType<JavaMappedService, JavaMappedReference,
JavaMappedProperty<?>> type,
DeploymentContext context) throws ProcessingException {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java Sun Feb 11 10:39:43 2007
@@ -132,38 +132,15 @@
String mappedName = resource.getMappedName();
if (mappedName == null) {
// by type
- factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+ factory = new ResourceObjectFactory<Object>(type, optional, host);
} else {
- factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+ factory = new ResourceObjectFactory<Object>(type, mappedName, optional, host);
}
component.addResourceFactory(name, factory);
}
return component;
}
-
-// private void processReferences(ComponentDefinition<SystemImplementation> definition,
-// Map<String, JavaMappedReference> references,
-// CompositeComponent parent,
-// SystemAtomicComponentImpl component) {
-// // no proxies needed for system components
-// for (ReferenceTarget target : definition.getReferenceTargets().values()) {
-// String referenceName = target.getReferenceName();
-// JavaMappedReference referenceDefiniton = references.get(referenceName);
-// Class interfaze = referenceDefiniton.getServiceContract().getInterfaceClass();
-// OutboundWire wire;
-// if (referenceDefiniton.isAutowire()) {
-// boolean required = referenceDefiniton.isRequired();
-// wire = new SystemOutboundAutowire(referenceName, interfaze, parent, required);
-// } else {
-// //FIXME support multiplicity!
-// assert target.getTargets().size() == 1 : "Multiplicity not yet implemented";
-// QualifiedName targetName = new QualifiedName(target.getTargets().get(0).getPath());
-// wire = new SystemOutboundWireImpl(referenceName, targetName, interfaze);
-// }
-// component.addOutboundWire(wire);
-// }
-// }
private void processProperties(Map<String, PropertyValue<?>> propertyValues,
Collection<JavaMappedProperty<?>> properties,
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java Sun Feb 11 10:39:43 2007
@@ -20,13 +20,8 @@
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.ObjectFactory;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.host.ResourceHost;
import org.apache.tuscany.spi.host.ResourceResolutionException;
-import org.apache.tuscany.spi.wire.InboundWire;
/**
* Resolves a runtime resource to be injected on a field or method of a Java component type marked with {@link
@@ -41,9 +36,7 @@
private Class<T> type;
private String mappedName;
- private CompositeComponent parent;
private ResourceHost host;
- private boolean resolveFromHost;
private boolean optional;
/**
@@ -51,15 +44,10 @@
*
* @param type the type of the resource to inject
* @param optional true if an error should be thrown if the resource is not found
- * @param parent the parent composite of the component to inject on
* @param host the runtime resource provider
*/
- public ResourceObjectFactory(Class<T> type,
- boolean optional,
- CompositeComponent parent,
- ResourceHost host) {
+ public ResourceObjectFactory(Class<T> type, boolean optional, ResourceHost host) {
this.type = type;
- this.parent = parent;
this.host = host;
this.optional = optional;
}
@@ -70,74 +58,31 @@
* @param type the type of the resource to inject
* @param mappedName the resource name
* @param optional true if an error should be thrown if the resource is not found
- * @param parent the parent composite of the component to inject on
* @param host the runtime resource provider
*/
- public ResourceObjectFactory(Class<T> type,
- String mappedName,
- boolean optional,
- CompositeComponent parent,
- ResourceHost host) {
+ public ResourceObjectFactory(Class<T> type, String mappedName, boolean optional, ResourceHost host) {
this.type = type;
- this.parent = parent;
this.host = host;
- if (mappedName.indexOf("://") >= 0) {
- this.resolveFromHost = true;
- }
this.mappedName = mappedName;
this.optional = optional;
}
@SuppressWarnings({"unchecked"})
public T getInstance() throws ObjectCreationException {
- if (resolveFromHost) {
- return resolveInstance();
- } else {
- T instance = null;
+ try {
+ T resource;
if (mappedName == null) {
- try {
- InboundWire wire = parent.resolveAutowire(type);
- if (wire != null) {
- instance = (T) wire.getTargetService();
- }
- } catch (TargetResolutionException e) {
- throw new ObjectCreationException(e);
- }
- if (instance == null) {
- // if not found in parent scope, search the host namespace
- resolveFromHost = true;
- instance = resolveInstance();
- }
- if (instance == null && !optional) {
- throw new ResourceNotFoundException("No resource found matching type", type.getName());
+ resource = host.resolveResource(type);
+ if (!optional && resource == null) {
+ throw new ResourceNotFoundException("Resource not found", type.getName());
}
- return instance;
} else {
- SCAObject child = parent.getChild(mappedName);
- if (child instanceof AtomicComponent) {
- try {
- AtomicComponent component = (AtomicComponent) child;
- instance = type.cast(component.getTargetInstance());
- } catch (TargetResolutionException e) {
- throw new ObjectCreationException(e);
- }
- } else if (child != null) {
- throw new InvalidResourceTypeException("Invalid resource type", mappedName);
- } else if (!optional) {
- throw new ResourceNotFoundException("No resource found for URI", mappedName);
+ resource = host.resolveResource(type, mappedName);
+ if (!optional && resource == null) {
+ throw new ResourceNotFoundException("Resource not found", mappedName);
}
- return instance;
- }
- }
- }
-
- private T resolveInstance() {
- try {
- if (mappedName == null) {
- return host.resolveResource(type);
- } else {
- return host.resolveResource(type, mappedName);
}
+ return resource;
} catch (ResourceResolutionException e) {
throw new ObjectCreationException(e);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java Sun Feb 11 10:39:43 2007
@@ -30,7 +30,7 @@
import org.apache.tuscany.spi.builder.Connector;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.ComponentException;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.Deployer;
import org.apache.tuscany.spi.loader.LoaderException;
@@ -164,7 +164,7 @@
try {
componentManager.register(systemComponent);
componentManager.register(runtime.getRootComponent());
- } catch (ComponentRegistrationException e) {
+ } catch (RegistrationException e) {
throw new InitializationException(e);
}
systemComponent.start();
@@ -227,7 +227,7 @@
// register the component manager with itself so it can be autowired
componentManager.registerJavaObject(COMPONENT_MGR_URI, ComponentManager.class, componentManager);
componentManager.registerJavaObject(AUTOWIRE_RESOLVER_URI, AutowireResolver.class, resolver);
- } catch (ComponentRegistrationException e) {
+ } catch (RegistrationException e) {
throw new InitializationException(e);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/XMLChangeSetHandler.java Sun Feb 11 10:39:43 2007
@@ -32,7 +32,6 @@
import org.apache.tuscany.spi.builder.Builder;
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.PrepareException;
import org.apache.tuscany.spi.deployer.ChangeSetHandler;
@@ -114,7 +113,6 @@
(ComponentDefinition<?>) loader.load(parent, null, xmlReader, deploymentContext);
Component component = builder.build(parent, componentDefinition, deploymentContext);
component.prepare();
- parent.register(component);
} catch (LoaderException e) {
// FIXME throw something appropriate
throw new AssertionError("FIXME");
@@ -122,9 +120,6 @@
// FIXME throw something appropriate
throw new AssertionError("FIXME");
} catch (PrepareException e) {
- // FIXME throw something appropriate
- throw new AssertionError("FIXME");
- } catch (ComponentRegistrationException e) {
// FIXME throw something appropriate
throw new AssertionError("FIXME");
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplTestCase.java Sun Feb 11 10:39:43 2007
@@ -18,16 +18,13 @@
*/
package org.apache.tuscany.core.implementation.composite;
-import java.util.ArrayList;
-import java.util.List;
import java.net.URI;
-import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.Service;
import junit.framework.TestCase;
-import org.apache.tuscany.core.implementation.TestUtils;
import org.easymock.EasyMock;
/**
@@ -36,38 +33,23 @@
public class CompositeComponentImplTestCase extends TestCase {
public void testRegisterService() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Foo.class);
CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
- AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component.getUri()).andReturn(URI.create("bar")).atLeastOnce();
- List<InboundWire> wires = TestUtils.createInboundWires(services);
- EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
- EasyMock.replay(component);
- parent.register(component);
+ Service service = EasyMock.createMock(Service.class);
+ EasyMock.expect(service.getUri()).andReturn(URI.create("bar")).atLeastOnce();
+ EasyMock.replay(service);
+ parent.register(service);
assertNotNull(parent.getChild("bar"));
- EasyMock.verify(component);
+ EasyMock.verify(service);
}
- public void testAutowire() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Foo.class);
+ public void testRegisterReference() throws Exception {
CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
- AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component.getUri()).andReturn(URI.create("component")).atLeastOnce();
- List<InboundWire> wires = TestUtils.createInboundWires(services);
- TestUtils.populateInboundWires(component, wires);
- EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
- EasyMock.replay(component);
- parent.register(component);
- parent.start();
- assertNull(parent.resolveExternalAutowire(Foo.class));
- assertNotNull(parent.resolveAutowire(Foo.class));
- parent.stop();
- EasyMock.verify(component);
+ Reference service = EasyMock.createMock(Reference.class);
+ EasyMock.expect(service.getUri()).andReturn(URI.create("bar")).atLeastOnce();
+ EasyMock.replay(service);
+ parent.register(service);
+ assertNotNull(parent.getChild("bar"));
+ EasyMock.verify(service);
}
- private class Foo {
-
- }
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DuplicateRegistrationTestCase.java Sun Feb 11 10:39:43 2007
@@ -18,18 +18,14 @@
*/
package org.apache.tuscany.core.implementation.composite;
-import java.util.ArrayList;
-import java.util.List;
import java.net.URI;
-import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.DuplicateNameException;
-import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.Reference;
import junit.framework.TestCase;
-import org.apache.tuscany.core.implementation.TestUtils;
-import org.apache.tuscany.core.mock.component.Source;
import org.easymock.EasyMock;
/**
@@ -39,28 +35,23 @@
*/
public class DuplicateRegistrationTestCase extends TestCase {
- public void testDuplicateRegistration() throws Exception {
+ public void testDuplicateServiceRegistration() throws Exception {
CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
parent.start();
- List<Class<?>> interfaces = new ArrayList<Class<?>>();
- interfaces.add(Source.class);
- AtomicComponent component1 = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component1.getUri()).andReturn(URI.create("source")).atLeastOnce();
- component1.stop();
- List<InboundWire> wires = TestUtils.createInboundWires(interfaces);
- TestUtils.populateInboundWires(component1, wires);
- EasyMock.expect(component1.getInboundWires()).andReturn(wires).atLeastOnce();
- EasyMock.replay(component1);
-
- AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component2.getUri()).andReturn(URI.create("source")).atLeastOnce();
- component2.stop();
- EasyMock.replay(component2);
+ Service service1 = EasyMock.createMock(Service.class);
+ EasyMock.expect(service1.getUri()).andReturn(URI.create("service")).atLeastOnce();
+ service1.stop();
+ EasyMock.replay(service1);
+
+ Service service2 = EasyMock.createMock(Service.class);
+ EasyMock.expect(service2.getUri()).andReturn(URI.create("service")).atLeastOnce();
+ service2.stop();
+ EasyMock.replay(service2);
- parent.register(component1);
+ parent.register(service2);
try {
- parent.register(component2);
+ parent.register(service1);
fail();
} catch (DuplicateNameException e) {
// ok
@@ -68,28 +59,55 @@
parent.stop();
}
- public void testDuplicateNameSystemService() throws Exception {
- List<Class<?>> services = new ArrayList<Class<?>>();
- services.add(Source.class);
- CompositeComponent parent = new CompositeComponentImpl(URI.create("foo"), null, null);
- AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component.getUri()).andReturn(URI.create("bar")).atLeastOnce();
- List<InboundWire> wires = TestUtils.createInboundWires(services);
- TestUtils.populateInboundWires(component, wires);
- EasyMock.expect(component.getInboundWires()).andReturn(wires).atLeastOnce();
- EasyMock.replay(component);
- parent.register(component);
- AtomicComponent component2 = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component2.getUri()).andReturn(URI.create("bar")).atLeastOnce();
- EasyMock.replay(component2);
+ public void testDuplicateReferenceRegistration() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
+ parent.start();
+
+ Reference reference1 = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference1.getUri()).andReturn(URI.create("reference")).atLeastOnce();
+ reference1.stop();
+ EasyMock.replay(reference1);
+
+ Reference reference2 = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference2.getUri()).andReturn(URI.create("reference")).atLeastOnce();
+ reference2.stop();
+ EasyMock.replay(reference2);
+
+ parent.register(reference2);
try {
- parent.register(component2);
+ parent.register(reference1);
fail();
} catch (DuplicateNameException e) {
- // expected
+ // ok
}
+ parent.stop();
+
}
+ public void testDuplicateServiceReferenceRegistration() throws Exception {
+ CompositeComponent parent = new CompositeComponentImpl(URI.create("parent"), null, null);
+ parent.start();
+
+ Service service1 = EasyMock.createMock(Service.class);
+ EasyMock.expect(service1.getUri()).andReturn(URI.create("child")).atLeastOnce();
+ service1.stop();
+ EasyMock.replay(service1);
+
+ Reference service2 = EasyMock.createMock(Reference.class);
+ EasyMock.expect(service2.getUri()).andReturn(URI.create("child")).atLeastOnce();
+ service2.stop();
+ EasyMock.replay(service2);
+
+ parent.register(service2);
+ try {
+ parent.register(service1);
+ fail();
+ } catch (DuplicateNameException e) {
+ // ok
+ }
+ parent.stop();
+
+ }
protected void setUp() throws Exception {
super.setUp();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderResourceTestCase.java Sun Feb 11 10:39:43 2007
@@ -29,6 +29,7 @@
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.host.ResourceHost;
import junit.framework.TestCase;
import org.easymock.EasyMock;
@@ -44,7 +45,11 @@
ScopeRegistry registry = EasyMock.createMock(ScopeRegistry.class);
EasyMock.expect(registry.getScopeContainer(Scope.STATELESS)).andReturn(container);
EasyMock.replay(registry);
+ ResourceHost host = EasyMock.createMock(ResourceHost.class);
+ EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+ EasyMock.replay(host);
JavaComponentBuilder builder = new JavaComponentBuilder();
+ builder.setHost(host);
builder.setScopeRegistry(registry);
ConstructorDefinition<Foo> ctorDef = new ConstructorDefinition<Foo>(Foo.class.getConstructor());
PojoComponentType type = new PojoComponentType();
@@ -63,7 +68,6 @@
EasyMock.replay(resourceWire);
CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(String.class)).andReturn(resourceWire);
EasyMock.replay(parent);
JavaAtomicComponent component = (JavaAtomicComponent) builder.build(parent, definition, null);
Foo foo = (Foo) component.createInstance();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/ResourceInjectionTestCase.java Sun Feb 11 10:39:43 2007
@@ -20,13 +20,13 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
+import java.net.URI;
import java.util.ArrayList;
import java.util.List;
-import java.net.URI;
-import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.host.ResourceHost;
import junit.framework.TestCase;
import org.apache.tuscany.core.implementation.PojoConfiguration;
@@ -54,15 +54,15 @@
EasyMock.expect(wire.getTargetService()).andReturn("result");
EasyMock.replay(wire);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(wire);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
+ ResourceHost host = EasyMock.createMock(ResourceHost.class);
+ EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+ EasyMock.replay(host);
+
+ ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
component.addResourceFactory("bar", factory);
Foo foo = (Foo) component.createInstance();
assertEquals("result", foo.resource);
- EasyMock.verify(parent);
}
@@ -81,16 +81,15 @@
InboundWire wire = EasyMock.createMock(InboundWire.class);
EasyMock.expect(wire.getTargetService()).andReturn("result");
EasyMock.replay(wire);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+ ResourceHost host = EasyMock.createMock(ResourceHost.class);
+ EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+ EasyMock.replay(host);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(wire);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
+ ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
component.addResourceFactory("bar", factory);
FooConstructor foo = (FooConstructor) component.createInstance();
assertEquals("result", foo.resource);
- EasyMock.verify(parent);
}
public static class Foo {
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilderResourceTestCase.java Sun Feb 11 10:39:43 2007
@@ -16,6 +16,7 @@
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.host.ResourceHost;
import junit.framework.TestCase;
import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
@@ -33,8 +34,12 @@
ScopeRegistry registry = EasyMock.createMock(ScopeRegistry.class);
EasyMock.expect(registry.getScopeContainer(Scope.STATELESS)).andReturn(container);
EasyMock.replay(registry);
+ ResourceHost host = EasyMock.createMock(ResourceHost.class);
+ EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("result");
+ EasyMock.replay(host);
SystemComponentBuilder builder = new SystemComponentBuilder();
builder.setScopeRegistry(registry);
+ builder.setHost(host);
ConstructorDefinition<Foo> ctorDef = new ConstructorDefinition<SystemComponentBuilderResourceTestCase.Foo>(
SystemComponentBuilderResourceTestCase.Foo.class.getConstructor());
PojoComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
@@ -57,7 +62,6 @@
EasyMock.replay(wire);
CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(String.class)).andReturn(wire);
EasyMock.replay(parent);
AtomicComponent component = builder.build(parent, definition, ctx);
SystemComponentBuilderResourceTestCase.Foo foo =
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/injection/ResourceObjectFactoryTestCase.java Sun Feb 11 10:39:43 2007
@@ -18,8 +18,6 @@
*/
package org.apache.tuscany.core.injection;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.host.ResourceHost;
import org.apache.tuscany.spi.wire.InboundWire;
@@ -35,13 +33,9 @@
ResourceHost host = EasyMock.createMock(ResourceHost.class);
EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("foo");
EasyMock.replay(host);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, host);
+ ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
assertEquals("foo", factory.getInstance());
EasyMock.verify(host);
- EasyMock.verify(parent);
}
public void testResolveFromHostByName() throws Exception {
@@ -50,65 +44,18 @@
EasyMock.eq("sca://localhost/bar"))).andReturn("foo");
EasyMock.replay(host);
ResourceObjectFactory<String> factory =
- new ResourceObjectFactory<String>(String.class, "sca://localhost/bar", false, null, host);
+ new ResourceObjectFactory<String>(String.class, "sca://localhost/bar", false, host);
assertEquals("foo", factory.getInstance());
EasyMock.verify(host);
}
- public void testResolveFromParentByType() throws Exception {
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- InboundWire wire = EasyMock.createMock(InboundWire.class);
- EasyMock.expect(wire.getTargetService()).andReturn("foo");
- EasyMock.replay(wire);
-
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(wire);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, null);
- assertEquals("foo", factory.getInstance());
- EasyMock.verify(parent);
- }
-
- public void testResolveFromParentByName() throws Exception {
- AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
- EasyMock.expect(component.getTargetInstance()).andReturn("foo");
- EasyMock.replay(component);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.getChild(EasyMock.eq("bar"))).andReturn(component);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory =
- new ResourceObjectFactory<String>(String.class, "bar", false, parent, null);
- assertEquals("foo", factory.getInstance());
- EasyMock.verify(parent);
- EasyMock.verify(component);
- }
-
- /**
- * Verifies if a resource is not found as a child of the parent, the host namespace will be searched
- */
- public void testResolveFromParentThenResolveFromHost() throws Exception {
- ResourceHost host = EasyMock.createMock(ResourceHost.class);
- EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn("foo");
- EasyMock.replay(host);
-
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, host);
- assertEquals("foo", factory.getInstance());
- EasyMock.verify(parent);
- EasyMock.verify(host);
- }
public void testResolveFromParentThenResolveFromHostNotFound() throws Exception {
ResourceHost host = EasyMock.createMock(ResourceHost.class);
EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn(null);
EasyMock.replay(host);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, parent, host);
+ ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, host);
assertNull(factory.getInstance());
- EasyMock.verify(parent);
EasyMock.verify(host);
}
@@ -121,17 +68,13 @@
EasyMock.expect(wire.getTargetService()).andReturn(null);
EasyMock.replay(wire);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, parent, host);
+ ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, false, host);
try {
factory.getInstance();
fail();
} catch (ResourceNotFoundException e) {
//expected
}
- EasyMock.verify(parent);
EasyMock.verify(host);
}
@@ -139,12 +82,8 @@
ResourceHost host = EasyMock.createMock(ResourceHost.class);
EasyMock.expect(host.resolveResource(EasyMock.eq(String.class))).andReturn(null);
EasyMock.replay(host);
- CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(parent.resolveAutowire(EasyMock.eq(String.class))).andReturn(null);
- EasyMock.replay(parent);
- ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, parent, host);
+ ResourceObjectFactory<String> factory = new ResourceObjectFactory<String>(String.class, true, host);
assertNull(factory.getInstance());
- EasyMock.verify(parent);
EasyMock.verify(host);
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/bootstrap/RuntimeComponent.java Sun Feb 11 10:39:43 2007
@@ -19,8 +19,6 @@
package org.apache.tuscany.spi.bootstrap;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.TargetException;
-import org.apache.tuscany.spi.deployer.Deployer;
/**
* Interface that represents the Tuscany runtime.
@@ -45,11 +43,4 @@
*/
CompositeComponent getSystemComponent();
- /**
- * Returns the deployer for this runtime. This interface can be used to deploy new SCA bundles to the runtime.
- *
- * @return the deployer for this runtime
- * @throws TargetException if there is an error returning the deployer
- */
- Deployer getDeployer() throws TargetException;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/CompositeComponent.java Sun Feb 11 10:39:43 2007
@@ -23,8 +23,6 @@
import org.w3c.dom.Document;
import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.services.management.TuscanyManagementService;
-import org.apache.tuscany.spi.wire.InboundWire;
/**
* The runtime instantiation of an SCA composite component. Composites may contain child components, offer services, and
@@ -36,13 +34,6 @@
public interface CompositeComponent extends Component, RuntimeEventListener {
/**
- * Sets the management service associated with the composite
- *
- * @param managementService the management service associated with the composite
- */
- void setManagementService(TuscanyManagementService managementService);
-
- /**
* Returns the value of a Property of this composite.
*
* @param name the name of the Property
@@ -51,42 +42,38 @@
Document getPropertyValue(String name);
/**
- * Registers a child of this composite.
+ * Registers a service of this composite.
+ *
+ * @param service the service to add as a child
+ * @throws RegistrationException
+ */
+ void register(Service service) throws RegistrationException;
+
+ /**
+ * Registers a reference of this composite.
*
- * @param object the object to add as a child
- * @throws ComponentRegistrationException
+ * @param reference the reference to add as a child
+ * @throws RegistrationException
*/
- void register(SCAObject object) throws ComponentRegistrationException;
+ void register(Reference reference) throws RegistrationException;
/**
* Returns the child associated with a given name
*/
SCAObject getChild(String name);
- List<Service> getServices();
-
- List<Reference> getReferences();
-
/**
- * Invoked by child components to return an wire to a target based on matching type. Resolved targets may be
- * serviceBindings or components in the parent or its ancestors, or references in a sibling component
+ * Returns the services for the component
*
- * @param instanceInterface the type of service being requested
- * @return a reference to the requested service or null if one is not be found
- * @throws TargetResolutionException
+ * @return the services for the component
*/
- InboundWire resolveAutowire(Class<?> instanceInterface) throws TargetResolutionException;
+ List<Service> getServices();
/**
- * Invoked by a parent component to return an wire to a target in a child based on matching type. Resolved targets
- * must be serviceBindings. For example, given a parent P and two siblings, A and B, A would request an autowire by
- * invoking {@link #resolveAutowire(Class<?>)} on P, which in turn could invoke the present method on B in order to
- * resolve a target.
+ * Returns the references for the component
*
- * @param instanceInterface the type of service being requested
- * @return a reference to the requested service or null if one is not be found
- * @throws TargetResolutionException
+ * @return the references for the component
*/
- InboundWire resolveExternalAutowire(Class<?> instanceInterface) throws TargetResolutionException;
+ List<Reference> getReferences();
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/DuplicateNameException.java Sun Feb 11 10:39:43 2007
@@ -23,7 +23,7 @@
*
* @version $Rev$ $Date$
*/
-public class DuplicateNameException extends ComponentRegistrationException {
+public class DuplicateNameException extends RegistrationException {
public DuplicateNameException(String message) {
super(message);
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/InvalidAutowireInterface.java Sun Feb 11 10:39:43 2007
@@ -23,7 +23,7 @@
*
* @version $Rev$ $Date$
*/
-public class InvalidAutowireInterface extends ComponentRegistrationException {
+public class InvalidAutowireInterface extends RegistrationException {
public InvalidAutowireInterface(String message, String identifier) {
super(message, identifier);
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/MalformedNameException.java Sun Feb 11 10:39:43 2007
@@ -5,7 +5,7 @@
*
* @version $Rev$ $Date$
*/
-public class MalformedNameException extends ComponentRegistrationException {
+public class MalformedNameException extends RegistrationException {
public MalformedNameException(Throwable e) {
super("Malformed name", e);
Copied: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java (from r505854, incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java?view=diff&rev=506088&p1=incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java&r1=505854&p2=incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ComponentRegistrationException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java Sun Feb 11 10:39:43 2007
@@ -19,27 +19,27 @@
package org.apache.tuscany.spi.component;
/**
- * Thrown when an error is encountered registering a component
+ * Thrown when an error is encountered registering a service or reference on a composite
*
* @version $$Rev$$ $$Date$$
*/
-public abstract class ComponentRegistrationException extends ComponentException {
- public ComponentRegistrationException() {
+public abstract class RegistrationException extends ComponentException {
+ public RegistrationException() {
}
- public ComponentRegistrationException(String message) {
+ public RegistrationException(String message) {
super(message);
}
- public ComponentRegistrationException(String message, String identifier) {
+ public RegistrationException(String message, String identifier) {
super(message, identifier);
}
- public ComponentRegistrationException(String message, Throwable cause) {
+ public RegistrationException(String message, Throwable cause) {
super(message, cause);
}
- public ComponentRegistrationException(Throwable cause) {
+ public RegistrationException(Throwable cause) {
super(cause);
}
}
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/RegistrationException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/CompositeComponentExtension.java Sun Feb 11 10:39:43 2007
@@ -29,23 +29,17 @@
import org.w3c.dom.Document;
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.DuplicateNameException;
-import org.apache.tuscany.spi.component.InvalidAutowireInterface;
import org.apache.tuscany.spi.component.PrepareException;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.component.ServiceBinding;
-import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.services.management.TuscanyManagementService;
import org.apache.tuscany.spi.util.UriHelper;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.OutboundWire;
@@ -57,36 +51,16 @@
* @version $$Rev$$ $$Date$$
*/
public abstract class CompositeComponentExtension extends AbstractComponentExtension implements CompositeComponent {
- protected final Map<String, SCAObject> children = new ConcurrentHashMap<String, SCAObject>();
protected final List<Service> services = new ArrayList<Service>();
protected final List<Reference> references = new ArrayList<Reference>();
-
+ protected final Map<String, SCAObject> children = new ConcurrentHashMap<String, SCAObject>();
protected final Map<String, Document> propertyValues;
- // autowire mappings
- protected final Map<Class, InboundWire> autowireInternal = new ConcurrentHashMap<Class, InboundWire>();
- protected final Map<Class, InboundWire> autowireExternal = new ConcurrentHashMap<Class, InboundWire>();
-
- /**
- * Management service to use.
- */
- private TuscanyManagementService managementService;
-
protected CompositeComponentExtension(URI name, CompositeComponent parent, Map<String, Document> propertyValues) {
super(name, parent);
this.propertyValues = propertyValues;
}
- /**
- * Autowires the management service.
- *
- * @param managementService Management service used for registering components.
- */
- @Autowire
- public final void setManagementService(TuscanyManagementService managementService) {
- this.managementService = managementService;
- }
-
public Scope getScope() {
return Scope.SYSTEM;
}
@@ -99,12 +73,6 @@
return propertyValues.get(name);
}
- public SCAObject getChild(String name) {
- assert name != null;
- return children.get(name);
- }
-
-
public List<Service> getServices() {
return Collections.unmodifiableList(services);
}
@@ -113,41 +81,42 @@
return Collections.unmodifiableList(references);
}
- public void register(SCAObject child) throws ComponentRegistrationException {
- assert child instanceof Service || child instanceof Reference || child instanceof Component;
+
+ public SCAObject getChild(String name) {
+ return children.get(name);
+ }
+
+ public void register(Service service) throws RegistrationException {
String name;
- // TODO JFM should just use fragment when only refs and services are registered
- if (child.getUri().getFragment() != null) {
- name = child.getUri().getFragment();
+ if (service.getUri().getFragment() != null) {
+ name = service.getUri().getFragment();
} else {
- name = UriHelper.getBaseName(child.getUri());
+ name = UriHelper.getBaseName(service.getUri());
}
if (children.get(name) != null) {
- String uri = child.getUri().toString();
- throw new DuplicateNameException("A child is already registered with the name", uri);
+ String uri = service.getUri().toString();
+ throw new DuplicateNameException("A service or reference is already registered with the name", uri);
}
- children.put(name, child);
- if (child instanceof Service) {
- Service service = (Service) child;
- synchronized (services) {
- services.add(service);
- }
- registerAutowire(service);
- } else if (child instanceof Reference) {
- Reference reference = (Reference) child;
- synchronized (references) {
- references.add(reference);
- }
- registerAutowire(reference);
- } else if (child instanceof AtomicComponent) {
- AtomicComponent atomic = (AtomicComponent) child;
- registerAutowire(atomic);
- if (managementService != null) {
- managementService.registerComponent(atomic.getUri().toString(), atomic);
- }
- } else if (child instanceof CompositeComponent) {
- CompositeComponent component = (CompositeComponent) child;
- registerAutowire(component);
+ children.put(name, service);
+ synchronized (services) {
+ services.add(service);
+ }
+ }
+
+ public void register(Reference reference) throws RegistrationException {
+ String name;
+ if (reference.getUri().getFragment() != null) {
+ name = reference.getUri().getFragment();
+ } else {
+ name = UriHelper.getBaseName(reference.getUri());
+ }
+ if (children.get(name) != null) {
+ String uri = reference.getUri().toString();
+ throw new DuplicateNameException("A service or reference is already registered with the name", uri);
+ }
+ children.put(name, reference);
+ synchronized (services) {
+ references.add(reference);
}
}
@@ -248,32 +217,6 @@
}
}
- public InboundWire resolveAutowire(Class<?> instanceInterface) throws TargetResolutionException {
- // FIXME JNB make this faster and thread safe
- for (Map.Entry<Class, InboundWire> service : autowireInternal.entrySet()) {
- if (instanceInterface.isAssignableFrom(service.getKey())) {
- return service.getValue();
- }
- }
- if (getParent() != null) {
- return getParent().resolveAutowire(instanceInterface);
- }
- return null;
- }
-
- public InboundWire resolveExternalAutowire(Class<?> instanceInterface) throws TargetResolutionException {
- // FIXME JNB make this faster and thread safe
- for (Map.Entry<Class, InboundWire> service : autowireExternal.entrySet()) {
- if (instanceInterface.isAssignableFrom(service.getKey())) {
- return service.getValue();
- }
- }
- if (getParent() != null) {
- return getParent().resolveAutowire(instanceInterface);
- }
- return null;
- }
-
public void prepare() throws PrepareException {
for (Service service : services) {
service.prepare();
@@ -283,120 +226,4 @@
}
}
- protected void registerAutowireExternal(Class<?> interfaze, Service service) throws InvalidAutowireInterface {
- if (interfaze == null) {
- // The ServiceContract is not from Java
- return;
- }
- if (autowireExternal.containsKey(interfaze)) {
- return;
- }
- // TODO autowire should allow multiple interfaces
- List<ServiceBinding> bindings = service.getServiceBindings();
- if (bindings.size() == 0) {
- return;
- }
- // pick the first binding until autowire allows multiple interfaces
- InboundWire wire = bindings.get(0).getInboundWire();
- if (!interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
- String iName = interfaze.getName();
- throw new InvalidAutowireInterface("Matching inbound wire not found for interface", iName);
- }
- autowireExternal.put(interfaze, wire);
- }
-
- protected void registerAutowireInternal(Class<?> interfaze, InboundWire wire) throws InvalidAutowireInterface {
- if (interfaze == null) {
- // The ServiceContract is not from Java
- return;
- }
- if (autowireInternal.containsKey(interfaze)) {
- return;
- }
- if (!interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
- String iName = interfaze.getName();
- throw new InvalidAutowireInterface("Matching inbound wire not found for interface", iName);
- }
- autowireInternal.put(interfaze, wire);
- }
-
- protected void registerAutowireInternal(Class<?> interfaze, Reference reference) throws InvalidAutowireInterface {
- if (interfaze == null) {
- // The ServiceContract is not from Java
- return;
- }
- if (autowireInternal.containsKey(interfaze)) {
- return;
- }
- List<ReferenceBinding> bindings = reference.getReferenceBindings();
- if (bindings.size() == 0) {
- return;
- }
- // pick the first binding until autowire allows multiple interfaces
- InboundWire wire = bindings.get(0).getInboundWire();
- if (!interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
- String iName = interfaze.getName();
- throw new InvalidAutowireInterface("Matching inbound wire not found for interface", iName);
- }
- autowireInternal.put(interfaze, wire);
- }
-
- protected void registerAutowireInternal(Class<?> interfaze, AtomicComponent component)
- throws InvalidAutowireInterface {
- if (interfaze == null) {
- // The ServiceContract is not from Java
- return;
- }
- if (autowireInternal.containsKey(interfaze) || component.getInboundWires().size() == 0) {
- return;
- }
- for (InboundWire wire : component.getInboundWires()) {
- if (interfaze.isAssignableFrom(wire.getServiceContract().getInterfaceClass())) {
- autowireInternal.put(interfaze, wire);
- return;
- }
- }
- throw new InvalidAutowireInterface("Matching inbound wire not found for interface", interfaze.getName());
- }
-
- protected void registerAutowire(CompositeComponent component) throws InvalidAutowireInterface {
- // the composite is under the application hierarchy so only register its non-system services
- Collection<InboundWire> wires = component.getInboundWires();
- for (InboundWire wire : wires) {
- Class<?> clazz = wire.getServiceContract().getInterfaceClass();
- registerAutowireInternal(clazz, wire);
- }
- }
-
- protected void registerAutowire(AtomicComponent component) throws InvalidAutowireInterface {
- for (InboundWire wire : component.getInboundWires()) {
- registerAutowireInternal(wire.getServiceContract().getInterfaceClass(), component);
- }
- }
-
- protected void registerAutowire(Reference reference) throws InvalidAutowireInterface {
- // TODO autowire should allow multiple interfaces
- List<ReferenceBinding> bindings = reference.getReferenceBindings();
- if (bindings.size() == 0) {
- return;
- }
- // pick the first binding until autowire allows multiple interfaces
- InboundWire wire = bindings.get(0).getInboundWire();
- Class<?> clazz = wire.getServiceContract().getInterfaceClass();
- registerAutowireInternal(clazz, reference);
-
-
- }
-
- protected void registerAutowire(Service service) throws InvalidAutowireInterface {
- // TODO autowire should allow multiple interfaces
- List<ServiceBinding> bindings = service.getServiceBindings();
- if (bindings.size() == 0) {
- return;
- }
- // pick the first binding until autowire allows multiple interfaces
- InboundWire wire = bindings.get(0).getInboundWire();
- Class<?> clazz = wire.getServiceContract().getInterfaceClass();
- registerAutowireExternal(clazz, service);
- }
}
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/MavenEmbeddedRuntime.java Sun Feb 11 10:39:43 2007
@@ -20,7 +20,7 @@
import org.apache.tuscany.core.runtime.AbstractRuntime;
import org.apache.tuscany.host.runtime.InitializationException;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
+import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.services.artifact.ArtifactRepository;
/**
@@ -39,7 +39,7 @@
getComponentManager().registerJavaObject(MavenEmbeddedArtifactRepository.COMPONENT_NAME,
ArtifactRepository.class,
artifactRepository);
- } catch (ComponentRegistrationException e) {
+ } catch (RegistrationException e) {
throw new InitializationException(e);
}
}
Modified: incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java?view=diff&rev=506088&r1=506087&r2=506088
==============================================================================
--- incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/runtime/itest/plugin/src/main/java/org/apache/tuscany/sca/plugin/itest/implementation/junit/JUnitComponentBuilder.java Sun Feb 11 10:39:43 2007
@@ -22,11 +22,6 @@
import java.lang.reflect.Member;
import java.lang.reflect.Method;
-import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
-import org.apache.tuscany.core.injection.MethodEventInvoker;
-import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.core.injection.ResourceObjectFactory;
import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.builder.BuilderConfigException;
@@ -44,6 +39,12 @@
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.PropertyValue;
+import org.apache.tuscany.core.implementation.PojoConfiguration;
+import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
+import org.apache.tuscany.core.injection.MethodEventInvoker;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.injection.ResourceObjectFactory;
+
/**
* Builds a Java-based atomic context from a component definition
*
@@ -179,9 +180,9 @@
String mappedName = resource.getMappedName();
if (mappedName == null) {
// by type
- factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+ factory = new ResourceObjectFactory<Object>(type, optional, host);
} else {
- factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+ factory = new ResourceObjectFactory<Object>(type, mappedName, optional, host);
}
component.addResourceFactory(name, factory);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org