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/24 03:26:12 UTC
svn commit: r511192 - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/builder/
core/src/main/java/org/apache/tuscany/core/implementation/composite/
core/src/test/java/org/apache/tuscany/core/builder/ spi/src/main/java/...
Author: jmarino
Date: Fri Feb 23 18:26:11 2007
New Revision: 511192
URL: http://svn.apache.org/viewvc?view=rev&rev=511192
Log:
simplify connector by delegating target invoker creation to composites for service and referece bindings
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.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/extension/CompositeComponentExtension.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/WireDefinition.java
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java Fri Feb 23 18:26:11 2007
@@ -56,7 +56,6 @@
import org.apache.tuscany.spi.wire.Wire;
import org.apache.tuscany.spi.wire.WirePostProcessorRegistry;
-import org.apache.tuscany.core.binding.local.LocalServiceBinding;
import org.apache.tuscany.core.component.ComponentManager;
import org.apache.tuscany.core.wire.InvocationChainImpl;
import org.apache.tuscany.core.wire.InvokerInterceptor;
@@ -91,8 +90,38 @@
this.workContext = workContext;
}
-
+ /**
+ * <strong>Note this method will not work yet</strong>
+ * <p/>
+ * Wires a source and target component based on a wire defintion
+ *
+ * @param definition the wire definition
+ * @throws WiringException
+ */
public void connect(WireDefinition definition) throws WiringException {
+ URI sourceUri = definition.getSourceUri();
+ assert sourceUri != null;
+ URI targetUri = definition.getTargetUri();
+ assert targetUri != null;
+ URI baseSourceUri = UriHelper.getDefragmentedName(sourceUri);
+ URI baseTargetUri = UriHelper.getDefragmentedName(targetUri);
+ String targetFragment = targetUri.getFragment();
+ Component source = componentManager.getComponent(baseSourceUri);
+ if (source == null) {
+ throw new ComponentNotFoundException("Wire source component not found", baseSourceUri);
+ }
+ Component target = componentManager.getComponent(baseTargetUri);
+ if (target == null) {
+ throw new ComponentNotFoundException("Wire target component not found", baseTargetUri);
+ }
+ ServiceContract<?> contract = null;
+ Wire wire = createWire(sourceUri, targetUri, contract, definition.getBindingType());
+ try {
+ attachInvokers(targetFragment, wire, source, target);
+ } catch (TargetInvokerCreationException e) {
+ throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
+ }
+ source.attachWire(wire);
throw new UnsupportedOperationException();
}
@@ -135,54 +164,10 @@
String fragment = uri.getFragment();
URI sourceURI = refDefinition.getUri();
Wire wire = createWire(sourceURI, uri, refDefinition.getServiceContract(), Wire.LOCAL_BINDING);
- if (fragment == null) {
- try {
- // add target invokers
- attachInvokers(wire, source, target);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
- } else {
- if (target instanceof CompositeComponent) {
- CompositeComponent composite = (CompositeComponent) target;
- Service service = composite.getService(fragment);
- if (service != null) {
- if (service.getServiceBindings().isEmpty()) {
- // for now, throw an assertion exception.
- // We will need to choose bindings during allocation
- throw new AssertionError();
- }
- ServiceBinding binding = service.getServiceBindings().get(0);
- try {
- // add target invokers
- attachInvokers(wire, source, binding);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
- }
- Reference reference = composite.getReference(fragment);
- if (reference != null) {
- ReferenceBinding binding = reference.getReferenceBindings().get(0);
- try {
- // add target invokers
- attachInvokers(wire, source, binding);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
- } else if (refDefinition.isRequired()) {
- throw new ComponentNotFoundException("Target not found", targetUri);
- } else if (wire == null) {
- continue;
- }
- } else {
- // atomic component
- try {
- // add target invokers
- attachInvokers(wire, source, target);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
- }
+ try {
+ attachInvokers(fragment, wire, source, target);
+ } catch (TargetInvokerCreationException e) {
+ throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
}
if (postProcessorRegistry != null) {
postProcessorRegistry.process(wire);
@@ -204,81 +189,50 @@
}
}
+ /**
+ * @deprecated
+ */
protected void connect(ServiceDefinition definition) throws WiringException {
URI uri = definition.getUri();
URI sourceUri = UriHelper.getDefragmentedName(uri);
- URI targetUri = UriHelper.getDefragmentedName(definition.getTarget());
+ URI targetUri = definition.getTarget();
+ URI baseTargetUri = UriHelper.getDefragmentedName(targetUri);
Component source = componentManager.getComponent(sourceUri);
if (source == null) {
throw new ComponentNotFoundException("Source not found", sourceUri);
}
if (!(source instanceof CompositeComponent)) {
// this should not happen
- throw new InvalidSourceTypeException("Illegal source type", uri, targetUri);
+ throw new InvalidSourceTypeException("Illegal source type", uri, baseTargetUri);
}
CompositeComponent sourceComposite = (CompositeComponent) source;
Service service = sourceComposite.getService(uri.getFragment());
if (service == null) {
throw new SourceServiceNotFoundException("Service not found on composite", uri);
}
- Component target = componentManager.getComponent(targetUri);
+ Component target = componentManager.getComponent(baseTargetUri);
if (target == null) {
throw new ComponentNotFoundException("Target not found", sourceUri);
}
ServiceContract<?> contract = definition.getServiceContract();
- if (target instanceof CompositeComponent) {
- String fragment = definition.getTarget().getFragment();
- CompositeComponent targetComposite = (CompositeComponent) target;
- Invocable invocable;
- Reference targetReference = targetComposite.getReference(fragment);
- if (targetReference == null) {
- Service targetService = targetComposite.getService(fragment);
- if (targetService == null) {
- throw new TargetServiceNotFoundException("Service not found", sourceUri, definition.getTarget());
- }
- // TODO select binding in allocator
- if (targetService.getServiceBindings().isEmpty()) {
- invocable = new LocalServiceBinding(service.getUri());
- } else {
- invocable = targetService.getServiceBindings().get(0);
- }
- } else {
- if (targetReference.getReferenceBindings().isEmpty()) {
- throw new NoBindingException("No binding specified for wire", sourceUri, targetUri);
- } else {
- invocable = targetReference.getReferenceBindings().get(0);
- }
- }
- for (ServiceBinding binding : service.getServiceBindings()) {
- Wire wire = createWire(uri, targetUri, contract, binding.getBindingType());
- binding.setWire(wire);
- if (postProcessorRegistry != null) {
- postProcessorRegistry.process(wire);
- }
- try {
- attachInvokers(wire, binding, invocable);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
+ // TODO if no binding, do local
+ for (ServiceBinding binding : service.getServiceBindings()) {
+ Wire wire = createWire(uri, targetUri, contract, binding.getBindingType());
+ binding.setWire(wire);
+ if (postProcessorRegistry != null) {
+ postProcessorRegistry.process(wire);
}
-
- } else {
- // TODO if no binding, do local
- for (ServiceBinding binding : service.getServiceBindings()) {
- Wire wire = createWire(uri, targetUri, contract, binding.getBindingType());
- binding.setWire(wire);
- if (postProcessorRegistry != null) {
- postProcessorRegistry.process(wire);
- }
- try {
- attachInvokers(wire, binding, target);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
+ try {
+ attachInvokers(definition.getTarget().getFragment(), wire, binding, target);
+ } catch (TargetInvokerCreationException e) {
+ throw new WireCreationException("Error creating invoker", sourceUri, baseTargetUri, e);
}
}
}
+ /**
+ * @deprecated
+ */
protected void connect(ReferenceDefinition definition) throws WiringException {
URI uri = definition.getUri();
URI sourceUri = UriHelper.getDefragmentedName(uri);
@@ -308,40 +262,10 @@
if (target == null) {
throw new ComponentNotFoundException("Target not found", sourceUri);
}
- if (target instanceof CompositeComponent) {
- String fragment = targetUri.getFragment();
- CompositeComponent targetComposite = (CompositeComponent) target;
- Invocable invocable;
- Reference targetReference = targetComposite.getReference(fragment);
- if (targetReference == null) {
- Service targetService = targetComposite.getService(fragment);
- if (targetService == null) {
- throw new TargetServiceNotFoundException("Service not found", sourceUri, targetUri);
- }
- // TODO select binding in allocator
- if (targetService.getServiceBindings().isEmpty()) {
- throw new NoBindingException("No binding specified for wire", sourceUri, targetUri);
- } else {
- invocable = targetService.getServiceBindings().get(0);
- }
- } else {
- if (targetReference.getReferenceBindings().isEmpty()) {
- throw new NoBindingException("No binding specified for wire", sourceUri, targetUri);
- } else {
- invocable = targetReference.getReferenceBindings().get(0);
- }
- }
- try {
- attachInvokers(wire, binding, invocable);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
- } else {
- try {
- attachInvokers(wire, binding, target);
- } catch (TargetInvokerCreationException e) {
- throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
- }
+ try {
+ attachInvokers(targetUri.getFragment(), wire, binding, target);
+ } catch (TargetInvokerCreationException e) {
+ throw new WireCreationException("Error creating invoker", sourceUri, targetUri, e);
}
} else {
Wire wire = createWire(sourceUri, null, binding.getBindingServiceContract(), binding.getBindingType());
@@ -378,10 +302,10 @@
return wire;
}
- private void attachInvokers(Wire wire, Invocable source, Invocable target)
+ private void attachInvokers(String name, Wire wire, Invocable source, Invocable target)
throws TargetInvokerCreationException {
for (InvocationChain chain : wire.getInvocationChains().values()) {
- String name = target.getUri().getFragment();
+ //String name = target.getUri().getFragment();
chain.setTargetInvoker(target.createTargetInvoker(name, chain.getOperation()));
}
for (InvocationChain chain : wire.getCallbackInvocationChains().values()) {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java Fri Feb 23 18:26:11 2007
@@ -25,11 +25,8 @@
import org.w3c.dom.Document;
-import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.extension.CompositeComponentExtension;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.core.component.event.ComponentStop;
@@ -63,7 +60,6 @@
initialized = true;
lifecycleState = INITIALIZED;
}
-// publish(new ComponentStart(this, getUri()));
}
public void stop() {
@@ -87,11 +83,6 @@
}
checkInit();
super.publish(event);
- }
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation)
- throws TargetInvokerCreationException {
- return null;
}
/**
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/AtomicConnectorTestCase.java Fri Feb 23 18:26:11 2007
@@ -35,9 +35,9 @@
import org.apache.tuscany.spi.model.Property;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.ReferenceTarget;
+import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.model.ServiceDefinition;
-import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.Wire;
import junit.framework.TestCase;
@@ -113,7 +113,6 @@
manager.register(source);
ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
- EasyMock.expect(binding.getUri()).andReturn(TARGET).atLeastOnce();
binding.createTargetInvoker(EasyMock.isA(String.class), EasyMock.isA(Operation.class));
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(binding);
@@ -155,7 +154,6 @@
manager.register(source);
ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
- EasyMock.expect(binding.getUri()).andReturn(TARGET).atLeastOnce();
binding.createTargetInvoker(EasyMock.isA(String.class), EasyMock.isA(Operation.class));
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(binding);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ReferenceConnectorTestCase.java Fri Feb 23 18:26:11 2007
@@ -108,7 +108,6 @@
component.register(reference);
ReferenceBinding refBinding = EasyMock.createMock(ReferenceBinding.class);
- EasyMock.expect(refBinding.getUri()).andReturn(REFERENCE_TARGET).atLeastOnce();
refBinding.createTargetInvoker(EasyMock.isA(String.class), EasyMock.isA(Operation.class));
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(refBinding);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ServiceConnectorTestCase.java Fri Feb 23 18:26:11 2007
@@ -105,7 +105,6 @@
component.register(service);
ReferenceBinding refBinding = EasyMock.createMock(ReferenceBinding.class);
- EasyMock.expect(refBinding.getUri()).andReturn(REFERENCE_TARGET).atLeastOnce();
refBinding.createTargetInvoker(EasyMock.isA(String.class), EasyMock.isA(Operation.class));
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(refBinding);
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=511192&r1=511191&r2=511192
==============================================================================
--- 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 Fri Feb 23 18:26:11 2007
@@ -18,8 +18,6 @@
*/
package org.apache.tuscany.spi.component;
-import java.util.List;
-
import org.w3c.dom.Document;
import org.apache.tuscany.spi.event.RuntimeEventListener;
@@ -66,25 +64,11 @@
Service getService(String name);
/**
- * Returns the services for the component
- *
- * @return the services for the component
- */
- List<Service> getServices();
-
- /**
* Returns the reference with the given name or null if not found
*
* @param name the reference name which is relative to the composite
* @return the reference with the given name or null if not found
*/
Reference getReference(String name);
-
- /**
- * Returns the references for the component
- *
- * @return the references for the component
- */
- List<Reference> getReferences();
}
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=511192&r1=511191&r2=511192
==============================================================================
--- 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 Fri Feb 23 18:26:11 2007
@@ -20,7 +20,6 @@
import java.net.URI;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -30,11 +29,16 @@
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.DuplicateNameException;
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.TargetInvokerCreationException;
import org.apache.tuscany.spi.event.Event;
+import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.wire.TargetInvoker;
/**
* An extension point for composite components, which new types may extend
@@ -64,14 +68,6 @@
return propertyValues.get(name);
}
- public List<Service> getServices() {
- return Collections.unmodifiableList(services);
- }
-
- public List<Reference> getReferences() {
- return Collections.unmodifiableList(references);
- }
-
public Service getService(String name) {
if (name == null) {
if (services.size() == 1) {
@@ -128,4 +124,28 @@
}
}
+ public TargetInvoker createTargetInvoker(String name, Operation operation)
+ throws TargetInvokerCreationException {
+ Service service = getService(name);
+ if (service != null) {
+ if (service.getServiceBindings().isEmpty()) {
+ // for now, throw an assertion exception.
+ // We will need to choose bindings during allocation
+ throw new AssertionError();
+ }
+ ServiceBinding binding = service.getServiceBindings().get(0);
+ return binding.createTargetInvoker(name, operation);
+ }
+ Reference reference = getReference(name);
+ if (reference != null) {
+ if (reference.getReferenceBindings().isEmpty()) {
+ // for now, throw an assertion exception.
+ // We will need to choose bindings during allocation
+ throw new AssertionError();
+ }
+ ReferenceBinding binding = reference.getReferenceBindings().get(0);
+ binding.createTargetInvoker(name, operation);
+ }
+ return null;
+ }
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/WireDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/WireDefinition.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/WireDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/WireDefinition.java Fri Feb 23 18:26:11 2007
@@ -22,6 +22,7 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
+import javax.xml.namespace.QName;
import org.apache.tuscany.spi.model.ModelObject;
@@ -32,15 +33,35 @@
* @version $Rev$ $Date$
*/
public class WireDefinition extends ModelObject {
-
- // The resolved URI of the wire
- private URI wireUri;
-
+ private QName bindingType;
+ // The resolved source URI of the wire
+ private URI sourceUri;
+ // The resolved source URI of the wire
+ private URI targetUri;
// Interceptors defined against the wire
private final Set<InterceptorDefinition> interceptors = new HashSet<InterceptorDefinition>();
/**
+ * Returns the wire binding type.
+ *
+ * @return the binding type of the wire.
+ */
+ public QName getBindingType() {
+ return bindingType;
+ }
+
+ /**
+ * Sets the wire binding type
+ *
+ * @param bindingType the wire binding type
+ */
+ public void setBindingType(QName bindingType) {
+ this.bindingType = bindingType;
+ }
+
+ /**
* Returns a read-only view of the available interceptors.
+ *
* @return List of interceptors available on the wire.
*/
public Set<InterceptorDefinition> getInterceptors() {
@@ -49,6 +70,7 @@
/**
* Adds an interceptor definition.
+ *
* @param interceptorDefinition Interceptor definition to add to the wire.
*/
public void addInterceptor(InterceptorDefinition interceptorDefinition) {
@@ -61,19 +83,40 @@
}
/**
- * Sets the Wire URI.
- * @param wireUri Wire URI.
+ * Sets the Wire source URI.
+ *
+ * @param sourceUri Wire source URI.
+ */
+ public void setSourceUri(URI sourceUri) {
+ this.sourceUri = sourceUri;
+ }
+
+ /**
+ * Gets the Wire source URI.
+ *
+ * @return Wire source URI.
+ */
+ public URI getSourceUri() {
+ return sourceUri;
+ }
+
+
+ /**
+ * Sets the Wire target URI.
+ *
+ * @param targetUri Wire source URI.
*/
- public void setWireUri(URI wireUri) {
- this.wireUri = wireUri;
+ public void setTargetUri(URI targetUri) {
+ this.targetUri = targetUri;
}
/**
- * Gets the Wire URI.
- * @return Wire URI.
+ * Gets the Wire target URI.
+ *
+ * @return Wire target URI.
*/
- public URI getWireUri() {
- return wireUri;
+ public URI getTargetUri() {
+ return targetUri;
}
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java?view=diff&rev=511192&r1=511191&r2=511192
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/CompositeComponentExtensionTestCase.java Fri Feb 23 18:26:11 2007
@@ -18,17 +18,17 @@
*/
package org.apache.tuscany.spi.extension;
+import java.lang.reflect.Type;
import java.net.URI;
+import java.util.ArrayList;
import java.util.List;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.TargetInvokerCreationException;
+import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.spi.wire.Wire;
import junit.framework.TestCase;
@@ -73,21 +73,30 @@
assertNotNull(composite.getReference(null));
}
+ public void testCreateTargetInvoker() throws Exception {
+ ServiceBinding binding = EasyMock.createMock(ServiceBinding.class);
+ EasyMock.expect(binding.createTargetInvoker(EasyMock.eq("service"), EasyMock.isA(Operation.class)))
+ .andReturn(null);
+ EasyMock.replay(binding);
+ List<ServiceBinding> bindings = new ArrayList<ServiceBinding>();
+ bindings.add(binding);
+ Service service = EasyMock.createMock(Service.class);
+ EasyMock.expect(service.getUri()).andReturn(URI.create("composite#service")).atLeastOnce();
+ EasyMock.expect(service.getServiceBindings()).andReturn(bindings).atLeastOnce();
+ EasyMock.replay(service);
+ composite.register(service);
+ Operation<Type> operation = new Operation<Type>("op", null, null, null);
+ composite.createTargetInvoker("service", operation);
+ EasyMock.verify(binding);
+
+ }
+
protected void setUp() throws Exception {
super.setUp();
contract = new ServiceContract<Object>(Object.class) {
};
composite = new CompositeComponentExtension(new URI("foo"), null) {
-
- public TargetInvoker createTargetInvoker(String targetName, Operation operation)
- throws TargetInvokerCreationException {
- throw new UnsupportedOperationException();
- }
-
- public void setScopeContainer(ScopeContainer scopeContainer) {
- throw new UnsupportedOperationException();
- }
public List<Wire> getWires(String name) {
throw new UnsupportedOperationException();
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org