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/11/27 06:30:15 UTC
svn commit: r479522 -
/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/
Author: jmarino
Date: Sun Nov 26 21:30:14 2006
New Revision: 479522
URL: http://svn.apache.org/viewvc?view=rev&rev=479522
Log:
add more testcases
Added:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java (with props)
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java (with props)
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java (with props)
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java (contents, props changed)
- copied, changed from r479410, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/BasicConversationInvocationTestCase.java
Removed:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/BasicConversationInvocationTestCase.java
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java?view=auto&rev=479522
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java Sun Nov 26 21:30:14 2006
@@ -0,0 +1,66 @@
+/*
+ * 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.integration.conversation;
+
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.services.store.StoreMonitor;
+import org.apache.tuscany.spi.wire.WirePostProcessorRegistry;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.builder.ConnectorImpl;
+import org.apache.tuscany.core.builder.WirePostProcessorRegistryImpl;
+import org.apache.tuscany.core.component.WorkContextImpl;
+import org.apache.tuscany.core.component.scope.ConversationalScopeContainerImpl;
+import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
+import org.apache.tuscany.core.services.store.memory.MemoryStore;
+import org.apache.tuscany.core.wire.ConversationWirePostProcessor;
+import org.easymock.classextension.EasyMock;
+
+/**
+ * Provides helper methods for setting up a partial runtime for conversational test cases.
+ *
+ * @version $Rev$ $Date$
+ */
+public abstract class AbstractConversationTestCase extends TestCase {
+ protected ScopeContainer container;
+ protected MemoryStore store;
+ protected WorkContext workContext;
+ protected ConnectorImpl connector;
+ protected JavaAtomicComponent target;
+
+
+ protected void createRuntime() {
+ workContext = new WorkContextImpl();
+ WirePostProcessorRegistry processorRegistry = new WirePostProcessorRegistryImpl();
+ ConversationWirePostProcessor processor = new ConversationWirePostProcessor();
+ processor.setRegistry(processorRegistry);
+ processor.init();
+ connector = new ConnectorImpl(null, processorRegistry, null, workContext);
+ store = new MemoryStore(EasyMock.createNiceMock(StoreMonitor.class));
+ container = new ConversationalScopeContainerImpl(store, workContext);
+
+ }
+
+ protected void initializeRuntime() {
+ store.init();
+ container.start();
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/AbstractConversationTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java?view=auto&rev=479522
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java Sun Nov 26 21:30:14 2006
@@ -0,0 +1,150 @@
+/*
+ * 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.integration.conversation;
+
+import java.lang.reflect.Constructor;
+import java.util.Map;
+
+import org.osoa.sca.annotations.EndConversation;
+import org.osoa.sca.annotations.Scope;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.TargetNotFoundException;
+import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.MessageImpl;
+import org.apache.tuscany.spi.wire.OutboundInvocationChain;
+import org.apache.tuscany.spi.wire.OutboundWire;
+
+import org.apache.tuscany.core.implementation.PojoConfiguration;
+import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.integration.mock.MockFactory;
+import org.easymock.classextension.EasyMock;
+
+/**
+ * Verifies conversational resources are cleaned up if the maximum idle time is exceeded
+ *
+ * @version $Rev$ $Date$
+ */
+public class ConversationIdleExpireTestCase extends AbstractConversationTestCase {
+ private OutboundWire owire;
+ private Foo targetInstance;
+ private final Object mutex = new Object();
+
+ public void testConversationExpire() throws Exception {
+ workContext.setIdentifier(org.apache.tuscany.spi.model.Scope.CONVERSATION, "12345A");
+ // start the conversation
+ for (Map.Entry<Operation<?>, OutboundInvocationChain> entry : owire.getInvocationChains().entrySet()) {
+ if ("operation1".equals(entry.getKey().getName())) {
+ MessageImpl msg = new MessageImpl();
+ msg.setTargetInvoker(entry.getValue().getTargetInvoker());
+ entry.getValue().getHeadInterceptor().invoke(msg);
+ }
+ }
+ // verify the instance was persisted
+ assertEquals(targetInstance, store.readRecord(target, "12345A"));
+ synchronized (mutex) {
+ mutex.wait(100);
+ }
+ // verify the instance was expired
+ assertNull(store.readRecord(target, "12345A"));
+
+ // continue the conversation - should throw an error
+ for (Map.Entry<Operation<?>, OutboundInvocationChain> entry : owire.getInvocationChains().entrySet()) {
+ if ("operation2".equals(entry.getKey().getName())) {
+ MessageImpl msg = new MessageImpl();
+ msg.setTargetInvoker(entry.getValue().getTargetInvoker());
+ try {
+ entry.getValue().getHeadInterceptor().invoke(msg);
+ fail();
+ } catch (TargetNotFoundException e) {
+ // expected
+ }
+ }
+ }
+ }
+
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ createRuntime();
+ store.setReaperInterval(10);
+ initializeRuntime();
+
+ targetInstance = EasyMock.createMock(Foo.class);
+ targetInstance.operation1();
+ targetInstance.operation2();
+ targetInstance.end();
+ EasyMock.replay(targetInstance);
+ target = createMaxIdleTimeAtomicComponent();
+ // create source component mock
+ JavaAtomicComponent source = EasyMock.createMock(JavaAtomicComponent.class);
+ EasyMock.expect(source.getName()).andReturn("source");
+ EasyMock.replay(source);
+
+ owire = MockFactory.createOutboundWire("foo", Foo.class);
+ owire.setContainer(source);
+ owire.setTargetName(new QualifiedName("foo/bar"));
+ InboundWire iwire = MockFactory.createInboundWire("foo", Foo.class);
+ iwire.setContainer(target);
+ connector.connect(owire, iwire, false);
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ container.stop();
+ store.destroy();
+ }
+
+ private JavaAtomicComponent createMaxIdleTimeAtomicComponent() throws Exception {
+ PojoConfiguration configuration = new PojoConfiguration();
+ configuration.setName("target");
+ configuration.setMaxIdleTime(50);
+ configuration.setScopeContainer(container);
+ configuration.setInstanceFactory(new MockPojoFactory(Object.class.getConstructor()));
+ JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+ component.start();
+ return component;
+ }
+
+ private class MockPojoFactory extends PojoObjectFactory<Object> {
+ public MockPojoFactory(Constructor<Object> ctr) {
+ super(ctr);
+ }
+
+ public Foo getInstance() throws ObjectCreationException {
+ return targetInstance;
+ }
+ }
+
+ @Scope("CONVERSATION")
+ public static interface Foo {
+
+ void operation1();
+
+ void operation2();
+
+ @EndConversation
+ void end();
+
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationIdleExpireTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java?view=auto&rev=479522
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java Sun Nov 26 21:30:14 2006
@@ -0,0 +1,151 @@
+/*
+ * 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.integration.conversation;
+
+import java.lang.reflect.Constructor;
+import java.util.Map;
+
+import org.osoa.sca.annotations.EndConversation;
+import org.osoa.sca.annotations.Scope;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.TargetNotFoundException;
+import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.MessageImpl;
+import org.apache.tuscany.spi.wire.OutboundInvocationChain;
+import org.apache.tuscany.spi.wire.OutboundWire;
+
+import org.apache.tuscany.core.implementation.PojoConfiguration;
+import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
+import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.integration.mock.MockFactory;
+import org.easymock.classextension.EasyMock;
+
+/**
+ * Verifies conversational resources are cleaned up if the maximum age is exceeded
+ *
+ * @version $Rev$ $Date$
+ */
+public class ConversationMaxAgeExpireTestCase extends AbstractConversationTestCase {
+ private OutboundWire owire;
+ private ConversationMaxAgeExpireTestCase.Foo targetInstance;
+ private final Object mutex = new Object();
+
+ public void testConversationExpire() throws Exception {
+ workContext.setIdentifier(org.apache.tuscany.spi.model.Scope.CONVERSATION, "12345A");
+ // start the conversation
+ for (Map.Entry<Operation<?>, OutboundInvocationChain> entry : owire.getInvocationChains().entrySet()) {
+ if ("operation1".equals(entry.getKey().getName())) {
+ MessageImpl msg = new MessageImpl();
+ msg.setTargetInvoker(entry.getValue().getTargetInvoker());
+ entry.getValue().getHeadInterceptor().invoke(msg);
+ }
+ }
+ // verify the instance was persisted
+ assertEquals(targetInstance, store.readRecord(target, "12345A"));
+ synchronized (mutex) {
+ mutex.wait(100);
+ }
+ // verify the instance was expired
+ assertNull(store.readRecord(target, "12345A"));
+
+ // continue the conversation - should throw an error
+ for (Map.Entry<Operation<?>, OutboundInvocationChain> entry : owire.getInvocationChains().entrySet()) {
+ if ("operation2".equals(entry.getKey().getName())) {
+ MessageImpl msg = new MessageImpl();
+ msg.setTargetInvoker(entry.getValue().getTargetInvoker());
+ try {
+ entry.getValue().getHeadInterceptor().invoke(msg);
+ fail();
+ } catch (TargetNotFoundException e) {
+ // expected
+ }
+ }
+ }
+ }
+
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ createRuntime();
+ store.setReaperInterval(10);
+ initializeRuntime();
+
+ targetInstance = EasyMock.createMock(ConversationMaxAgeExpireTestCase.Foo.class);
+ targetInstance.operation1();
+ targetInstance.operation2();
+ targetInstance.end();
+ EasyMock.replay(targetInstance);
+ target = createMaxIdleTimeAtomicComponent();
+ // create source component mock
+ JavaAtomicComponent source = EasyMock.createMock(JavaAtomicComponent.class);
+ EasyMock.expect(source.getName()).andReturn("source");
+ EasyMock.replay(source);
+
+ owire = MockFactory.createOutboundWire("foo", ConversationMaxAgeExpireTestCase.Foo.class);
+ owire.setContainer(source);
+ owire.setTargetName(new QualifiedName("foo/bar"));
+ InboundWire iwire = MockFactory.createInboundWire("foo", ConversationMaxAgeExpireTestCase.Foo.class);
+ iwire.setContainer(target);
+ connector.connect(owire, iwire, false);
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ container.stop();
+ store.destroy();
+ }
+
+ private JavaAtomicComponent createMaxIdleTimeAtomicComponent() throws Exception {
+ PojoConfiguration configuration = new PojoConfiguration();
+ configuration.setName("target");
+ configuration.setMaxAge(50);
+ configuration.setScopeContainer(container);
+ Constructor<Object> ctor = Object.class.getConstructor();
+ configuration.setInstanceFactory(new ConversationMaxAgeExpireTestCase.MockPojoFactory(ctor));
+ JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+ component.start();
+ return component;
+ }
+
+ private class MockPojoFactory extends PojoObjectFactory<Object> {
+ public MockPojoFactory(Constructor<Object> ctr) {
+ super(ctr);
+ }
+
+ public ConversationMaxAgeExpireTestCase.Foo getInstance() throws ObjectCreationException {
+ return targetInstance;
+ }
+ }
+
+ @Scope("CONVERSATION")
+ public static interface Foo {
+
+ void operation1();
+
+ void operation2();
+
+ @EndConversation
+ void end();
+
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationMaxAgeExpireTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java (from r479410, incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/BasicConversationInvocationTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java?view=diff&rev=479522&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/BasicConversationInvocationTestCase.java&r1=479410&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java&r2=479522
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/BasicConversationInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java Sun Nov 26 21:30:14 2006
@@ -26,53 +26,31 @@
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Operation;
import static org.apache.tuscany.spi.model.Scope.CONVERSATION;
-import org.apache.tuscany.spi.services.store.StoreMonitor;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.MessageImpl;
import org.apache.tuscany.spi.wire.OutboundInvocationChain;
import org.apache.tuscany.spi.wire.OutboundWire;
-import org.apache.tuscany.spi.wire.WirePostProcessorRegistry;
-import junit.framework.TestCase;
-import org.apache.tuscany.core.builder.ConnectorImpl;
-import org.apache.tuscany.core.builder.WirePostProcessorRegistryImpl;
-import org.apache.tuscany.core.component.WorkContextImpl;
-import org.apache.tuscany.core.component.scope.ConversationalScopeContainerImpl;
import org.apache.tuscany.core.implementation.PojoConfiguration;
import org.apache.tuscany.core.implementation.java.JavaAtomicComponent;
import org.apache.tuscany.core.injection.PojoObjectFactory;
import org.apache.tuscany.core.integration.mock.MockFactory;
-import org.apache.tuscany.core.services.store.memory.MemoryStore;
-import org.apache.tuscany.core.wire.ConversationWirePostProcessor;
import org.easymock.classextension.EasyMock;
/**
- * Provides fine-grained integration-level testing for conversational invocation sequences using a partial runtime
+ * Verifies start, continue and end conversation invocations are processed properly. Checks that a target instance is
+ * properly instantiated and persisted in the store. Additionally verifies that invocations are dispatched to a target
+ * instance, and that start, continue, and end operations are performed correctly. Finally, verfies that the target
+ * instance is removed from the store when the conversation ends.
*
* @version $Rev$ $Date$
*/
-public class BasicConversationInvocationTestCase extends TestCase {
- private ScopeContainer container;
- private MemoryStore store;
- private WorkContext workContext;
- private ConnectorImpl connector;
+public class ConversationStartStopEndTestCase extends AbstractConversationTestCase {
private OutboundWire owire;
- private JavaAtomicComponent target;
private Foo targetInstance;
-
- /**
- * Verifies start, continue and end conversation invocations are processed properly. Checks that a target instance
- * is properly instantiated and persisted in the store. Additionally verifies that invocations are dispatched to a
- * target instance, and that start, continue, and end operations are performed correctly. Finally, verfies that the
- * target instance is removed from the store when the conversation ends.
- *
- * @throws Exception
- */
public void testConversationStartContinueEnd() throws Exception {
workContext.setIdentifier(CONVERSATION, "12345A");
// start the conversation
@@ -112,7 +90,8 @@
protected void setUp() throws Exception {
super.setUp();
- bootRuntime();
+ createRuntime();
+ initializeRuntime();
targetInstance = EasyMock.createMock(Foo.class);
targetInstance.operation1();
targetInstance.operation2();
@@ -131,27 +110,12 @@
InboundWire iwire = MockFactory.createInboundWire("foo", Foo.class);
iwire.setContainer(target);
connector.connect(owire, iwire, false);
-
}
protected void tearDown() throws Exception {
super.tearDown();
container.stop();
store.destroy();
- }
-
- private void bootRuntime() {
- workContext = new WorkContextImpl();
- WirePostProcessorRegistry processorRegistry = new WirePostProcessorRegistryImpl();
- ConversationWirePostProcessor processor = new ConversationWirePostProcessor();
- processor.setRegistry(processorRegistry);
- processor.init();
- connector = new ConnectorImpl(null, processorRegistry, null, workContext);
- store = new MemoryStore(EasyMock.createNiceMock(StoreMonitor.class));
- store.init();
- container = new ConversationalScopeContainerImpl(store, workContext);
- container.start();
-
}
private JavaAtomicComponent createAtomicComponent() throws Exception {
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/integration/conversation/ConversationStartStopEndTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org