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/02 15:32:33 UTC
svn commit: r491798 - in /incubator/tuscany/java/sca/kernel/core/src:
main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java
Author: jmarino
Date: Tue Jan 2 06:32:32 2007
New Revision: 491798
URL: http://svn.apache.org/viewvc?view=rev&rev=491798
Log:
handle illegal target types
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/ConnectorImpl.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.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=491798&r1=491797&r2=491798
==============================================================================
--- 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 Tue Jan 2 06:32:32 2007
@@ -420,6 +420,13 @@
serviceName);
}
SCAObject target = parent.getChild(targetName);
+ if (target instanceof Reference) {
+ throw new InvalidTargetTypeException("Invalid target type",
+ reference.getName(),
+ null,
+ targetName,
+ serviceName);
+ }
connect(reference, outboundWire, target);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java?view=diff&rev=491798&r1=491797&r2=491798
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/LocalReferenceWiringTestCase.java Tue Jan 2 06:32:32 2007
@@ -1,5 +1,6 @@
package org.apache.tuscany.core.builder;
+import java.util.Collections;
import javax.xml.namespace.QName;
import org.apache.tuscany.spi.QualifiedName;
@@ -111,6 +112,16 @@
}
}
+ public void testConnectLocalReferenceBindingToInvalidTarget() throws Exception {
+ createLocalReferenceToInvalidTarget();
+ try {
+ connector.connect(reference);
+ fail();
+ } catch (InvalidTargetTypeException e) {
+ // expected
+ }
+ }
+
protected void setUp() throws Exception {
super.setUp();
}
@@ -220,6 +231,21 @@
EasyMock.replay(parent);
atomicComponent = createAtomicTarget();
reference = createLocalReference(parent, TARGET_SERVICE_NAME);
+ }
+
+ private void createLocalReferenceToInvalidTarget() throws Exception {
+ CompositeComponent topComposite = EasyMock.createMock(CompositeComponent.class);
+ Reference reference = EasyMock.createNiceMock(Reference.class);
+ reference.getReferenceBindings();
+ EasyMock.expectLastCall().andReturn(Collections.emptyList());
+ EasyMock.replay(reference);
+ EasyMock.expect(topComposite.getChild(TARGET)).andReturn(reference);
+ EasyMock.replay(topComposite);
+
+ CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+ EasyMock.expect(parent.getParent()).andReturn(topComposite);
+ EasyMock.replay(parent);
+ this.reference = createLocalReference(parent, TARGET_NAME);
}
private Service createService() throws WireConnectException {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org