Author: lresende
Date: Thu Sep 13 22:53:58 2007
New Revision: 575546

URL: http://svn.apache.org/viewvc?rev=575546&view=rev
Log:
Starting to get the invocation mechanism ready

Modified:
    
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
    
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java

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?rev=575546&r1=575545&r2=575546&view=diff
==============================================================================
--- 
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
 Thu Sep 13 22:53:58 2007
@@ -18,8 +18,14 @@
  */
 package org.apache.tuscany.sca.implementation.bpel.provider;
 
+import java.io.File;
+import java.net.URL;
+
+import javax.transaction.TransactionManager;
+
 import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
 import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer;
+import org.apache.tuscany.sca.implementation.bpel.ode.ODEDeployment;
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.provider.ImplementationProvider;
@@ -36,37 +42,65 @@
  * or policy sets
  */
 public class BPELImplementationProvider implements ImplementationProvider {
-    
+
     private RuntimeComponent component;
     private BPELImplementation implementation;
     private EmbeddedODEServer odeServer;
+    private TransactionManager txMgr;
 
     /**
      * Constructs a new CRUD implementation.
      */
-    public BPELImplementationProvider(RuntimeComponent component, 
BPELImplementation implementation,
-                                      EmbeddedODEServer odeServer) {
+    public BPELImplementationProvider(RuntimeComponent component,
+                                      BPELImplementation implementation,
+                                      EmbeddedODEServer odeServer,
+                                      TransactionManager txMgr) {
         this.component = component;
         this.implementation = implementation;
         this.odeServer = odeServer;
     }
 
     public Invoker createInvoker(RuntimeComponentService service, Operation 
operation) {
-        BPELInvoker invoker = new BPELInvoker(operation);
+        BPELInvoker invoker = new BPELInvoker(operation, odeServer, txMgr);
         return invoker;
     }
 
     public Invoker createCallbackInvoker(Operation operation) {
-        BPELInvoker invoker = new BPELInvoker(operation);
+        BPELInvoker invoker = new BPELInvoker(operation, odeServer, txMgr);
         return invoker;
     }
 
     public void start() {
         System.out.println("Starting " + component.getName() + " " + 
component.getClass().getName());
-        if (!odeServer.isInitialized()) odeServer.init();
-        
-        //FIXME:lresende
-        //odeServer.getBpelServer().register(implementation.getProcessConf());
+
+        try {
+            if (!odeServer.isInitialized())
+                // start ode server
+                odeServer.init();
+
+            URL deployURL = 
getClass().getClassLoader().getResource("deploy.xml");
+            File deploymentDir = new 
File(deployURL.toURI().getPath()).getParentFile();
+            System.out.println("Deploying : " + deploymentDir.toString());
+            System.out.println(deploymentDir);
+
+            // deploy the process
+            if (odeServer.isInitialized()) {
+                try {
+                    txMgr.begin();
+                    odeServer.deploy(new ODEDeployment(deploymentDir));
+                    txMgr.commit();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    txMgr.rollback();
+                }
+            }
+            
+        } catch(Exception e) {
+            e.printStackTrace();
+        }
+
+        // FIXME:lresende
+        // odeServer.getBpelServer().register(implementation.getProcessConf());
     }
 
     public void stop() {

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?rev=575546&r1=575545&r2=575546&view=diff
==============================================================================
--- 
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
 Thu Sep 13 22:53:58 2007
@@ -18,30 +18,41 @@
  */
 package org.apache.tuscany.sca.implementation.bpel.provider;
 
+import javax.transaction.TransactionManager;
+
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
 import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer;
+import org.apache.tuscany.sca.implementation.bpel.ode.GeronimoTxFactory;
 import org.apache.tuscany.sca.provider.ImplementationProvider;
 import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 
 /**
- * The model representing a sample CRUD implementation in an SCA assembly 
model.
+ * BPEL Implementation provider factory
+ * 
+ * We use the provider factory to instantiate a ODE server that is going to be 
injected in all BPEL components
  */
 public class BPELImplementationProviderFactory implements 
ImplementationProviderFactory<BPELImplementation> {
 
     private EmbeddedODEServer odeServer;
+    private TransactionManager txMgr;
 
     /**
-     * Constructs a new CRUD implementation.
-     * @param odeServer the server instance passed to the implementation 
provider
+     * Default constructor receiving an extension point
+     * @param extensionPoints
      */
     public BPELImplementationProviderFactory(ExtensionPointRegistry 
extensionPoints) {
-        this.odeServer = new EmbeddedODEServer(null);
+        GeronimoTxFactory txFactory = new GeronimoTxFactory();
+        txMgr = txFactory.getTransactionManager();
+        this.odeServer = new EmbeddedODEServer(txMgr);
     }
 
+    /**
+     * Creates a new BPEL Implementation and inject the EmbeddedODEServer
+     */
     public ImplementationProvider 
createImplementationProvider(RuntimeComponent component, BPELImplementation 
implementation) {
-        return new BPELImplementationProvider(component, implementation, 
odeServer);
+        return new BPELImplementationProvider(component, implementation, 
odeServer, txMgr);
     }
     
     public Class<BPELImplementation> getModelType() {

Modified: 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java?rev=575546&r1=575545&r2=575546&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/provider/BPELInvoker.java
 Thu Sep 13 22:53:58 2007
@@ -21,6 +21,9 @@
 
 import java.lang.reflect.InvocationTargetException;
 
+import javax.transaction.TransactionManager;
+
+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.invocation.Message;
@@ -34,10 +37,13 @@
  * resource manager.
  */
 public class BPELInvoker implements Invoker {
+    private EmbeddedODEServer odeServer;
+    private TransactionManager txMgr;
     private Operation operation;
     
-    public BPELInvoker(Operation operation) {
+    public BPELInvoker(Operation operation, EmbeddedODEServer odeServer, 
TransactionManager txMgr) {
         this.operation = operation;
+        this.odeServer = odeServer;
     }
     
     public Message invoke(Message msg) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to