You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/06/25 06:21:08 UTC

svn commit: r550339 - in /incubator/tuscany/java/sca/modules/implementation-bpel: ./ src/main/java/org/apache/tuscany/sca/implementation/bpel/module/ src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ src/main/java/org/apache/tuscany/sca/imp...

Author: lresende
Date: Sun Jun 24 21:21:04 2007
New Revision: 550339

URL: http://svn.apache.org/viewvc?view=rev&rev=550339
Log:
TUSCANY-1365 - Applying patch from Mathieu Riou

Added:
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java
Modified:
    incubator/tuscany/java/sca/modules/implementation-bpel/pom.xml
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/module/BPELModuleActivator.java
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java
    incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java

Modified: incubator/tuscany/java/sca/modules/implementation-bpel/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/pom.xml?view=diff&rev=550339&r1=550338&r2=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/pom.xml Sun Jun 24 21:21:04 2007
@@ -28,7 +28,7 @@
 
     <artifactId>tuscany-implementation-bpel</artifactId>
     <name>Apache Tuscany Implementation BPEL</name>
-
+    
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
@@ -96,6 +96,120 @@
             <artifactId>easymock</artifactId>
             <version>2.2</version>
             <scope>test</scope>
+        </dependency>
+
+        <!-- ODE Jars -->
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-bpel-epr</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-bpel-dao</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-bpel-dao</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-dao-jpa</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-bpel-runtime</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-bpel-api</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-bpel-scheduler-quartz</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ode</groupId>
+            <artifactId>ode-utils</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+
+        <!-- ODE Dependencies -->
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-kernel</artifactId>
+            <version>1.2-beta</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-transaction</artifactId>
+            <version>1.2-beta</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-connector</artifactId>
+            <version>1.2-beta</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>10.1.3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>tranql</groupId>
+            <artifactId>tranql-connector</artifactId>
+            <version>1.1</version>
+        </dependency>
+        <dependency>
+            <groupId>axion</groupId>
+            <artifactId>axion</artifactId>
+            <version>1.0-M3-dev</version>
+        </dependency>
+        <dependency>
+            <groupId>quartz</groupId>
+            <artifactId>quartz</artifactId>
+            <version>1.5.2</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.openjpa</groupId>
+            <artifactId>openjpa-all</artifactId>
+            <version>0.9.7-incubating</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sourceforge.serp</groupId>
+            <artifactId>serp</artifactId>
+            <version>1.12.0</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-primitives</groupId>
+            <artifactId>commons-primitives</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.1</version>
         </dependency>
 
     </dependencies>

Modified: incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/module/BPELModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/module/BPELModuleActivator.java?view=diff&rev=550339&r1=550338&r2=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/module/BPELModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/module/BPELModuleActivator.java Sun Jun 24 21:21:04 2007
@@ -26,6 +26,7 @@
 import org.apache.tuscany.sca.core.ModuleActivator;
 import org.apache.tuscany.sca.implementation.bpel.BPELImplementationFactory;
 import org.apache.tuscany.sca.implementation.bpel.DefaultBPELImplementationFactory;
+import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer;
 import org.apache.tuscany.sca.implementation.bpel.impl.BPELImplementationProcessor;
 import org.apache.tuscany.sca.implementation.bpel.provider.BPELImplementationProviderFactory;
 import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
@@ -34,6 +35,7 @@
 import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector;
 import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint;
 import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
+import org.apache.tuscany.sca.work.WorkScheduler;
 
 /**
  * Implements a module activator for the BPEL implementation extension module.
@@ -45,6 +47,8 @@
  */
 public class BPELModuleActivator implements ModuleActivator {
 
+    private EmbeddedODEServer odeServer;
+
     public Object[] getExtensionPoints() {
         // This module extension does not contribute any new extension point
         return null;
@@ -65,10 +69,13 @@
         StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
         BPELImplementationProcessor implementationArtifactProcessor = new BPELImplementationProcessor(bpelFactory);
         processors.addArtifactProcessor(implementationArtifactProcessor);
-        
+
+        // Instantiating the ODE server to pass it to the providers
+        odeServer = new EmbeddedODEServer();
+
         // Add the CRUD provider factory to the ProviderFactory extension point
         ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
-        providerFactories.addProviderFactory(new BPELImplementationProviderFactory());
+        providerFactories.addProviderFactory(new BPELImplementationProviderFactory(odeServer));
     }
 
     public void stop(ExtensionPointRegistry registry) {

Added: incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java?view=auto&rev=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java (added)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java Sun Jun 24 21:21:04 2007
@@ -0,0 +1,142 @@
+/*
+ * 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.sca.implementation.bpel.ode;
+
+import org.apache.ode.il.config.OdeConfigProperties;
+import org.apache.ode.il.dbutil.Database;
+import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC;
+import org.apache.ode.bpel.engine.BpelServerImpl;
+import org.apache.ode.bpel.engine.CountLRUDehydrationPolicy;
+import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl;
+import org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl;
+import org.apache.ode.bpel.iapi.Scheduler;
+
+import java.util.Properties;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ExecutorService;
+import java.io.File;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.transaction.TransactionManager;
+
+/**
+ *
+ */
+public class EmbeddedODEServer {
+    protected final Log __log = LogFactory.getLog(getClass());
+
+    private boolean _initialized;
+    private OdeConfigProperties _config;
+    private TransactionManager _txMgr;
+    private Database _db;
+    private File _workRoot;
+    private BpelDAOConnectionFactoryJDBC _daoCF;
+    private BpelServerImpl _bpelServer;
+    private ExecutorService _executor;
+    private Scheduler _scheduler;
+
+    public void init() throws ODEInitializationException {
+        _config = new OdeConfigProperties(new Properties(), "ode-sca");
+        _workRoot = new File("ode-work");
+
+        initTxMgr();
+        initPersistence();
+        initBpelServer();
+
+        try {
+            _bpelServer.start();
+        } catch (Exception ex) {
+            String errmsg = "An error occured during the ODE BPEL server startup.";
+            __log.error(errmsg, ex);
+            throw new ODEInitializationException(errmsg, ex);
+        }
+
+        __log.info("ODE BPEL server started.");
+        _initialized = true;
+    }
+
+    private void initTxMgr() {
+        try {
+            GeronimoTxFactory txFactory = new GeronimoTxFactory();
+            _txMgr = txFactory.getTransactionManager();
+        } catch (Exception e) {
+            __log.fatal("Couldn't initialize a transaction manager using Geronimo's transaction factory.", e);
+            throw new ODEInitializationException("Couldn't initialize a transaction manager using " +
+                    "Geronimo's transaction factory.", e);
+        }
+    }
+
+    private void initPersistence() {
+        _db = new Database(_config);
+        _db.setTransactionManager(_txMgr);
+        _db.setWorkRoot(_workRoot);
+
+        try {
+            _db.start();
+            _daoCF = _db.createDaoCF();
+        } catch (Exception ex) {
+            String errmsg = "Error while configuring ODE persistence.";
+            __log.error(errmsg, ex);
+            throw new ODEInitializationException(errmsg, ex);
+        }
+    }
+
+    private void initBpelServer() {
+        if (__log.isDebugEnabled()) {
+            __log.debug("ODE initializing");
+        }
+        if (_config.getThreadPoolMaxSize() == 0)
+            _executor = Executors.newCachedThreadPool();
+        else
+            _executor = Executors.newFixedThreadPool(_config.getThreadPoolMaxSize());
+
+        _bpelServer = new BpelServerImpl();
+        _scheduler = createScheduler();
+        _scheduler.setJobProcessor(_bpelServer);
+
+        _bpelServer.setDaoConnectionFactory(_daoCF);
+        _bpelServer.setInMemDaoConnectionFactory(new BpelDAOConnectionFactoryImpl(_scheduler));
+//        _bpelServer.setEndpointReferenceContext(new EndpointReferenceContextImpl(this));
+//        _bpelServer.setMessageExchangeContext(new MessageExchangeContextImpl(this));
+//        _bpelServer.setBindingContext(new BindingContextImpl(this, _store));
+        _bpelServer.setScheduler(_scheduler);
+        if (_config.isDehydrationEnabled()) {
+            CountLRUDehydrationPolicy dehy = new CountLRUDehydrationPolicy();
+            _bpelServer.setDehydrationPolicy(dehy);
+        }
+        _bpelServer.init();
+    }
+
+    protected Scheduler createScheduler() {
+        QuartzSchedulerImpl scheduler = new QuartzSchedulerImpl();
+        scheduler.setExecutorService(_executor, 20);
+        scheduler.setTransactionManager(_txMgr);
+        scheduler.setDataSource(_db.getDataSource());
+        scheduler.init();
+        return scheduler;
+    }    
+
+    public boolean isInitialized() {
+        return _initialized;
+    }
+
+}

Added: incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java?view=auto&rev=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java (added)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java Sun Jun 24 21:21:04 2007
@@ -0,0 +1,43 @@
+/*
+ * 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.sca.implementation.bpel.ode;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.transaction.TransactionManager;
+
+public class GeronimoTxFactory {
+    private static final Log __log = LogFactory.getLog(GeronimoTxFactory.class);
+
+    /* Public no-arg contructor is required */
+    public GeronimoTxFactory() {
+    }
+
+    public TransactionManager getTransactionManager() {
+        __log.info("Using embedded Geronimo transaction manager");
+        try {
+            Object obj = new org.apache.geronimo.transaction.manager.GeronimoTransactionManager();
+            return (TransactionManager) obj;
+        } catch (Exception except) {
+            throw new IllegalStateException("Unable to instantiate Geronimo Transaction Manager", except);
+        }
+    }
+}

Added: incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java?view=auto&rev=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java (added)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java Sun Jun 24 21:21:04 2007
@@ -0,0 +1,38 @@
+/*
+ * 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.sca.implementation.bpel.ode;
+
+/**
+ * Thrown when ODE failed to initialize one if its needed resources.
+ */
+public class ODEInitializationException extends RuntimeException {
+
+    public ODEInitializationException(Throwable cause) {
+        super(cause);
+    }
+
+    public ODEInitializationException(String message) {
+        super(message);
+    }
+
+    public ODEInitializationException(String message, Throwable cause) {
+        super(message, cause);
+    }
+}

Modified: incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java?view=diff&rev=550339&r1=550338&r2=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProvider.java Sun Jun 24 21:21:04 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.sca.implementation.bpel.provider;
 
 import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
+import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer;
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.provider.ImplementationProvider;
@@ -38,13 +39,16 @@
     
     private RuntimeComponent component;
     private BPELImplementation implementation;
+    private EmbeddedODEServer odeServer;
 
     /**
      * Constructs a new CRUD implementation.
      */
-    public BPELImplementationProvider(RuntimeComponent component, BPELImplementation implementation) {
+    public BPELImplementationProvider(RuntimeComponent component, BPELImplementation implementation,
+                                      EmbeddedODEServer odeServer) {
         this.component = component;
         this.implementation = implementation;
+        this.odeServer = odeServer;
     }
 
     public Invoker createInvoker(RuntimeComponentService service, Operation operation) {
@@ -58,11 +62,12 @@
     }
 
     public void start() {
-        System.out.println("Starting " + component.getName());
+        System.out.println("Starting " + component.getName() + " " + component.getClass().getName());
+        if (!odeServer.isInitialized()) odeServer.init();
     }
 
     public void stop() {
-        System.out.println("Stopping " + component.getName());
+        System.out.println("Stopping " + component.getName() + " " + component.getClass().getName());
     }
 
 }

Modified: incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java?view=diff&rev=550339&r1=550338&r2=550339
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELImplementationProviderFactory.java Sun Jun 24 21:21:04 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.sca.implementation.bpel.provider;
 
 import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
+import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer;
 import org.apache.tuscany.sca.provider.ImplementationProvider;
 import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
@@ -28,14 +29,18 @@
  */
 public class BPELImplementationProviderFactory implements ImplementationProviderFactory<BPELImplementation> {
 
+    private EmbeddedODEServer odeServer;
+
     /**
      * Constructs a new CRUD implementation.
+     * @param odeServer the server instance passed to the implementation provider
      */
-    public BPELImplementationProviderFactory() {
+    public BPELImplementationProviderFactory(EmbeddedODEServer odeServer) {
+        this.odeServer = odeServer;
     }
 
     public ImplementationProvider createImplementationProvider(RuntimeComponent component, BPELImplementation implementation) {
-        return new BPELImplementationProvider(component, implementation);
+        return new BPELImplementationProvider(component, implementation, odeServer);
     }
     
     public Class<BPELImplementation> getModelType() {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org