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]