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 2006/12/31 19:59:02 UTC
svn commit: r491465 [2/3] - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/binding/local/
kernel/core/src/main/java/org/apache/tuscany/core/builder/
kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/ ...
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java Sun Dec 31 10:58:58 2006
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.core.loader;
+import java.util.ArrayList;
+import java.util.List;
import javax.xml.namespace.QName;
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
@@ -33,8 +35,11 @@
import org.apache.tuscany.spi.extension.LoaderExtension;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.loader.UnrecognizedElementException;
import org.apache.tuscany.spi.model.BindingDefinition;
import org.apache.tuscany.spi.model.BoundReferenceDefinition;
+import org.apache.tuscany.spi.model.ComponentType;
+import org.apache.tuscany.spi.model.CompositeComponentType;
import org.apache.tuscany.spi.model.ModelObject;
import org.apache.tuscany.spi.model.Multiplicity;
import org.apache.tuscany.spi.model.ReferenceDefinition;
@@ -65,33 +70,28 @@
String name = reader.getAttributeValue(null, "name");
Multiplicity multiplicity =
StAXUtil.multiplicity(reader.getAttributeValue(null, "multiplicity"), Multiplicity.ONE_ONE);
- BindingDefinition binding = null;
- ServiceContract serviceContract = null;
+ List<BindingDefinition> bindings = new ArrayList<BindingDefinition>();
+ ServiceContract<?> contract = null;
while (true) {
switch (reader.next()) {
case START_ELEMENT:
ModelObject o = registry.load(parent, null, reader, deploymentContext);
if (o instanceof ServiceContract) {
- serviceContract = (ServiceContract) o;
+ contract = (ServiceContract) o;
} else if (o instanceof BindingDefinition) {
- binding = (BindingDefinition) o;
+ bindings.add((BindingDefinition) o);
+ } else {
+ throw new UnrecognizedElementException(reader.getName());
}
- reader.next();
break;
case END_ELEMENT:
- if (binding == null) {
- ReferenceDefinition referenceDefinition = new ReferenceDefinition(name, serviceContract);
- referenceDefinition.setMultiplicity(multiplicity);
- return referenceDefinition;
- } else {
- BoundReferenceDefinition<BindingDefinition> referenceDefinition =
- new BoundReferenceDefinition<BindingDefinition>();
- referenceDefinition.setName(name);
- referenceDefinition.setServiceContract(serviceContract);
+ if (object instanceof ComponentType && !(object instanceof CompositeComponentType)) {
+ // loading a reference in a component type side file
+ ReferenceDefinition referenceDefinition = new ReferenceDefinition(name, contract);
referenceDefinition.setMultiplicity(multiplicity);
- referenceDefinition.setBinding(binding);
return referenceDefinition;
}
+ return new BoundReferenceDefinition(name, contract, bindings, multiplicity);
}
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java Sun Dec 31 10:58:58 2006
@@ -22,14 +22,11 @@
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
-import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.ComponentType;
-import org.apache.tuscany.spi.model.CompositeComponentType;
import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.ReferenceDefinition;
@@ -44,7 +41,7 @@
import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.spi.wire.WireService;
-import org.apache.tuscany.core.implementation.composite.CompositeReference;
+import org.apache.tuscany.core.binding.local.LocalReferenceBinding;
/**
* Base class for wire service extensions
@@ -123,24 +120,9 @@
Implementation<?> implementation = definition.getImplementation();
ComponentType<?, ?, ?> componentType = implementation.getComponentType();
for (ServiceDefinition service : componentType.getServices().values()) {
- if (componentType instanceof CompositeComponentType<?, ?, ?>) {
- // If this is the case, then it means that component has already been returned
- // by CompositeBuilder and thus its children, in particular composite services,
- // have been registered
- CompositeComponent compositeComponent = (CompositeComponent) component;
- Service serviceChild;
- if (component.isSystem()) {
- // FIXME JFM test
- serviceChild = (Service) compositeComponent.getSystemChild(service.getName());
- } else {
- serviceChild = (Service) compositeComponent.getChild(service.getName());
- }
- assert serviceChild != null;
- } else {
- InboundWire wire = createWire(service);
- wire.setContainer(component);
- component.addInboundWire(wire);
- }
+ InboundWire wire = createWire(service);
+ wire.setContainer(component);
+ component.addInboundWire(wire);
}
for (ReferenceTarget referenceTarget : definition.getReferenceTargets().values()) {
@@ -150,53 +132,48 @@
OutboundWire wire = createWire(referenceTarget, mappedReference);
wire.setContainer(component);
component.addOutboundWire(wire);
- if (componentType instanceof CompositeComponentType<?, ?, ?>) {
- // If this is the case, then it means that component has already been returned
- // by CompositeBuilder and thus its children, in particular composite references,
- // have been registered
- CompositeComponent compositeComponent = (CompositeComponent) component;
- Reference reference = (Reference) compositeComponent.getChild(referenceTarget.getReferenceName());
- assert reference != null;
- if (reference instanceof CompositeReference) {
- reference.setOutboundWire(wire);
- // Notice that now the more immediate container of the wire is the composite reference
- wire.setContainer(reference);
- }
- }
}
}
- public void createWires(Reference reference, ServiceContract<?> contract) {
+ public void createWires(ReferenceBinding referenceBinding, ServiceContract<?> contract, QualifiedName targetName) {
InboundWire inboundWire = new InboundWireImpl();
inboundWire.setServiceContract(contract);
- inboundWire.setContainer(reference);
+ inboundWire.setContainer(referenceBinding);
for (Operation<?> operation : contract.getOperations().values()) {
InboundInvocationChain chain = createInboundChain(operation);
inboundWire.addInvocationChain(operation, chain);
}
OutboundWire outboundWire = new OutboundWireImpl();
+ outboundWire.setTargetName(targetName);
// [rfeng] Check if the Reference has the binding contract
- ServiceContract<?> bindingContract = reference.getBindingServiceContract();
+ ServiceContract<?> bindingContract = referenceBinding.getBindingServiceContract();
if (bindingContract == null) {
bindingContract = contract;
}
outboundWire.setServiceContract(bindingContract);
- outboundWire.setContainer(reference);
+ outboundWire.setContainer(referenceBinding);
for (Operation<?> operation : bindingContract.getOperations().values()) {
OutboundInvocationChain chain = createOutboundChain(operation);
- chain.addInterceptor(new InvokerInterceptor());
+ if (referenceBinding instanceof LocalReferenceBinding) {
+ // Not ideal but the local binding case is special as its inbound and outbound wires are connected
+ // before the outbound wire is connected to the reference target. This requires the binding outbound
+ // chain to have an interceptor to connect to from the binding inbound chain. This outbound
+ // interceptor will then be bridged to the head target interceptor
+ chain.addInterceptor(new SynchronousBridgingInterceptor());
+ } else {
+ chain.addInterceptor(new InvokerInterceptor());
+ }
outboundWire.addInvocationChain(operation, chain);
}
// Notice that we skip inboundWire.setCallbackReferenceName
// First, an inbound wire's callbackReferenceName is only retrieved by JavaAtomicComponent
// to create a callback injector based on the callback reference member; a composite reference
- // should not need to do that
- // Second, a reference definition does not have a callback reference name like a service
- // definition does
- reference.setInboundWire(inboundWire);
- reference.setOutboundWire(outboundWire);
+ // should not need to do that. Second, a reference definition does not have a callback reference name
+ // like a service definition does
+ referenceBinding.setInboundWire(inboundWire);
+ referenceBinding.setOutboundWire(outboundWire);
}
public void createWires(ServiceBinding serviceBinding, String targetName, ServiceContract<?> contract) {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/composite.scdl Sun Dec 31 10:58:58 2006
@@ -42,7 +42,4 @@
<component name="composite.builder">
<system:implementation.system class="org.apache.tuscany.core.implementation.composite.CompositeBuilder"/>
</component>
- <component name="composite.bindlessbuilder">
- <system:implementation.system class="org.apache.tuscany.core.implementation.composite.CompositeBindlessBuilder"/>
- </component>
</composite>
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractLocalTargetInvokerTestCase.java (from r491325, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractCompositeTargetInvokerTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractLocalTargetInvokerTestCase.java?view=diff&rev=491465&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractCompositeTargetInvokerTestCase.java&r1=491325&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractLocalTargetInvokerTestCase.java&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractCompositeTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractLocalTargetInvokerTestCase.java Sun Dec 31 10:58:58 2006
@@ -32,10 +32,10 @@
/**
* @version $Rev$ $Date$
*/
-public class AbstractCompositeTargetInvokerTestCase extends TestCase {
+public class AbstractLocalTargetInvokerTestCase extends TestCase {
public void testInvokerWithInterceptor() throws Throwable {
- AbstractCompositeTargetInvoker invoker = new MockTargetInvoker();
+ AbstractLocalTargetInvoker invoker = new MockTargetInvoker();
Interceptor interceptor = EasyMock.createMock(Interceptor.class);
interceptor.invoke(EasyMock.isA(Message.class));
EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>() {
@@ -57,7 +57,7 @@
}
public void testShortCircuitInvoke() throws Throwable {
- AbstractCompositeTargetInvoker invoker = new MockTargetInvoker();
+ AbstractLocalTargetInvoker invoker = new MockTargetInvoker();
TargetInvoker targetInvoker = EasyMock.createMock(TargetInvoker.class);
EasyMock.expect(targetInvoker.invoke(EasyMock.isA(Message.class))).andReturn(new MessageImpl());
EasyMock.replay(targetInvoker);
@@ -69,7 +69,7 @@
EasyMock.verify(targetInvoker);
}
- private class MockTargetInvoker extends AbstractCompositeTargetInvoker {
+ private class MockTargetInvoker extends AbstractLocalTargetInvoker {
public Message invoke(Message msg) throws InvocationRuntimeException {
return null;
}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractLocalTargetInvokerTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/AbstractLocalTargetInvokerTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingLoaderTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingLoaderTestCase.java Sun Dec 31 10:58:58 2006
@@ -18,18 +18,37 @@
*/
package org.apache.tuscany.core.binding.local;
+import javax.xml.stream.XMLStreamReader;
+
import org.apache.tuscany.spi.model.ModelObject;
import junit.framework.TestCase;
+import org.easymock.EasyMock;
/**
* @version $Rev$ $Date$
*/
public class LocalBindingLoaderTestCase extends TestCase {
- public void testLoader() throws Exception {
+ public void testLoaderNoUri() throws Exception {
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.getAttributeValue((String) EasyMock.isNull(), EasyMock.eq("uri"))).andReturn(null);
+ EasyMock.replay(reader);
+ LocalBindingLoader loader = new LocalBindingLoader();
+ ModelObject o = loader.load(null, null, reader, null);
+ assertEquals(LocalBindingDefinition.class, o.getClass());
+ EasyMock.verify(reader);
+ }
+
+ public void testLoaderUri() throws Exception {
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.getAttributeValue((String) EasyMock.isNull(), EasyMock.eq("uri"))).andReturn("foo");
+ EasyMock.replay(reader);
LocalBindingLoader loader = new LocalBindingLoader();
- ModelObject o = loader.load(null, null, null, null);
+ ModelObject o = loader.load(null, null, reader, null);
assertEquals(LocalBindingDefinition.class, o.getClass());
+ assertEquals("foo", ((LocalBindingDefinition) o).getTargetUri().toString());
+ EasyMock.verify(reader);
}
+
}
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java (from r491316, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java?view=diff&rev=491465&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java&r1=491316&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java Sun Dec 31 10:58:58 2006
@@ -1,4 +1,4 @@
-package org.apache.tuscany.core.implementation.composite;
+package org.apache.tuscany.core.binding.local;
import java.lang.reflect.Type;
import java.util.HashMap;
@@ -17,11 +17,11 @@
/**
* @version $Rev$ $Date$
*/
-public class CompositeReferenceCallbackTargetInvokerInvocationExceptionTestCase extends TestCase {
+public class LocalCallbackTargetInvokerInvocationExceptionTestCase extends TestCase {
private InboundWire wire;
private Message message;
private OutboundInvocationChain chain;
- private CompositeReferenceCallbackTargetInvoker invoker;
+ private LocalCallbackTargetInvoker invoker;
/**
* Verfies an InvocationTargetException thrown when invoking the target is propagated to the client correctly and
@@ -55,7 +55,7 @@
wire = EasyMock.createMock(InboundWire.class);
EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
EasyMock.replay(wire);
- invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
+ invoker = new LocalCallbackTargetInvoker(operation, wire);
}
private class SomeException extends Exception {
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerInvocationExceptionTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java (from r491316, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java?view=diff&rev=491465&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java&r1=491316&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java Sun Dec 31 10:58:58 2006
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.composite;
+package org.apache.tuscany.core.binding.local;
import java.lang.reflect.Type;
import java.util.HashMap;
@@ -35,12 +35,12 @@
/**
* @version $Rev$ $Date$
*/
-public class CompositeReferenceCallbackTargetInvokerTestCase extends TestCase {
+public class LocalCallbackTargetInvokerTestCase extends TestCase {
private InboundWire wire;
private Message message;
private OutboundInvocationChain chain;
private Interceptor head;
- private CompositeReferenceCallbackTargetInvoker invoker;
+ private LocalCallbackTargetInvoker invoker;
/**
* Verfies the normal execution path through a callback
@@ -75,7 +75,7 @@
EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
EasyMock.replay(wire);
- invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
+ invoker = new LocalCallbackTargetInvoker(operation, wire);
}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java (from r491316, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java?view=diff&rev=491465&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java&r1=491316&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceCallbackTargetInvokerThrowableTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java Sun Dec 31 10:58:58 2006
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.implementation.composite;
+package org.apache.tuscany.core.binding.local;
import java.lang.reflect.Type;
import java.lang.reflect.UndeclaredThrowableException;
@@ -37,12 +37,12 @@
/**
* @version $Rev$ $Date$
*/
-public class CompositeReferenceCallbackTargetInvokerThrowableTestCase extends TestCase {
+public class LocalCallbackTargetInvokerThrowableTestCase extends TestCase {
private InboundWire wire;
private Message message;
private OutboundInvocationChain chain;
private Interceptor head;
- private CompositeReferenceCallbackTargetInvoker invoker;
+ private LocalCallbackTargetInvoker invoker;
/**
* Verfies an exception thrown in the target is propagated to the client correctly
@@ -87,7 +87,7 @@
wire = EasyMock.createMock(InboundWire.class);
EasyMock.expect(wire.getSourceCallbackInvocationChains(targetAddress)).andReturn(chains);
EasyMock.replay(wire);
- invoker = new CompositeReferenceCallbackTargetInvoker(operation, wire);
+ invoker = new LocalCallbackTargetInvoker(operation, wire);
}
private class InsidiousException extends Throwable {
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java Sun Dec 31 10:58:58 2006
@@ -30,6 +30,7 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.idl.java.JavaServiceContract;
@@ -47,6 +48,7 @@
import org.apache.tuscany.spi.wire.TargetInvoker;
import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
import org.apache.tuscany.core.implementation.composite.ServiceImpl;
import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
import org.apache.tuscany.core.wire.InboundWireImpl;
@@ -81,19 +83,22 @@
outboundWire.setTargetName(FOO_TARGET);
outboundWire.addInvocationChain(operation, outboundChain);
- Reference reference = EasyMock.createMock(Reference.class);
- EasyMock.expect(reference.getParent()).andReturn(null);
- EasyMock.expect(reference.createTargetInvoker(contract, operation)).andReturn(null);
- EasyMock.expect(reference.getInboundWire()).andReturn(inboundWire);
- EasyMock.expect(reference.getOutboundWire()).andReturn(outboundWire);
- EasyMock.expect(reference.isSystem()).andReturn(false);
- EasyMock.replay(reference);
+ ReferenceBinding referenceBinding = EasyMock.createMock(ReferenceBinding.class);
+ referenceBinding.setReference(EasyMock.isA(Reference.class));
+ EasyMock.expect(referenceBinding.createTargetInvoker(contract, operation)).andReturn(null);
+ EasyMock.expect(referenceBinding.getInboundWire()).andReturn(inboundWire);
+ EasyMock.expect(referenceBinding.getOutboundWire()).andReturn(outboundWire);
+ EasyMock.expect(referenceBinding.isSystem()).andReturn(false);
+ EasyMock.replay(referenceBinding);
+ inboundWire.setContainer(referenceBinding);
+ outboundWire.setContainer(referenceBinding);
+
+ Reference reference = new ReferenceImpl("foo", null, contract);
+ reference.addReferenceBinding(referenceBinding);
- inboundWire.setContainer(reference);
- outboundWire.setContainer(reference);
connector.connect(reference);
- EasyMock.verify(reference);
+ EasyMock.verify(referenceBinding);
Interceptor interceptor = inboundChain.getHeadInterceptor();
assertTrue(interceptor instanceof SynchronousBridgingInterceptor);
Message resp = interceptor.invoke(new MessageImpl());
@@ -265,7 +270,7 @@
EasyMock.expect(component.getName()).andReturn("foo");
EasyMock.replay(component);
- Reference target = EasyMock.createMock(Reference.class);
+ ReferenceBinding target = EasyMock.createMock(ReferenceBinding.class);
EasyMock.expect(target.createTargetInvoker(EasyMock.isA(ServiceContract.class), EasyMock.isA(Operation.class)))
.andReturn(new MockInvoker());
EasyMock.replay(target);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingWirePostProcessorTestCase.java Sun Dec 31 10:58:58 2006
@@ -33,7 +33,7 @@
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.databinding.Mediator;
import org.apache.tuscany.spi.idl.java.JavaServiceContract;
@@ -121,11 +121,11 @@
InboundWire inboundWire = createMock(InboundWire.class);
OutboundWire outboundWire = createMock(OutboundWire.class);
- Reference reference = createMock(Reference.class);
+ ReferenceBinding referenceBinding = createMock(ReferenceBinding.class);
CompositeComponent composite = createMock(CompositeComponent.class);
- expect(reference.getParent()).andReturn(composite);
- expect(inboundWire.getContainer()).andReturn(reference).anyTimes();
- expect(outboundWire.getContainer()).andReturn(reference).anyTimes();
+ expect(referenceBinding.getParent()).andReturn(composite);
+ expect(inboundWire.getContainer()).andReturn(referenceBinding).anyTimes();
+ expect(outboundWire.getContainer()).andReturn(referenceBinding).anyTimes();
Map<Operation<?>, OutboundInvocationChain> outboundChains =
new HashMap<Operation<?>, OutboundInvocationChain>();
@@ -167,7 +167,7 @@
expect(inboundWire.getServiceContract()).andReturn(contract);
expect(inboundChain.getTailInterceptor()).andReturn(null);
- EasyMock.replay(composite, reference, inboundWire, outboundWire, inboundChain, outboundChain);
+ EasyMock.replay(composite, referenceBinding, inboundWire, outboundWire, inboundChain, outboundChain);
processor.process(inboundWire, outboundWire);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AutowireTestCase.java Sun Dec 31 10:58:58 2006
@@ -23,9 +23,10 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.wire.InboundWire;
import junit.framework.TestCase;
@@ -160,18 +161,20 @@
CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
parent.start();
- Reference reference = EasyMock.createMock(Reference.class);
- EasyMock.expect(reference.getName()).andReturn("service").atLeastOnce();
- EasyMock.expect(reference.isSystem()).andReturn(true).atLeastOnce();
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ binding.setReference(EasyMock.isA(Reference.class));
InboundWire wire = TestUtils.createInboundWire(Source.class);
- wire.setContainer(reference);
- EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
- EasyMock.replay(reference);
+ wire.setContainer(binding);
+ EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
+ EasyMock.replay(binding);
+
+ Reference reference = new ReferenceImpl("foo", null, wire.getServiceContract(), true);
+ reference.addReferenceBinding(binding);
parent.register(reference);
InboundWire source = parent.resolveSystemAutowire(Source.class);
assertNotNull(source);
- EasyMock.verify(reference);
+ EasyMock.verify(binding);
}
/**
@@ -181,18 +184,20 @@
CompositeComponent parent = new CompositeComponentImpl("parent", null, null, true);
parent.start();
- Reference reference = EasyMock.createMock(Reference.class);
- EasyMock.expect(reference.getName()).andReturn("service").atLeastOnce();
- EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ binding.setReference(EasyMock.isA(Reference.class));
InboundWire wire = TestUtils.createInboundWire(Source.class);
- wire.setContainer(reference);
- EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
- EasyMock.replay(reference);
+ wire.setContainer(binding);
+ EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
+ EasyMock.replay(binding);
+
+ Reference reference = new ReferenceImpl("foo", null, wire.getServiceContract(), false);
+ reference.addReferenceBinding(binding);
parent.register(reference);
InboundWire source = parent.resolveAutowire(Source.class);
assertNotNull(source);
- EasyMock.verify(reference);
+ EasyMock.verify(binding);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeBuilderTestCase.java Sun Dec 31 10:58:58 2006
@@ -41,6 +41,7 @@
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.BoundReferenceDefinition;
import org.apache.tuscany.spi.wire.WireService;
import junit.framework.TestCase;
@@ -77,9 +78,6 @@
jBuilder.setWireService(wireService);
builderRegistry.register(JavaImplementation.class, jBuilder);
builderRegistry.register(CompositeImplementation.class, builder);
- CompositeBindlessBuilder bindlessBuilder = new CompositeBindlessBuilder();
- bindlessBuilder.setWireService(wireService);
- builderRegistry.register(bindlessBuilder);
builder.setBuilderRegistry(builderRegistry);
CompositeComponent component =
(CompositeComponent) builder.build(parent, createTopComponentDef(), deploymentContext);
@@ -112,7 +110,7 @@
CompositeComponentType<ServiceDefinition, ReferenceDefinition, JavaMappedProperty<?>> innerType =
new CompositeComponentType<ServiceDefinition, ReferenceDefinition, JavaMappedProperty<?>>();
innerType.add(createInnerSourceComponentDef());
- ReferenceDefinition reference = new ReferenceDefinition();
+ BoundReferenceDefinition reference = new BoundReferenceDefinition();
reference.setName("TargetComponentRef");
JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl();
JavaServiceContract targetContract = registry.introspect(Target.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImplBasicTestCase.java Sun Dec 31 10:58:58 2006
@@ -23,6 +23,7 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.event.RuntimeEventListener;
@@ -143,15 +144,18 @@
}
private Reference getReference(String name) throws InvalidServiceContractException {
- Reference reference = EasyMock.createNiceMock(Reference.class);
- EasyMock.expect(reference.isSystem()).andReturn(false).atLeastOnce();
+ ReferenceBinding binding = EasyMock.createNiceMock(ReferenceBinding.class);
+ EasyMock.expect(binding.isSystem()).andReturn(false).atLeastOnce();
InboundWire wire = TestUtils.createInboundWire(Bar.class);
- wire.setContainer(reference);
- EasyMock.expect(reference.getInboundWire()).andReturn(wire).atLeastOnce();
+ wire.setContainer(binding);
+ EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
- reference.getName();
+ binding.getName();
expectLastCall().andReturn(name).anyTimes();
- replay(reference);
+ replay(binding);
+
+ Reference reference = new ReferenceImpl(name, null, wire.getServiceContract());
+ reference.addReferenceBinding(binding);
return reference;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeReferenceTestCase.java Sun Dec 31 10:58:58 2006
@@ -40,7 +40,7 @@
public void testCreateTargetInvoker() throws Exception {
MyServiceContract serviceContract = new MyServiceContract();
- CompositeReference compositeReference = new CompositeReference("testCompositeReferemce", null);
+ CompositeReferenceBinding compositeReference = new CompositeReferenceBinding("testCompositeReferemce", null);
Operation operation = new Operation<Type>("sayHi", null, null, null, false, null, NO_CONVERSATION);
OutboundInvocationChain chain = EasyMock.createMock(OutboundInvocationChain.class);
EasyMock.replay(chain);
@@ -58,7 +58,7 @@
public void testCreateCallbackTargetInvoker() throws Exception {
MyServiceContract serviceContract = new MyServiceContract();
- CompositeReference compositeReference = new CompositeReference("testCompositeReferemce", null);
+ CompositeReferenceBinding compositeReference = new CompositeReferenceBinding("testCompositeReferemce", null);
Operation operation = new Operation<Type>("sayHi", null, null, null, false, null, NO_CONVERSATION);
TargetInvoker targetInvoker = compositeReference.createCallbackTargetInvoker(serviceContract, operation);
assertNotNull(targetInvoker);
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java?view=auto&rev=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java Sun Dec 31 10:58:58 2006
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ReferenceImplTestCase extends TestCase {
+
+ public void testStart() {
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ binding.setReference(EasyMock.isA(Reference.class));
+ binding.start();
+ EasyMock.replay(binding);
+ Reference reference = new ReferenceImpl(null, null, null);
+ reference.addReferenceBinding(binding);
+ reference.start();
+ EasyMock.verify(binding);
+
+ }
+
+ public void testStop() {
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ binding.setReference(EasyMock.isA(Reference.class));
+ binding.stop();
+ EasyMock.replay(binding);
+ Reference reference = new ReferenceImpl(null, null, null);
+ reference.addReferenceBinding(binding);
+ reference.stop();
+ EasyMock.verify(binding);
+
+ }
+
+ public void testIsSystem() {
+ Reference service = new ReferenceImpl(null, null, null, true);
+ assertTrue(service.isSystem());
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/ReferenceImplTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceBindingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceBindingTestCase.java?view=auto&rev=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceBindingTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceBindingTestCase.java Sun Dec 31 10:58:58 2006
@@ -0,0 +1,47 @@
+package org.apache.tuscany.core.implementation.system.component;
+
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.model.Scope;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SystemReferenceBindingTestCase extends TestCase {
+
+ public void testScope() throws Exception {
+ SystemReferenceBinding binding = new SystemReferenceBinding(null, null);
+ assertEquals(Scope.SYSTEM, binding.getScope());
+ }
+
+ public void testPrepare() throws Exception {
+ SystemReferenceBinding binding = new SystemReferenceBinding(null, null);
+ binding.prepare();
+ }
+
+ public void testIsSystemNoParent() throws Exception {
+ SystemReferenceBinding binding = new SystemReferenceBinding(null, null);
+ assertFalse(binding.isSystem());
+ }
+
+ public void testIsSystem() throws Exception {
+ Reference reference = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference.isSystem()).andReturn(true);
+ EasyMock.replay(reference);
+ SystemReferenceBinding binding = new SystemReferenceBinding(null, null);
+ binding.setReference(reference);
+ assertTrue(binding.isSystem());
+ }
+
+ public void testIsNotSystem() throws Exception {
+ Reference reference = EasyMock.createMock(Reference.class);
+ EasyMock.expect(reference.isSystem()).andReturn(false);
+ EasyMock.replay(reference);
+ SystemReferenceBinding binding = new SystemReferenceBinding(null, null);
+ binding.setReference(reference);
+ assertFalse(binding.isSystem());
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceBindingTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemReferenceBindingTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceBindingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceBindingTestCase.java?view=auto&rev=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceBindingTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceBindingTestCase.java Sun Dec 31 10:58:58 2006
@@ -0,0 +1,47 @@
+package org.apache.tuscany.core.implementation.system.component;
+
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.model.Scope;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SystemServiceBindingTestCase extends TestCase {
+
+ public void testScope() throws Exception {
+ SystemServiceBinding binding = new SystemServiceBinding(null, null, null);
+ assertEquals(Scope.SYSTEM, binding.getScope());
+ }
+
+ public void testPrepare() throws Exception {
+ SystemServiceBinding binding = new SystemServiceBinding(null, null, null);
+ binding.prepare();
+ }
+
+ public void testIsSystemNoParent() throws Exception {
+ SystemServiceBinding binding = new SystemServiceBinding(null, null, null);
+ assertFalse(binding.isSystem());
+ }
+
+ public void testIsSystem() throws Exception {
+ Service service = EasyMock.createMock(Service.class);
+ EasyMock.expect(service.isSystem()).andReturn(true);
+ EasyMock.replay(service);
+ SystemServiceBinding binding = new SystemServiceBinding(null, null, null);
+ binding.setService(service);
+ assertTrue(binding.isSystem());
+ }
+
+ public void testIsNotSystem() throws Exception {
+ Service service = EasyMock.createMock(Service.class);
+ EasyMock.expect(service.isSystem()).andReturn(false);
+ EasyMock.replay(service);
+ SystemServiceBinding binding = new SystemServiceBinding(null, null, null);
+ binding.setService(service);
+ assertFalse(binding.isSystem());
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceBindingTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceBindingTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceComponentWireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceComponentWireTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceComponentWireTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemServiceComponentWireTestCase.java Sun Dec 31 10:58:58 2006
@@ -43,7 +43,7 @@
EasyMock.replay(outboundWire);
InboundWire wire = new InboundWireImpl();
wire.setServiceContract(new JavaServiceContract(Target.class));
- ServiceBinding serviceBinding = new SystemServiceBindingImpl("serviceBinding", null, new JavaServiceContract());
+ ServiceBinding serviceBinding = new SystemServiceBinding("serviceBinding", null, new JavaServiceContract());
serviceBinding.setInboundWire(wire);
serviceBinding.setOutboundWire(outboundWire);
wire.setTargetWire(outboundWire);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/implementation/system/builder/MockComponentFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/implementation/system/builder/MockComponentFactory.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/implementation/system/builder/MockComponentFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/implementation/system/builder/MockComponentFactory.java Sun Dec 31 10:58:58 2006
@@ -151,11 +151,10 @@
}
- public static BoundReferenceDefinition<SystemBindingDefinition> createBoundReference() {
+ public static BoundReferenceDefinition createBoundReference() {
SystemBindingDefinition binding = new SystemBindingDefinition();
- BoundReferenceDefinition<SystemBindingDefinition> referenceDefinition =
- new BoundReferenceDefinition<SystemBindingDefinition>();
- referenceDefinition.setBinding(binding);
+ BoundReferenceDefinition referenceDefinition = new BoundReferenceDefinition();
+ referenceDefinition.addBinding(binding);
referenceDefinition.setName("target");
ServiceContract<?> contract = new JavaServiceContract();
contract.setInterfaceClass(Target.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/launcher/CompositeContextImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/launcher/CompositeContextImplTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/launcher/CompositeContextImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/launcher/CompositeContextImplTestCase.java Sun Dec 31 10:58:58 2006
@@ -20,7 +20,7 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.wire.InboundWire;
@@ -96,7 +96,7 @@
public void testReferenceLocate() throws Exception {
InboundWire wire = EasyMock.createMock(InboundWire.class);
EasyMock.replay(wire);
- Reference child = EasyMock.createMock(Reference.class);
+ ReferenceBinding child = EasyMock.createMock(ReferenceBinding.class);
EasyMock.expect(child.getInboundWire()).andReturn(wire);
EasyMock.replay(child);
CompositeComponent composite = EasyMock.createMock(CompositeComponent.class);
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoBindingTestCase.java (from r491325, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentTypeLoaderNoBindingTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoBindingTestCase.java?view=diff&rev=491465&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentTypeLoaderNoBindingTestCase.java&r1=491325&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoBindingTestCase.java&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentTypeLoaderNoBindingTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoBindingTestCase.java Sun Dec 31 10:58:58 2006
@@ -33,6 +33,7 @@
import org.apache.tuscany.spi.model.ModelObject;
import org.apache.tuscany.spi.model.Property;
import org.apache.tuscany.spi.model.ReferenceDefinition;
+import org.apache.tuscany.spi.model.BoundReferenceDefinition;
import junit.framework.TestCase;
import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
@@ -42,23 +43,31 @@
/**
* @version $Rev$ $Date$
*/
-public class ComponentTypeLoaderNoBindingTestCase extends TestCase {
+public class ComponentLoaderNoBindingTestCase extends TestCase {
private static final QName COMPONENT = new QName(XML_NAMESPACE_1_0, "component");
private ComponentLoader loader;
private XMLStreamReader reader;
private BoundServiceDefinition service;
+ private BoundReferenceDefinition reference;
public void testNoServiceBinding() throws Exception {
loader.load(null, null, reader, null);
assert service.getBindings().get(0) instanceof LocalBindingDefinition;
}
+ public void testNoReferenceBinding() throws Exception {
+ loader.load(null, null, reader, null);
+ assert reference.getBindings().get(0) instanceof LocalBindingDefinition;
+ }
+
protected void setUp() throws Exception {
super.setUp();
service = new BoundServiceDefinition();
+ reference = new BoundReferenceDefinition();
PojoComponentType<BoundServiceDefinition, ReferenceDefinition, Property<?>> type =
new PojoComponentType<BoundServiceDefinition, ReferenceDefinition, Property<?>>();
type.add(service);
+ type.add(reference);
JavaImplementation impl = new JavaImplementation();
impl.setComponentType(type);
LoaderRegistry registry = EasyMock.createMock(LoaderRegistry.class);
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoBindingTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ComponentLoaderNoBindingTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java?view=auto&rev=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java Sun Dec 31 10:58:58 2006
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.loader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.osoa.sca.Version;
+
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.loader.LoaderException;
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.model.BindingDefinition;
+import org.apache.tuscany.spi.model.BoundReferenceDefinition;
+import org.apache.tuscany.spi.model.ComponentType;
+import org.apache.tuscany.spi.model.Property;
+import org.apache.tuscany.spi.model.ReferenceDefinition;
+import org.apache.tuscany.spi.model.ServiceContract;
+import org.apache.tuscany.spi.model.ServiceDefinition;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.deployer.RootDeploymentContext;
+import org.easymock.EasyMock;
+
+/**
+ * Verifies loading of a reference definition from an XML-based assembly
+ *
+ * @version $Rev$ $Date$
+ */
+public class ReferenceLoaderTestCase extends TestCase {
+ private static final QName REFERENCE = new QName(Version.XML_NAMESPACE_1_0, "reference");
+
+ private ReferenceLoader loader;
+ private DeploymentContext deploymentContext;
+ private XMLStreamReader mockReader;
+ private LoaderRegistry mockRegistry;
+
+ public void testWithNoInterface() throws LoaderException, XMLStreamException {
+ String name = "referenceDefinition";
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.expect(mockReader.getAttributeValue(null, "name")).andReturn(name);
+ EasyMock.expect(mockReader.getAttributeValue(null, "multiplicity")).andReturn("0..1");
+ EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.replay(mockReader);
+ ReferenceDefinition referenceDefinition = loader.load(null, null, mockReader, null);
+ assertNotNull(referenceDefinition);
+ assertEquals(name, referenceDefinition.getName());
+ }
+
+ public void testComponentTypeService() throws LoaderException, XMLStreamException {
+ String name = "reference";
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.expect(mockReader.getAttributeValue(null, "name")).andReturn(name);
+ EasyMock.expect(mockReader.getAttributeValue(null, "multiplicity")).andReturn("0..1");
+ EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.replay(mockReader);
+ ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
+ new ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
+ ReferenceDefinition referenceDefinition = loader.load(null, type, mockReader, null);
+ assertTrue(ReferenceDefinition.class.equals(referenceDefinition.getClass()));
+ }
+
+ public void testMultipleBindings() throws LoaderException, XMLStreamException {
+ String name = "referenceDefinition";
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.expect(mockReader.getAttributeValue(null, "name")).andReturn(name);
+ EasyMock.expect(mockReader.getAttributeValue(null, "multiplicity")).andReturn("0..1");
+ EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.START_ELEMENT).times(2);
+ EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.replay(mockReader);
+
+ BindingDefinition binding = new BindingDefinition() {
+ };
+ EasyMock.expect(mockRegistry.load(null, null, mockReader, null)).andReturn(binding).times(2);
+ EasyMock.replay(mockRegistry);
+
+ BoundReferenceDefinition referenceDefinition =
+ (BoundReferenceDefinition) loader.load(null, null, mockReader, null);
+ assertEquals(2, referenceDefinition.getBindings().size());
+ }
+
+ public void testWithInterface() throws LoaderException, XMLStreamException {
+ String name = "referenceDefinition";
+ ServiceContract sc = new ServiceContract() {
+ };
+ EasyMock.expect(mockReader.getName()).andReturn(REFERENCE).anyTimes();
+ EasyMock.expect(mockReader.getAttributeValue(null, "name")).andReturn(name);
+ EasyMock.expect(mockReader.getAttributeValue(null, "multiplicity")).andReturn("0..1");
+ EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(mockRegistry.load(null, null, mockReader, deploymentContext)).andReturn(sc);
+ EasyMock.expect(mockReader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+
+ EasyMock.replay(mockReader);
+ EasyMock.replay(mockRegistry);
+
+ ReferenceDefinition referenceDefinition = loader.load(null, null, mockReader, deploymentContext);
+ assertNotNull(referenceDefinition);
+ assertEquals(name, referenceDefinition.getName());
+ assertSame(sc, referenceDefinition.getServiceContract());
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ mockReader = EasyMock.createStrictMock(XMLStreamReader.class);
+ mockRegistry = EasyMock.createMock(LoaderRegistry.class);
+ loader = new ReferenceLoader(mockRegistry);
+ deploymentContext = new RootDeploymentContext(null, null, null, null);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/ReferenceLoaderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java Sun Dec 31 10:58:58 2006
@@ -26,7 +26,7 @@
import java.util.Map;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.DataType;
@@ -46,6 +46,7 @@
import org.apache.tuscany.spi.wire.WireInvocationHandler;
import org.apache.tuscany.spi.wire.WireService;
import org.apache.tuscany.spi.wire.OutboundChainHolder;
+import org.apache.tuscany.spi.QualifiedName;
import junit.framework.TestCase;
@@ -393,7 +394,8 @@
throw new UnsupportedOperationException();
}
- public void createWires(Reference reference, ServiceContract<?> contract) {
+ public void createWires(ReferenceBinding referenceBinding, ServiceContract<?> contract,
+ QualifiedName targetName) {
throw new UnsupportedOperationException();
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java Sun Dec 31 10:58:58 2006
@@ -19,7 +19,7 @@
package org.apache.tuscany.spi.builder;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.model.BindingDefinition;
@@ -29,7 +29,7 @@
/**
* Responsible for processing a service or reference in an assembly configured with a particular binding. The builder
* will create and return corresponding {@link org.apache.tuscany.spi.component.ServiceBinding} or {@link
- * org.apache.tuscany.spi.component.Reference}
+ * org.apache.tuscany.spi.component.ReferenceBinding}
*
* @version $Rev$ $Date$
*/
@@ -50,7 +50,8 @@
B bindingDefinition,
DeploymentContext deploymentContext) throws BuilderException;
- Reference build(CompositeComponent parent,
- BoundReferenceDefinition<B> boundReferenceDefinition,
- DeploymentContext deploymentContext) throws BuilderException;
+ ReferenceBinding build(CompositeComponent parent,
+ BoundReferenceDefinition boundReferenceDefinition,
+ B bindingDefinition,
+ DeploymentContext deploymentContext) throws BuilderException;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java Sun Dec 31 10:58:58 2006
@@ -20,15 +20,13 @@
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.model.BindingDefinition;
import org.apache.tuscany.spi.model.BoundReferenceDefinition;
import org.apache.tuscany.spi.model.BoundServiceDefinition;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.Implementation;
-import org.apache.tuscany.spi.model.ReferenceDefinition;
/**
* Implementations build <code>SCAObject</code> types from model objects.
@@ -39,46 +37,38 @@
/**
* Builds a <code>Component</code> from a <code>ComponentDefinition</code>
*
- * @param parent the composite that will be the parent of the newly built component
- * @param componentDefinition the component definition as parsed from an SCA assembly
- * @param deploymentContext the current deployment context
+ * @param parent the composite that will be the parent of the newly built component
+ * @param definition the component definition as parsed from an SCA assembly
+ * @param context the current deployment context
* @return the newly created component
* @throws BuilderException
*/
<I extends Implementation<?>> Component build(CompositeComponent parent,
- ComponentDefinition<I> componentDefinition,
- DeploymentContext deploymentContext) throws BuilderException;
+ ComponentDefinition<I> definition,
+ DeploymentContext context) throws BuilderException;
/**
* Builds a <code>Service</code> and its bindings from a <code>BoundServiceDefinition</code>
*
- * @param parent the composite that will be the parent of the newly built service
- * @param serviceDefinition the service definition as parsed from an SCA assembly
- * @param deploymentContext the current deployment context
+ * @param parent the composite that will be the parent of the newly built service
+ * @param definition the service definition as parsed from an SCA assembly
+ * @param context the current deployment context
* @return the newly created service
* @throws BuilderException
*/
- Service build(CompositeComponent parent,
- BoundServiceDefinition serviceDefinition,
- DeploymentContext deploymentContext) throws BuilderException;
+ Service build(CompositeComponent parent, BoundServiceDefinition definition, DeploymentContext context)
+ throws BuilderException;
/**
* Builds a <code>Reference</code> and its bindings from a <code>BoundReferenceDefinition</code>
*
- * @param parent the composite that will be the parent of the newly built reference
- * @param referenceDefinition the reference definition as parsed from an SCA assembly
- * @param deploymentContext the current deployment context
+ * @param parent the composite that will be the parent of the newly built reference
+ * @param definition the reference definition as parsed from an SCA assembly
+ * @param context the current deployment context
* @return the newly created reference
* @throws BuilderException
*/
- <B extends BindingDefinition> SCAObject build(CompositeComponent parent,
- BoundReferenceDefinition<B> referenceDefinition,
- DeploymentContext deploymentContext) throws BuilderException;
+ Reference build(CompositeComponent parent, BoundReferenceDefinition definition, DeploymentContext context)
+ throws BuilderException;
- /**
- * @deprecated
- */
- SCAObject build(CompositeComponent parent,
- ReferenceDefinition referenceDefinition,
- DeploymentContext deploymentContext) throws BuilderException;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java Sun Dec 31 10:58:58 2006
@@ -52,9 +52,4 @@
*/
<B extends BindingDefinition> void register(Class<B> implClass, BindingBuilder<B> builder);
- /**
- * @deprecated
- */
- void register(BindlessBuilder builder);
-
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java Sun Dec 31 10:58:58 2006
@@ -74,19 +74,21 @@
*/
TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire)
throws TargetInvokerCreationException;
-
+
/**
* Gets the component definition associated with the component.
+ *
* @return Definition associated with the component.
*/
ComponentDefinition getComponentDefinition();
-
+
/**
* Gets the component definition associated with the component.
+ *
* @param definition Definition associated with the component.
- * TODO This shouldn't be mutable, rather set during construction. However,
- * passing it in the constructor of the implementing class has implications
- * in the usage of various types in the inheritance tree.
+ * TODO This shouldn't be mutable, rather set during
+ * construction. However, passing it in the constructor of the implementing class has implications
+ * in the usage of various types in the inheritance tree.
* @deprecated Remove this when immutability is enforced in the implemenation tree.
*/
void setComponentDefinition(ComponentDefinition definition);
Added: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java?view=auto&rev=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java (added)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java Sun Dec 31 10:58:58 2006
@@ -0,0 +1,34 @@
+package org.apache.tuscany.spi.component;
+
+import java.util.List;
+
+import org.apache.tuscany.spi.model.ServiceContract;
+
+/**
+ * The runtime instantiation of an SCA reference
+ *
+ * @version $Rev$ $Date$
+ */
+public interface Reference extends SCAObject {
+
+ /**
+ * Returns the contract for the reference.
+ *
+ * @return the contract for the reference.
+ */
+ ServiceContract<?> getServiceContract();
+
+ /**
+ * Returns the collection of bindings configured for the reference.
+ *
+ * @return the collection of bindings configured for the reference.
+ */
+ List<ReferenceBinding> getReferenceBindings();
+
+ /**
+ * Adds a binding the reference is configured with.
+ *
+ * @param binding the binding the reference is configured with.
+ */
+ void addReferenceBinding(ReferenceBinding binding);
+}
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ReferenceBinding.java (from r491316, incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ReferenceBinding.java?view=diff&rev=491465&p1=incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java&r1=491316&p2=incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ReferenceBinding.java&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Reference.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ReferenceBinding.java Sun Dec 31 10:58:58 2006
@@ -29,7 +29,14 @@
*
* @version $Rev$ $Date$
*/
-public interface Reference extends SCAObject {
+public interface ReferenceBinding extends SCAObject {
+
+ /**
+ * Sets the parent reference for the binding
+ *
+ * @param reference the parent reference for the binding
+ */
+ void setReference(Reference reference);
/**
* Returns the inbound wire for flowing a request through the reference
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ReferenceBinding.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ReferenceBinding.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ServiceBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ServiceBinding.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ServiceBinding.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/ServiceBinding.java Sun Dec 31 10:58:58 2006
@@ -31,6 +31,11 @@
*/
public interface ServiceBinding extends SCAObject {
+ /**
+ * Sets the parent service for the binding
+ *
+ * @param service the parent service for the binding
+ */
void setService(Service service);
/**
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/BindingBuilderExtension.java Sun Dec 31 10:58:58 2006
@@ -19,14 +19,13 @@
package org.apache.tuscany.spi.extension;
import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.builder.BindingBuilder;
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.model.BindingDefinition;
@@ -40,7 +39,6 @@
*
* @version $$Rev$$ $$Date$$
*/
-@Scope("COMPOSITE")
public abstract class BindingBuilderExtension<B extends BindingDefinition> implements BindingBuilder<B> {
protected BuilderRegistry builderRegistry;
@@ -68,9 +66,10 @@
return null;
}
- public Reference build(CompositeComponent parent,
- BoundReferenceDefinition<B> boundReferenceDefinition,
- DeploymentContext deploymentContext) throws BuilderException {
+ public ReferenceBinding build(CompositeComponent parent,
+ BoundReferenceDefinition boundReferenceDefinition,
+ B bindingDefinition,
+ DeploymentContext deploymentContext) throws BuilderException {
return null;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java?view=diff&rev=491465&r1=491464&r2=491465
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentBuilderExtension.java Sun Dec 31 10:58:58 2006
@@ -19,7 +19,6 @@
package org.apache.tuscany.spi.extension;
import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Scope;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.builder.BuilderRegistry;
@@ -28,9 +27,9 @@
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Implementation;
-import org.apache.tuscany.spi.wire.WireService;
-import org.apache.tuscany.spi.services.work.WorkScheduler;
import org.apache.tuscany.spi.policy.PolicyBuilderRegistry;
+import org.apache.tuscany.spi.services.work.WorkScheduler;
+import org.apache.tuscany.spi.wire.WireService;
import org.apache.tuscany.api.annotation.Monitor;
@@ -40,9 +39,7 @@
*
* @version $$Rev$$ $$Date$$
*/
-@Scope("COMPOSITE")
public abstract class ComponentBuilderExtension<I extends Implementation<?>> implements ComponentBuilder<I> {
-
protected BuilderRegistry builderRegistry;
protected ScopeRegistry scopeRegistry;
protected WireService wireService;
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org