Author: jmarino
Date: Mon Feb 19 11:48:46 2007
New Revision: 509317
URL: http://svn.apache.org/viewvc?view=rev&rev=509317
Log:
fix assertion error where a provider has a callback but no clients are wired to
it
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=509317&r1=509316&r2=509317
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
Mon Feb 19 11:48:46 2007
@@ -231,8 +231,8 @@
for (Map.Entry<String, Member> entry : callbackSites.entrySet()) {
List<Wire> wires = callBackwires.get(entry.getKey());
if (wires == null) {
- // this is a programming error
- throw new AssertionError("Start called before wires were
added");
+ // this can happen when there are no clients wires to a
component that has a callback
+ continue;
}
Member member = entry.getValue();
if (member instanceof Field) {
Modified:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java?view=diff&rev=509317&r1=509316&r2=509317
==============================================================================
---
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java
(original)
+++
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java
Mon Feb 19 11:48:46 2007
@@ -23,6 +23,7 @@
import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
+import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.TargetInvoker;
@@ -52,6 +53,19 @@
}
@SuppressWarnings({"unchecked"})
+ public void testNoCallbackWires() throws Exception {
+ ScopeContainer container = EasyMock.createMock(ScopeContainer.class);
+ EasyMock.expect(container.getScope()).andReturn(Scope.CONVERSATION);
+ container.register(EasyMock.isA(AtomicComponent.class));
+ EasyMock.replay(container);
+ config.addCallbackSite("callback", Foo.class.getMethod("setCallback",
Object.class));
+ AtomicComponent component = new TestAtomicComponent(config);
+ component.setScopeContainer(container);
+ component.start();
+ EasyMock.verify(container);
+ }
+
+ @SuppressWarnings({"unchecked"})
public void testInit() throws Exception {
EventInvoker<Object> invoker = EasyMock.createMock(EventInvoker.class);
invoker.invokeEvent(EasyMock.notNull());
@@ -164,6 +178,10 @@
private static class Foo {
public Foo() {
+ }
+
+ public void setCallback(Object callback){
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]