Author: gnodet
Date: Wed Jun 11 01:43:29 2008
New Revision: 666571

URL: http://svn.apache.org/viewvc?rev=666571&view=rev
Log:
SM-1386: better handling of smx4 transaction model

Modified:
    
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
    
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
    
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
    
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
    
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
    
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
    
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
    
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java
 Wed Jun 11 01:43:29 2008
@@ -619,7 +619,7 @@
         if (!container.handleTransactions()) {
             try {
                 if ((exchange.getRole() == Role.CONSUMER && 
exchange.getStatus() == ExchangeStatus.ACTIVE) || exchange.getRole() == 
Role.PROVIDER) {
-                    if (transactionManager != null && 
transactionManager.getStatus() == Status.STATUS_ACTIVE) {
+                    if (transactionManager != null) {
                         
exchange.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
transactionManager.suspend());
                     }
                 }

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/Container.java
 Wed Jun 11 01:43:29 2008
@@ -57,30 +57,31 @@
     }
 
     public static class Smx3Container extends Container {
+        private boolean handleTransactions;
+        private Object container;
         public Smx3Container(ComponentContext context) {
             super(context);
-        }
-        public Type getType() {
-            return Type.ServiceMix3;
-        }
-        public boolean handleTransactions() {
             try {
-                Object container = getSmx3Container();
+                Method getContainerMth = 
context.getClass().getMethod("getContainer", new Class[0]);
+                container = getContainerMth.invoke(context, new Object[0]);
+            } catch (Throwable t) {
+            }
+            try {
                 Method isUseNewTransactionModelMth = 
container.getClass().getMethod("isUseNewTransactionModel", new Class[0]);
                 Boolean b = (Boolean) 
isUseNewTransactionModelMth.invoke(container, new Object[0]);
-                return !b;
+                handleTransactions = !b;
             } catch (Throwable t) {
+                handleTransactions = true;
             }
-            return true;
+        }
+        public Type getType() {
+            return Type.ServiceMix3;
+        }
+        public boolean handleTransactions() {
+            return handleTransactions;
         }
         public Object getSmx3Container() {
-            try {
-                Method getContainerMth = 
context.getClass().getMethod("getContainer", new Class[0]);
-                Object container = getContainerMth.invoke(context, new 
Object[0]);
-                return container;
-            } catch (Throwable t) {
-            }
-            return null;
+            return container;
         }
     }
 

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/DefaultComponent.java
 Wed Jun 11 01:43:29 2008
@@ -43,7 +43,7 @@
  *
  * @version $Revision$
  */
-public abstract class DefaultComponent extends AsyncBaseLifeCycle implements 
ServiceMixComponent {
+public class DefaultComponent extends AsyncBaseLifeCycle implements 
ServiceMixComponent {
 
     protected final transient Log logger = LogFactory.getLog(getClass());
 
@@ -261,7 +261,9 @@
     /**
      * Returns an array of configured endpoints for the component or null if 
there are no configured endpoints
      */
-    protected abstract List getConfiguredEndpoints();
+    protected List getConfiguredEndpoints() {
+        return null;
+    }
 
     /**
      * Returns a list of valid endpoint classes or null if the component does 
not wish to programmatically
@@ -269,7 +271,9 @@
      *
      * @return the endpoint classes used to validate configuration or null to 
disable the validation
      */
-    protected abstract Class[] getEndpointClasses();
+    protected Class[] getEndpointClasses() {
+        return null;
+    }
 
     /**
      * A little helper method to turn a possibly null list of endpoints into a 
list of endpoints

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
 Wed Jun 11 01:43:29 2008
@@ -25,6 +25,10 @@
 import javax.jbi.messaging.MessagingException;
 import javax.jbi.servicedesc.ServiceEndpoint;
 import javax.xml.namespace.QName;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+import javax.transaction.InvalidTransactionException;
+import javax.transaction.SystemException;
 
 /**
  * This class is a wrapper around an existing DeliveryChannel
@@ -86,12 +90,34 @@
 
     public boolean sendSync(MessageExchange exchange, long timeout) throws 
MessagingException {
         prepareExchange(exchange);
-        return channel.sendSync(exchange, timeout);
+        boolean ret = channel.sendSync(exchange, timeout);
+        if (ret) {
+            resumeTx(exchange);
+        }
+        return ret;
     }
 
     public boolean sendSync(MessageExchange exchange) throws 
MessagingException {
         prepareExchange(exchange);
-        return channel.sendSync(exchange);
+        boolean ret = channel.sendSync(exchange);
+        if (ret) {
+            resumeTx(exchange);
+        }
+        return ret;
+    }
+
+    private void resumeTx(MessageExchange exchange) throws MessagingException {
+        Transaction tx = (Transaction) 
exchange.getProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME);
+        if (tx != null) {
+            TransactionManager txmgr = (TransactionManager) 
endpoint.getServiceUnit().getComponent().getComponentContext().getTransactionManager();
+            try {
+                txmgr.resume(tx);
+            } catch (InvalidTransactionException e) {
+                throw new MessagingException(e);
+            } catch (SystemException e) {
+                throw new MessagingException(e);
+            }
+        }
     }
 
     protected void prepareExchange(MessageExchange exchange) throws 
MessagingException {

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/endpoints/ConsumerEndpoint.java
 Wed Jun 11 01:43:29 2008
@@ -74,7 +74,15 @@
         }
     }
 
-    public abstract String getLocationURI();
+    /**
+     * Return the URI identifying this external endpoint.
+     * This must be overriden so that endpoint resolution can work correctly.
+     *
+     * @return the URI identifying this external endpoint 
+     */
+    public String getLocationURI() {
+        return null;
+    }
 
     /**
      * @return the targetEndpoint

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/NewTransactionsTest.java
 Wed Jun 11 01:43:29 2008
@@ -16,9 +16,14 @@
  */
 package org.apache.servicemix.common;
 
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
 import javax.jbi.messaging.InOnly;
 import javax.jbi.messaging.ExchangeStatus;
 import javax.jbi.messaging.MessageExchange;
+import javax.jbi.messaging.InOut;
 import javax.jbi.component.Component;
 import javax.xml.namespace.QName;
 import javax.transaction.Status;
@@ -29,9 +34,14 @@
 import org.apache.servicemix.jbi.container.JBIContainer;
 import org.apache.servicemix.jbi.nmr.flow.Flow;
 import org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow;
+import org.apache.servicemix.jbi.util.MessageUtil;
 import org.apache.servicemix.client.ServiceMixClient;
 import org.apache.servicemix.client.DefaultServiceMixClient;
 import org.apache.servicemix.common.endpoints.ProviderEndpoint;
+import org.apache.servicemix.common.endpoints.SimpleEndpoint;
+import org.apache.servicemix.common.endpoints.ConsumerEndpoint;
+import org.apache.servicemix.common.endpoints.PollingEndpoint;
+import org.apache.servicemix.tck.ExchangeCompletedListener;
 import org.jencks.GeronimoPlatformTransactionManager;
 import junit.framework.TestCase;
 
@@ -39,10 +49,12 @@
 
     protected JBIContainer jbi;
     protected TransactionManager txManager;
-    protected Component component;
+    protected TestComponent component;
     protected ServiceMixClient client;
     protected Exception exceptionToThrow;
     protected boolean exceptionShouldRollback;
+    protected boolean useInOut;
+    protected ExchangeCompletedListener listener;
 
     protected void setUp() throws Exception {
         exceptionToThrow = null;
@@ -50,6 +62,7 @@
 
         txManager = new GeronimoPlatformTransactionManager();
 
+        listener = new ExchangeCompletedListener();
         jbi = new JBIContainer();
         jbi.setFlows(new Flow[] { new SedaFlow() });
         jbi.setEmbedded(true);
@@ -57,6 +70,7 @@
         jbi.setTransactionManager(txManager);
         jbi.setAutoEnlistInTransaction(true);
         jbi.setUseNewTransactionModel(true);
+        jbi.addListener(listener);
         jbi.init();
         jbi.start();
         component = new TestComponent();
@@ -69,9 +83,10 @@
     }
 
     public void testTxOkAsync() throws Exception {
+        component.addProvider();
         txManager.begin();
         InOnly me = client.createInOnlyExchange();
-        me.setService(new QName("service"));
+        me.setService(new QName("provider"));
         me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
         me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
txManager.suspend());
@@ -87,9 +102,10 @@
     }
 
     public void testTxOkSync() throws Exception {
+        component.addProvider();
         txManager.begin();
         InOnly me = client.createInOnlyExchange();
-        me.setService(new QName("service"));
+        me.setService(new QName("provider"));
         me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
         me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
txManager.suspend());
@@ -103,10 +119,11 @@
     }
 
     public void testTxExceptionAsync() throws Exception {
+        component.addProvider();
         exceptionToThrow = new Exception("Business exception");
         txManager.begin();
         InOnly me = client.createInOnlyExchange();
-        me.setService(new QName("service"));
+        me.setService(new QName("provider"));
         me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
         me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
txManager.suspend());
@@ -122,10 +139,11 @@
     }
 
     public void testTxExceptionSync() throws Exception {
+        component.addProvider();
         exceptionToThrow = new Exception("Business exception");
         txManager.begin();
         InOnly me = client.createInOnlyExchange();
-        me.setService(new QName("service"));
+        me.setService(new QName("provider"));
         me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
         me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
txManager.suspend());
@@ -140,11 +158,12 @@
     }
 
     public void testTxExceptionRollbackAsync() throws Exception {
+        component.addProvider();
         exceptionToThrow = new Exception("Business exception");
         exceptionShouldRollback = true;
         txManager.begin();
         InOnly me = client.createInOnlyExchange();
-        me.setService(new QName("service"));
+        me.setService(new QName("provider"));
         me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
         me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
txManager.suspend());
@@ -159,11 +178,12 @@
     }
 
     public void testTxExceptionRollbackSync() throws Exception {
+        component.addProvider();
         exceptionToThrow = new RuntimeException("Runtime exception");
         exceptionShouldRollback = true;
         txManager.begin();
         InOnly me = client.createInOnlyExchange();
-        me.setService(new QName("service"));
+        me.setService(new QName("provider"));
         me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
         me.setProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME, 
txManager.suspend());
@@ -177,52 +197,88 @@
         txManager.rollback();
     }
 
-    protected class TestComponent extends BaseComponent {
+    public void testExceptionWithConsumerInOnly() throws Exception {
+        useInOut = false;
+        component.addProvider();
+        component.addConsumer();
+        assertTrue(component.commited.await(1, TimeUnit.SECONDS));
+        listener.assertExchangeCompleted();
+    }
+
+    public void testExceptionWithConsumerInOut() throws Exception {
+        useInOut = true;
+        component.addProvider();
+        component.addConsumer();
+        assertTrue(component.commited.await(1, TimeUnit.SECONDS));
+        listener.assertExchangeCompleted();
+    }
+
+    protected class TestComponent extends DefaultComponent {
+        public CountDownLatch commited = new CountDownLatch(1);
         public TestComponent() {
             super();
         }
-        protected BaseLifeCycle createLifeCycle() {
-            return new TestLifeCycle();
+        public void addProvider() throws Exception {
+            TestProviderEndpoint ep = new TestProviderEndpoint();
+            ep.setService(new QName("provider"));
+            ep.setEndpoint("endpoint");
+            addEndpoint(ep);
         }
-
-        protected class TestLifeCycle extends BaseLifeCycle {
-            protected ServiceUnit su;
-            public TestLifeCycle() {
-                super(TestComponent.this);
-            }
-            protected void doInit() throws Exception {
-                super.doInit();
-                su = new ServiceUnit();
-                su.setComponent(component);
-                TestEndpoint ep = new TestEndpoint();
-                ep.setService(new QName("service"));
-                ep.setEndpoint("endpoint");
-                ep.setServiceUnit(su);
-                su.addEndpoint(ep);
-                getRegistry().registerServiceUnit(su);
-            }
-            protected void doStart() throws Exception {
-                super.doStart();
-                su.start();
-            }
-            protected void doStop() throws Exception {
-                super.doStop();
-                su.stop();
-            }
-            protected boolean exceptionShouldRollbackTx(Exception e) {
-                return exceptionShouldRollback;
-            }
+        public void addConsumer() throws Exception {
+            TestConsumerEndpoint ep = new TestConsumerEndpoint();
+            ep.setService(new QName("consumer"));
+            ep.setEndpoint("endpoint");
+            ep.setTargetService(new QName("provider"));
+            addEndpoint(ep);
         }
-
-        protected class TestEndpoint extends ProviderEndpoint {
+        protected boolean exceptionShouldRollbackTx(Exception e) {
+            return exceptionShouldRollback;
+        }
+        protected class TestProviderEndpoint extends ProviderEndpoint {
             public void process(MessageExchange exchange) throws Exception {
+                if (exchange.getStatus() != ExchangeStatus.ACTIVE) {
+                    return;
+                }
                 if (exceptionToThrow != null) {
                     throw exceptionToThrow;
                 }
-                exchange.setStatus(ExchangeStatus.DONE);
+                if (exchange instanceof InOut) {
+                    MessageUtil.transferInToOut(exchange, exchange);
+                } else {
+                    exchange.setStatus(ExchangeStatus.DONE);
+                }
                 send(exchange);
             }
         }
+        protected class TestConsumerEndpoint extends ConsumerEndpoint {
+            public void process(MessageExchange exchange) throws Exception {
+                if (exceptionToThrow != null) {
+                    throw exceptionToThrow;
+                }
+                if (exchange instanceof InOut) {
+                    done(exchange);
+                }
+                txManager.commit();
+                commited.countDown();
+            }
+            public void start() throws Exception {
+                super.start();
+                txManager.begin();
+                if (useInOut) {
+                    InOut exchange = 
channel.createExchangeFactory().createInOutExchange();
+                    exchange.setInMessage(exchange.createMessage());
+                    exchange.getInMessage().setContent(new 
StringSource("<hello>world</hello>"));
+                    configureExchangeTarget(exchange);
+                    send(exchange);
+                } else {
+                    InOnly exchange = 
channel.createExchangeFactory().createInOnlyExchange();
+                    exchange.setInMessage(exchange.createMessage());
+                    exchange.getInMessage().setContent(new 
StringSource("<hello>world</hello>"));
+                    configureExchangeTarget(exchange);
+                    send(exchange);
+                }
+            }
+        }
     }
 
 }

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/TransactionsTest.java
 Wed Jun 11 01:43:29 2008
@@ -37,6 +37,7 @@
 import org.apache.servicemix.jbi.nmr.flow.Flow;
 import org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow;
 import org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow;
+import org.apache.servicemix.common.endpoints.ProviderEndpoint;
 import org.jencks.GeronimoPlatformTransactionManager;
 
 public class TransactionsTest extends TestCase {
@@ -58,7 +59,7 @@
         broker.addConnector("tcp://localhost:61616");
         broker.start();
         
-        txManager = (TransactionManager) new 
GeronimoPlatformTransactionManager();
+        txManager = new GeronimoPlatformTransactionManager();
         
         jbi = new JBIContainer();
         jbi.setFlows(new Flow[] { new SedaFlow(), new JCAFlow() });
@@ -165,60 +166,23 @@
         txManager.rollback();
     }
     
-    private class TestComponent extends BaseComponent {
+    private class TestComponent extends DefaultComponent {
         public TestComponent() {
             super();
         }
-        protected BaseLifeCycle createLifeCycle() {
-            return new TestLifeCycle();
+        protected void doInit() throws Exception {
+            super.doInit();
+            TestEndpoint ep = new TestEndpoint();
+            ep.setService(new QName("service"));
+            ep.setEndpoint("endpoint");
+            addEndpoint(ep);
         }
-        
-        protected class TestLifeCycle extends BaseLifeCycle {
-            protected ServiceUnit su;
-            public TestLifeCycle() {
-                super(TestComponent.this);
-            }
-            protected void doInit() throws Exception {
-                super.doInit();
-                su = new ServiceUnit();
-                su.setComponent(component);
-                TestEndpoint ep = new TestEndpoint();
-                ep.setService(new QName("service"));
-                ep.setEndpoint("endpoint");
-                ep.setServiceUnit(su);
-                su.addEndpoint(ep);
-                getRegistry().registerServiceUnit(su);
-            }
-            protected void doStart() throws Exception {
-                super.doStart();
-                su.start();
-            }
-            protected void doStop() throws Exception {
-                super.doStop();
-                su.stop();
-            }
-            protected boolean exceptionShouldRollbackTx(Exception e) {
-                return exceptionShouldRollback;
-            }
+        protected boolean exceptionShouldRollbackTx(Exception e) {
+            return exceptionShouldRollback;
         }
-        
-        protected class TestEndpoint extends Endpoint implements 
ExchangeProcessor {
+
+        protected class TestEndpoint extends ProviderEndpoint implements 
ExchangeProcessor {
             protected ServiceEndpoint activated;
-            public void activate() throws Exception {
-                ComponentContext ctx = 
this.serviceUnit.getComponent().getComponentContext();
-                activated = ctx.activateEndpoint(service, endpoint);
-            }
-            public void deactivate() throws Exception {
-                ComponentContext ctx = 
this.serviceUnit.getComponent().getComponentContext();
-                ctx.deactivateEndpoint(activated);
-                activated = null;
-            }
-            public ExchangeProcessor getProcessor() {
-                return this;
-            }
-            public Role getRole() {
-                return Role.PROVIDER;
-            }
             public void process(MessageExchange exchange) throws Exception {
                 if (exceptionToThrow != null) {
                     throw exceptionToThrow;
@@ -226,10 +190,6 @@
                 exchange.setStatus(ExchangeStatus.DONE);
                 getComponentContext().getDeliveryChannel().send(exchange);
             }
-            public void start() throws Exception {
-            }
-            public void stop() throws Exception {
-            }
         }
     }
     

Modified: 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java?rev=666571&r1=666570&r2=666571&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
 (original)
+++ 
servicemix/smx3/trunk/common/servicemix-common/src/test/java/org/apache/servicemix/common/xbean/XBeanDeployerTest.java
 Wed Jun 11 01:43:29 2008
@@ -19,8 +19,9 @@
 import java.io.File;
 import java.net.URL;
 
-import org.apache.servicemix.common.BaseComponent;
 import org.apache.servicemix.common.ServiceUnit;
+import org.apache.servicemix.common.ServiceMixComponent;
+import org.apache.servicemix.common.DefaultComponent;
 import org.apache.xbean.classloader.JarFileClassLoader;
 
 import junit.framework.TestCase;
@@ -36,7 +37,7 @@
     }
     
     public void testDeployWithProperties() throws Exception {
-        MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() { 
});
+        MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent());
         ServiceUnit su = deployer.deploy("xbean", getServiceUnitPath("xbean"));
         assertNotNull(su);
         assertEquals(1, su.getEndpoints().size());
@@ -45,7 +46,7 @@
     }
     
     public void testDeployWithClasspathXml() throws Exception {
-        MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() { 
});
+        MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent() 
{ });
         ServiceUnit su = deployer.deploy("xbean-cp", 
getServiceUnitPath("xbean-cp"));
         assertNotNull(su);
         ClassLoader cl = su.getConfigurationClassLoader();
@@ -56,7 +57,7 @@
     }
     
     public void testDeployWithInlineClasspath() throws Exception {
-        MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() { 
});
+        MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent() 
{ });
         ServiceUnit su = deployer.deploy("xbean-inline", 
getServiceUnitPath("xbean-inline"));
         assertNotNull(su);
         ClassLoader cl = su.getConfigurationClassLoader();
@@ -67,7 +68,7 @@
     }
     
     public void testDeployWithDefaultClasspath() throws Exception {
-        MyXBeanDeployer deployer = new MyXBeanDeployer(new BaseComponent() { 
});
+        MyXBeanDeployer deployer = new MyXBeanDeployer(new DefaultComponent() 
{ });
         ServiceUnit su = deployer.deploy("xbean-lib", 
getServiceUnitPath("xbean-lib"));
         assertNotNull(su);
         ClassLoader cl = su.getConfigurationClassLoader();
@@ -79,7 +80,7 @@
     
     public static class MyXBeanDeployer extends AbstractXBeanDeployer {
 
-        public MyXBeanDeployer(BaseComponent component) {
+        public MyXBeanDeployer(ServiceMixComponent component) {
             super(component);
         }
         


Reply via email to