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/01/07 11:38:02 UTC
svn commit: r493691 - in /incubator/tuscany/java/sca/kernel/core/src:
main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java
test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java
Author: jmarino
Date: Sun Jan 7 02:38:01 2007
New Revision: 493691
URL: http://svn.apache.org/viewvc?view=rev&rev=493691
Log:
more context refactoring
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java?view=diff&rev=493691&r1=493690&r2=493691
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContext.java Sun Jan 7 02:38:01 2007
@@ -25,6 +25,7 @@
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.ReferenceBinding;
import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.Service;
@@ -92,8 +93,17 @@
if (wire == null) {
throw new ServiceRuntimeException("Local binding for service not found [" + name + "]");
}
- } else if (child instanceof ReferenceBinding) {
- wire = ((ReferenceBinding) child).getInboundWire();
+ } else if (child instanceof Reference) {
+ Reference service = (Reference) child;
+ for (ReferenceBinding binding : service.getReferenceBindings()) {
+ if (Wire.LOCAL_BINDING.equals(binding.getInboundWire().getBindingType())) {
+ wire = binding.getInboundWire();
+ break;
+ }
+ }
+ if (wire == null) {
+ throw new ServiceRuntimeException("Local binding for service not found [" + name + "]");
+ }
} else if (child == null) {
throw new ServiceRuntimeException("Service not found [" + serviceName + "]");
} else {
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java?view=diff&rev=493691&r1=493690&r2=493691
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeContextTestCase.java Sun Jan 7 02:38:01 2007
@@ -7,12 +7,14 @@
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;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.Wire;
import org.apache.tuscany.spi.wire.WireService;
import junit.framework.TestCase;
@@ -177,17 +179,21 @@
public void testReferenceLocate() throws Exception {
InboundWire wire = EasyMock.createMock(InboundWire.class);
EasyMock.expect(wire.isOptimizable()).andReturn(false);
+ EasyMock.expect(wire.getBindingType()).andReturn(Wire.LOCAL_BINDING);
EasyMock.replay(wire);
- ReferenceBinding child = EasyMock.createMock(ReferenceBinding.class);
- EasyMock.expect(child.getInboundWire()).andReturn(wire);
- EasyMock.replay(child);
+
+ ReferenceBinding binding = EasyMock.createMock(ReferenceBinding.class);
+ EasyMock.expect(binding.getInboundWire()).andReturn(wire).atLeastOnce();
+ binding.setReference(EasyMock.isA(Reference.class));
+ EasyMock.replay(binding);
+ Reference reference = new ReferenceImpl("Foo", null, null);
+ reference.addReferenceBinding(binding);
CompositeComponent composite = EasyMock.createMock(CompositeComponent.class);
- EasyMock.expect(composite.getChild("Foo")).andReturn(child);
+ EasyMock.expect(composite.getChild("Foo")).andReturn(reference);
EasyMock.replay(composite);
-
WireService service = EasyMock.createMock(WireService.class);
EasyMock.expect(
- service.createProxy(EasyMock.eq(AbstractCompositeContextTestCase.FooService.class), EasyMock.eq(wire)))
+ service.createProxy(EasyMock.eq(FooService.class), EasyMock.eq(wire)))
.andReturn(new AbstractCompositeContextTestCase.FooService() {
});
EasyMock.replay(service);
@@ -196,7 +202,7 @@
EasyMock.verify(service);
EasyMock.verify(composite);
EasyMock.verify(wire);
- EasyMock.verify(child);
+ EasyMock.verify(binding);
}
public void testCompositeLocate() throws Exception {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org