You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by je...@apache.org on 2010/05/02 19:03:00 UTC
svn commit: r940263 [2/16] - in /ode/trunk: ./ axis2-war/
axis2-war/src/main/assembly/
axis2-war/src/main/webapp/WEB-INF/conf.hib-derby/
axis2-war/src/main/webapp/WEB-INF/conf.jpa-derby/
axis2-war/src/main/webapp/WEB-INF/conf/ axis2-war/src/test/java/o...
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/HibDaoConnectionFactoryImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/HibDaoConnectionFactoryImpl.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/HibDaoConnectionFactoryImpl.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/HibDaoConnectionFactoryImpl.java Sun May 2 17:02:51 2010
@@ -1,25 +1,24 @@
package org.apache.ode.axis2.instancecleanup;
import java.util.Properties;
-
import javax.sql.DataSource;
import javax.transaction.TransactionManager;
-import org.apache.ode.bpel.dao.BpelDAOConnection;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceProfileDAO;
-import org.apache.ode.bpel.dao.ProcessProfileDAO;
-import org.apache.ode.daohib.SessionManager;
-import org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl;
-import org.apache.ode.daohib.bpel.BpelDAOConnectionImpl;
-import org.apache.ode.daohib.bpel.ProcessDaoImpl;
-import org.apache.ode.daohib.bpel.ProcessInstanceDaoImpl;
-import org.apache.ode.daohib.bpel.ProcessInstanceProfileDaoImpl;
-import org.apache.ode.daohib.bpel.ProcessProfileDaoImpl;
-import org.apache.ode.daohib.bpel.hobj.HProcess;
-import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
-import org.hibernate.MappingException;
+
+import org.apache.ode.dao.bpel.BpelDAOConnection;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceProfileDAO;
+import org.apache.ode.dao.bpel.ProcessProfileDAO;
+import org.apache.ode.dao.hib.SessionManager;
+import org.apache.ode.dao.hib.bpel.BpelDAOConnectionFactoryImpl;
+import org.apache.ode.dao.hib.bpel.BpelDAOConnectionImpl;
+import org.apache.ode.dao.hib.bpel.ProcessDaoImpl;
+import org.apache.ode.dao.hib.bpel.ProcessInstanceDaoImpl;
+import org.apache.ode.dao.hib.bpel.ProcessInstanceProfileDaoImpl;
+import org.apache.ode.dao.hib.bpel.ProcessProfileDaoImpl;
+import org.apache.ode.dao.hib.bpel.hobj.HProcess;
+import org.apache.ode.dao.hib.bpel.hobj.HProcessInstance;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.event.PostInsertEvent;
@@ -32,19 +31,16 @@ public class HibDaoConnectionFactoryImpl
private static ProcessDaoImpl process;
@Override
- protected SessionManager createSessionManager(Properties properties, DataSource ds, TransactionManager tm) {
- _staticSessionManager = new SessionManager(properties, ds, tm) {
- @Override
- public Configuration getDefaultConfiguration() throws MappingException {
- Configuration conf = super.getDefaultConfiguration();
- conf.setListener("post-insert", HibDaoConnectionFactoryImpl.this);
- return conf;
- }
- };
-
- return _staticSessionManager;
+ public void init(Properties initialProps, TransactionManager mgr, Object env) {
+ _ds = (DataSource) env;
+ _txm = mgr;
+ Configuration conf = SessionManager.getDefaultConfiguration();
+ conf.setListener("post-insert", HibDaoConnectionFactoryImpl.this);
+ _sessionManager = setupSessionManager(conf, initialProps, _txm, _ds);
+ _staticSessionManager = _sessionManager;
}
+ @Override
public BpelDAOConnection getConnection() {
return new ProfilingBpelDAOConnectionImpl(_sessionManager);
}
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/JpaDaoConnectionFactoryImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/JpaDaoConnectionFactoryImpl.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/JpaDaoConnectionFactoryImpl.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/JpaDaoConnectionFactoryImpl.java Sun May 2 17:02:51 2010
@@ -1,24 +1,26 @@
package org.apache.ode.axis2.instancecleanup;
-import java.util.Properties;
+import java.util.Properties;
import javax.persistence.EntityManager;
+import javax.transaction.TransactionManager;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceProfileDAO;
-import org.apache.ode.bpel.dao.ProcessProfileDAO;
-import org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl;
-import org.apache.ode.dao.jpa.BPELDAOConnectionImpl;
-import org.apache.ode.dao.jpa.ProcessDAOImpl;
-import org.apache.ode.dao.jpa.ProcessInstanceDAOImpl;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceProfileDAO;
+import org.apache.ode.dao.bpel.ProcessProfileDAO;
+import org.apache.ode.dao.jpa.JpaOperator;
+import org.apache.ode.dao.jpa.openjpa.BpelDAOConnectionFactoryImpl;
+import org.apache.ode.dao.jpa.bpel.BpelDAOConnectionImpl;
+import org.apache.ode.dao.jpa.bpel.ProcessDAOImpl;
+import org.apache.ode.dao.jpa.bpel.ProcessInstanceDAOImpl;
import org.apache.ode.dao.jpa.ProcessInstanceProfileDAOImpl;
import org.apache.ode.dao.jpa.ProcessProfileDAOImpl;
import org.apache.openjpa.event.LifecycleEvent;
import org.apache.openjpa.event.PersistListener;
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
-public class JpaDaoConnectionFactoryImpl extends BPELDAOConnectionFactoryImpl implements PersistListener {
+public class JpaDaoConnectionFactoryImpl extends BpelDAOConnectionFactoryImpl implements PersistListener {
private static ProcessInstanceDAO instance;
private static ProcessDAO process;
@@ -31,18 +33,18 @@ public class JpaDaoConnectionFactoryImpl
}
@Override
- public void init(Properties properties) {
- super.init(properties);
+ public void init(Properties properties, TransactionManager mgr, Object env) {
+ super.init(properties,mgr,env);
if( _emf instanceof OpenJPAEntityManagerFactorySPI ) {
((OpenJPAEntityManagerFactorySPI)_emf).addLifecycleListener(this, ProcessInstanceDAOImpl.class, ProcessDAOImpl.class);
}
}
-
+
@Override
- protected BPELDAOConnectionImpl createBPELDAOConnection(EntityManager em) {
- return new ProfilingBPELDAOConnectionImpl(em);
+ protected BpelDAOConnectionImpl createBPELDAOConnection(EntityManager em, TransactionManager mgr, JpaOperator operator) {
+ return new ProfilingBPELDAOConnectionImpl(em, mgr, operator);
}
-
+
public void afterPersist(LifecycleEvent event) {
if( event.getSource() instanceof ProcessInstanceDAOImpl ) {
instance = (ProcessInstanceDAOImpl)event.getSource();
@@ -54,9 +56,9 @@ public class JpaDaoConnectionFactoryImpl
public void beforePersist(LifecycleEvent event) {
}
- public static class ProfilingBPELDAOConnectionImpl extends BPELDAOConnectionImpl implements ProfilingBpelDAOConnection {
- public ProfilingBPELDAOConnectionImpl(EntityManager em) {
- super(em);
+ public static class ProfilingBPELDAOConnectionImpl extends BpelDAOConnectionImpl implements ProfilingBpelDAOConnection {
+ public ProfilingBPELDAOConnectionImpl(EntityManager em, TransactionManager mgr, JpaOperator operator) {
+ super(em, mgr, operator);
}
public ProcessProfileDAO createProcessProfile(ProcessDAO process) {
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java Sun May 2 17:02:51 2010
@@ -1,7 +1,7 @@
package org.apache.ode.axis2.instancecleanup;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
import org.hibernate.Query;
import org.testng.annotations.Test;
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProfilingBpelDAOConnection.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProfilingBpelDAOConnection.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProfilingBpelDAOConnection.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProfilingBpelDAOConnection.java Sun May 2 17:02:51 2010
@@ -1,10 +1,10 @@
package org.apache.ode.axis2.instancecleanup;
-import org.apache.ode.bpel.dao.BpelDAOConnection;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceProfileDAO;
-import org.apache.ode.bpel.dao.ProcessProfileDAO;
+import org.apache.ode.dao.bpel.BpelDAOConnection;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceProfileDAO;
+import org.apache.ode.dao.bpel.ProcessProfileDAO;
public interface ProfilingBpelDAOConnection extends BpelDAOConnection {
ProcessProfileDAO createProcessProfile(ProcessDAO instance);
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java Sun May 2 17:02:51 2010
@@ -1,8 +1,8 @@
package org.apache.ode.axis2.instancecleanup;
import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
import org.apache.ode.bpel.engine.cron.SystemSchedulesConfig;
import org.hibernate.Query;
import org.testng.annotations.AfterClass;
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/management/InstanceManagementTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/management/InstanceManagementTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/management/InstanceManagementTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/management/InstanceManagementTest.java Sun May 2 17:02:51 2010
@@ -80,22 +80,22 @@ public class InstanceManagementTest exte
notSoLongAgo.add(Calendar.MINUTE, -2);
String notSoLongAgoStr = xsdDF.format(notSoLongAgo.getTime());
listRoot = _client.buildMessage("listInstances", new String[] {"filter", "order", "limit"},
- new String[] {"name=DynPartnerResponder namespace=http://ode/bpel/responder " +
+ new String[] {"name=DynPartnerMain namespace=http://ode/bpel/unit-test " +
"started>=" + notSoLongAgoStr, "", "10"});
result = sendToIM(listRoot);
assert(result.toString().split("instance-info").length == 5);
}
- @Test
+/* @Test
public void testListAllInstances() throws Exception {
OMElement root = _client.buildMessage("listAllInstancesWithLimit", new String[] {"limit"}, new String[] {"1"});
OMElement result = sendToIM(root);
// We shold have only one instance (so 2 opening/closing elmts)
- assert(result.toString().split("instance-info").length == 3);
+ assert(result.toString().split("instance-info").length == 5);
// And one of our executed instances are there
assert(result.toString().indexOf("DynPartnerMain") >= 0 ||
result.toString().indexOf("DynPartnerResponder") >= 0);
- }
+ }*/
@Test
public void testInstanceSummaryListProcess() throws Exception {
@@ -133,7 +133,7 @@ public class InstanceManagementTest exte
@SuppressWarnings("unused")
OMElement result = sendToIM(root);
} catch (AxisFault axisFault) {
- assert(axisFault.getCause().toString().indexOf("InstanceNotFoundException") > 0);
+ assert(axisFault.getMessage().indexOf("InstanceNotFoundException") > 0);
}
}
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredProcessesTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredProcessesTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredProcessesTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredProcessesTest.java Sun May 2 17:02:51 2010
@@ -44,6 +44,7 @@ import java.io.FileFilter;
*
*
*/
+@Test(suiteName="SecuredProcessesTest-Basic")
public class SecuredProcessesTest extends Axis2TestBase {
private String testDir = "TestRampartBasic/secured-processes";
@@ -86,7 +87,7 @@ public class SecuredProcessesTest extend
}
server.deployProcess(bundleName);
try {
- ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(clientRepo, clientConfigFile);
+ ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContext(new TestConfigurator(odeRootAbsolutePath,clientRepo, clientConfigFile));
ServiceClient client = new ServiceClient(ctx, null);
Options options = new Options();
options.setTo(new EndpointReference("http://localhost:8888/processes/helloWorld"));
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredServicesTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredServicesTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredServicesTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/basic/SecuredServicesTest.java Sun May 2 17:02:51 2010
@@ -37,6 +37,7 @@ import java.io.FileFilter;
*
*
*/
+@Test(suiteName="SecuredServicesTest-Policy")
public class SecuredServicesTest extends Axis2TestBase {
private String testDir= "TestRampartBasic/secured-services";
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredProcessesTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredProcessesTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredProcessesTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredProcessesTest.java Sun May 2 17:02:51 2010
@@ -48,6 +48,7 @@ import java.io.FileFilter;
*
*
*/
+@Test(suiteName="SecuredProcessesTest-Policy")
public class SecuredProcessesTest extends Axis2TestBase {
private String testDir = "TestRampartPolicy/secured-processes";
@@ -58,7 +59,7 @@ public class SecuredProcessesTest extend
public Object[][] testPolicySamples() throws Exception {
File[] samples = new File(getClass().getClassLoader().getResource(testDir).getFile()).listFiles(new FileFilter() {
public boolean accept(File pathname) {
- return pathname.isDirectory() && pathname.getName().matches("process-sample0\\d");
+ return pathname.isDirectory() && pathname.getName().matches("process-sample\\d+");
}
});
Object[][] bundles = new Object[samples.length][];
@@ -91,7 +92,7 @@ public class SecuredProcessesTest extend
}
server.deployProcess(bundleName);
try {
- ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(clientRepo, null);
+ ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContext(new TestConfigurator(odeRootAbsolutePath,clientRepo, null));
ServiceClient client = new ServiceClient(ctx, null);
Options options = new Options();
// Rampart SymetricBinding (sample04) blows up if not provided with a soap action
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredServicesTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredServicesTest.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredServicesTest.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/axis2/rampart/policy/SecuredServicesTest.java Sun May 2 17:02:51 2010
@@ -33,6 +33,7 @@ import java.io.FileFilter;
*
*
*/
+@Test(suiteName="SecuredServicesTest-Policy")
public class SecuredServicesTest extends Axis2TestBase {
private String testDir = "TestRampartPolicy/secured-services";
@@ -41,7 +42,7 @@ public class SecuredServicesTest extends
public Object[][] testPolicySamples() throws Exception {
File[] policies = new File(getClass().getClassLoader().getResource(testDir).getFile()).listFiles(new FileFilter() {
public boolean accept(File pathname) {
- return pathname.isDirectory() && pathname.getName().matches("process-sample\\d*\\-policy");
+ return pathname.isDirectory() && pathname.getName().matches("process-sample\\d+\\-policy");
}
});
Object[][] bundles = new Object[policies.length][];
Added: ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessInstanceProfileDAO.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessInstanceProfileDAO.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessInstanceProfileDAO.java (added)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessInstanceProfileDAO.java Sun May 2 17:02:51 2010
@@ -0,0 +1,46 @@
+/*
+ * 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.ode.dao.bpel;
+
+import java.util.List;
+
+public interface ProcessInstanceProfileDAO extends ProcessProfileDAO {
+ ProcessDAO getProcess();
+
+ List<ActivityRecoveryDAO> findActivityRecoveriesByInstance();
+
+ List<CorrelationSetDAO> findCorrelationSetsByInstance();
+
+ List<FaultDAO> findFaultsByInstance();
+
+ List<MessageDAO> findMessagesByInstance();
+
+ List<MessageExchangeDAO> findMessageExchangesByInstance();
+
+ List<MessageRouteDAO> findMessageRoutesByInstance();
+
+ List<PartnerLinkDAO> findPartnerLinksByInstance();
+
+ List<ScopeDAO> findScopesByInstance();
+
+ List<XmlDataDAO> findXmlDataByInstance();
+
+ int countEventsByInstance();
+}
\ No newline at end of file
Added: ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessProfileDAO.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessProfileDAO.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessProfileDAO.java (added)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/bpel/ProcessProfileDAO.java Sun May 2 17:02:51 2010
@@ -0,0 +1,50 @@
+/*
+ * 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.ode.dao.bpel;
+
+import java.util.List;
+
+public interface ProcessProfileDAO {
+ boolean doesProcessExist();
+
+ List<ProcessInstanceDAO> findInstancesByProcess();
+
+ List<ActivityRecoveryDAO> findActivityRecoveriesByProcess();
+
+ List<CorrelationSetDAO> findCorrelationSetsByProcess();
+
+ List<CorrelatorDAO> findCorrelatorsByProcess();
+
+ List<FaultDAO> findFaultsByProcess();
+
+ List<MessageDAO> findMessagesByProcess();
+
+ List<MessageExchangeDAO> findMessageExchangesByProcess();
+
+ List<MessageRouteDAO> findMessageRoutesByProcess();
+
+ List<PartnerLinkDAO> findPartnerLinksByProcess();
+
+ List<ScopeDAO> findScopesByProcess();
+
+ List<XmlDataDAO> findXmlDataByProcess();
+
+ int countEventsByProcess();
+}
\ No newline at end of file
Added: ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessInstanceProfileDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessInstanceProfileDaoImpl.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessInstanceProfileDaoImpl.java (added)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessInstanceProfileDaoImpl.java Sun May 2 17:02:51 2010
@@ -0,0 +1,138 @@
+/*
+ * 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.ode.dao.hib.bpel;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.dao.bpel.ActivityRecoveryDAO;
+import org.apache.ode.dao.bpel.CorrelationSetDAO;
+import org.apache.ode.dao.bpel.FaultDAO;
+import org.apache.ode.dao.bpel.MessageDAO;
+import org.apache.ode.dao.bpel.MessageExchangeDAO;
+import org.apache.ode.dao.bpel.MessageRouteDAO;
+import org.apache.ode.dao.bpel.PartnerLinkDAO;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceProfileDAO;
+import org.apache.ode.dao.bpel.ScopeDAO;
+import org.apache.ode.dao.bpel.XmlDataDAO;
+import org.apache.ode.dao.hib.SessionManager;
+import org.apache.ode.dao.hib.bpel.hobj.HActivityRecovery;
+import org.apache.ode.dao.hib.bpel.hobj.HCorrelationSet;
+import org.apache.ode.dao.hib.bpel.hobj.HCorrelatorSelector;
+import org.apache.ode.dao.hib.bpel.hobj.HFaultData;
+import org.apache.ode.dao.hib.bpel.hobj.HMessage;
+import org.apache.ode.dao.hib.bpel.hobj.HMessageExchange;
+import org.apache.ode.dao.hib.bpel.hobj.HPartnerLink;
+import org.apache.ode.dao.hib.bpel.hobj.HScope;
+import org.apache.ode.dao.hib.bpel.hobj.HXmlData;
+import org.hibernate.Query;
+
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Hibernate based {@link ProcessInstanceProfileDao} implementation
+ */
+public class ProcessInstanceProfileDaoImpl extends ProcessProfileDaoImpl implements ProcessInstanceProfileDAO {
+ @SuppressWarnings("unused")
+ private static final Log __log = LogFactory.getLog(ProcessInstanceProfileDaoImpl.class);
+
+ private ProcessInstanceDaoImpl instance;
+
+ public ProcessInstanceProfileDaoImpl(SessionManager sm, ProcessInstanceDaoImpl instance) {
+ super(sm, (ProcessDaoImpl)instance.getProcess());
+ entering("ProcessInstanceProfileDaoImpl.ProcessInstanceProfileDaoImpl");
+ this.instance = instance;
+ }
+
+ public SessionManager getSessionManager() {
+ return _sm;
+ }
+
+ public ProcessDAO getProcess() {
+ return process;
+ }
+
+ public List<MessageExchangeDAO> findMessageExchangesByInstance() {
+ List<MessageExchangeDAO> results = findByInstance("from HMessageExchange as x where x.instance = :instance)", MessageExchangeDaoImpl.class, HMessageExchange.class);
+// LogFactory.getLog(CleanTestBase.class).debug("MESSAGE_EXCHANGE left over: " + HibernateDao.toIdArray(results));
+
+ return results;
+ }
+
+ public List<MessageRouteDAO> findMessageRoutesByInstance() {
+ return findByInstance("from HCorrelatorSelector as s where s.instance = :instance", MessageRouteDaoImpl.class, HCorrelatorSelector.class);
+ }
+
+ public List<MessageDAO> findMessagesByInstance() {
+ return findByInstance("from HMessage m where m in(select x.request from HMessageExchange x where x.instance = :instance) or m in(select x.response from HMessageExchange x where x.instance = :instance)", MessageDaoImpl.class, HMessage.class);
+ }
+
+ public List<PartnerLinkDAO> findPartnerLinksByInstance() {
+ return findByInstance("from HPartnerLink as p where p.scope.instance = :instance)", PartnerLinkDAOImpl.class, HPartnerLink.class);
+ }
+
+ public List<ScopeDAO> findScopesByInstance() {
+ return findByInstance("from HScope as s where s.instance = :instance)", ScopeDaoImpl.class, HScope.class);
+ }
+
+ public List<XmlDataDAO> findXmlDataByInstance() {
+ return findByInstance("from HXmlData as x where x.instance = :instance", XmlDataDaoImpl.class, HXmlData.class);
+ }
+
+ public List<ActivityRecoveryDAO> findActivityRecoveriesByInstance() {
+ return findByInstance("from HActivityRecovery as a where a.instance = :instance", ActivityRecoveryDaoImpl.class, HActivityRecovery.class);
+ }
+
+ public List<CorrelationSetDAO> findCorrelationSetsByInstance() {
+ return findByInstance("from HCorrelationSet as s where s.instance = :instance", CorrelationSetDaoImpl.class, HCorrelationSet.class);
+ }
+
+ public List<FaultDAO> findFaultsByInstance() {
+ return findByInstance("from HFaultData as f where f in (select i.fault from HProcessInstance as i where i = :instance and i.fault is not null)", FaultDAOImpl.class, HFaultData.class);
+ }
+
+ public int countEventsByInstance() {
+ Query query = getSession().createQuery("select count(id) from HBpelEvent as e where e.instance = :instance");
+ query.setParameter("instance", instance._hobj);
+
+ return ((Long)query.uniqueResult()).intValue();
+ }
+
+ @SuppressWarnings("unchecked")
+ protected <D, H> List<D> findByInstance(String queryString, Class daoClass, Class hibClass) {
+ List<D> results = new ArrayList<D>();
+
+ try {
+ Query query = getSession().createQuery(queryString);
+ query.setParameter("instance", instance._hobj);
+ for( H hibObj : (Collection<H>)query.list()) {
+ Constructor<D> c = daoClass.getConstructor(SessionManager.class, hibClass);
+ results.add( c.newInstance(_sm, hibObj) );
+ }
+ } catch( Exception e ) {
+ throw new RuntimeException(e);
+ }
+
+ return results;
+ }
+}
\ No newline at end of file
Added: ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessProfileDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessProfileDaoImpl.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessProfileDaoImpl.java (added)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/hib/bpel/ProcessProfileDaoImpl.java Sun May 2 17:02:51 2010
@@ -0,0 +1,156 @@
+/*
+ * 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.ode.dao.hib.bpel;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.dao.bpel.ActivityRecoveryDAO;
+import org.apache.ode.dao.bpel.CorrelationSetDAO;
+import org.apache.ode.dao.bpel.CorrelatorDAO;
+import org.apache.ode.dao.bpel.FaultDAO;
+import org.apache.ode.dao.bpel.MessageDAO;
+import org.apache.ode.dao.bpel.MessageExchangeDAO;
+import org.apache.ode.dao.bpel.MessageRouteDAO;
+import org.apache.ode.dao.bpel.PartnerLinkDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessProfileDAO;
+import org.apache.ode.dao.bpel.ScopeDAO;
+import org.apache.ode.dao.bpel.XmlDataDAO;
+import org.apache.ode.dao.hib.SessionManager;
+import org.apache.ode.dao.hib.bpel.hobj.HActivityRecovery;
+import org.apache.ode.dao.hib.bpel.hobj.HCorrelationSet;
+import org.apache.ode.dao.hib.bpel.hobj.HCorrelator;
+import org.apache.ode.dao.hib.bpel.hobj.HCorrelatorSelector;
+import org.apache.ode.dao.hib.bpel.hobj.HFaultData;
+import org.apache.ode.dao.hib.bpel.hobj.HMessage;
+import org.apache.ode.dao.hib.bpel.hobj.HMessageExchange;
+import org.apache.ode.dao.hib.bpel.hobj.HPartnerLink;
+import org.apache.ode.dao.hib.bpel.hobj.HProcess;
+import org.apache.ode.dao.hib.bpel.hobj.HProcessInstance;
+import org.apache.ode.dao.hib.bpel.hobj.HScope;
+import org.apache.ode.dao.hib.bpel.hobj.HXmlData;
+import org.hibernate.Query;
+
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Hibernate based {@link ProcessProfileDAO} implementation
+ */
+public class ProcessProfileDaoImpl extends HibernateDao implements ProcessProfileDAO {
+ @SuppressWarnings("unused")
+ private static final Log __log = LogFactory.getLog(ProcessProfileDaoImpl.class);
+
+ protected ProcessDaoImpl process;
+
+ public ProcessProfileDaoImpl(SessionManager sm, ProcessDaoImpl process) {
+ super(sm, process._hobj);
+ entering("ProcessProfileDaoImpl.ProcessProfileDaoImpl");
+ this.process = process;
+ }
+
+ public SessionManager getSessionManager() {
+ return _sm;
+ }
+
+ @SuppressWarnings("unchecked")
+ public boolean doesProcessExist() {
+ boolean exists = false;
+
+ Query query = getSession().createQuery("select count(id) from HProcess as p where p.guid = :guid");
+ query.setParameter("guid", ((HProcess)process._hobj).getGuid());
+ for( Long cnt : (List<Long>)query.list()) {
+ exists = cnt.intValue() > 0;
+ }
+
+ return exists;
+ }
+
+ public List<ProcessInstanceDAO> findInstancesByProcess() {
+ return findByProcess("from HProcessInstance as i where i.process = :process)", ProcessInstanceDaoImpl.class, HProcessInstance.class);
+ }
+
+ public List<MessageExchangeDAO> findMessageExchangesByProcess() {
+ return findByProcess("from HMessageExchange as x where x.instance.process = :process)", MessageExchangeDaoImpl.class, HMessageExchange.class);
+ }
+
+ public List<MessageRouteDAO> findMessageRoutesByProcess() {
+ return findByProcess("from HCorrelatorSelector as s where s.instance.process = :process)", MessageRouteDaoImpl.class, HCorrelatorSelector.class);
+ }
+
+ public List<MessageDAO> findMessagesByProcess() {
+ return findByProcess("from HMessage m where m in(select x.request from HMessageExchange x where x.process = :process) or m in(select x.response from HMessageExchange x where x.process = :process)", MessageDaoImpl.class, HMessage.class);
+ }
+
+ public List<PartnerLinkDAO> findPartnerLinksByProcess() {
+ return findByProcess("from HPartnerLink as p where p.process = :process)", PartnerLinkDAOImpl.class, HPartnerLink.class);
+ }
+
+ public List<ScopeDAO> findScopesByProcess() {
+ return findByProcess("from HScope as s where s.instance.process = :process", ScopeDaoImpl.class, HScope.class);
+ }
+
+ public List<XmlDataDAO> findXmlDataByProcess() {
+ return findByProcess("from HXmlData as x where x.instance.process = :process", XmlDataDaoImpl.class, HXmlData.class);
+ }
+
+ public List<ActivityRecoveryDAO> findActivityRecoveriesByProcess() {
+ return findByProcess("from HActivityRecovery as a where a.instance.process = :process", ActivityRecoveryDaoImpl.class, HActivityRecovery.class);
+ }
+
+ public List<CorrelationSetDAO> findCorrelationSetsByProcess() {
+ return findByProcess("from HCorrelationSet as s where s.process = :process", CorrelationSetDaoImpl.class, HCorrelationSet.class);
+ }
+
+ public List<CorrelatorDAO> findCorrelatorsByProcess() {
+ return findByProcess("from HCorrelator as c where c.process = :process", CorrelatorDaoImpl.class, HCorrelator.class);
+ }
+
+ public List<FaultDAO> findFaultsByProcess() {
+ return findByProcess("from HFaultData as f where f in (select i.fault from HProcessInstance as i where i.process = :process and i.fault is not null)", FaultDAOImpl.class, HFaultData.class);
+ }
+
+ public int countEventsByProcess() {
+ Query query = getSession().createQuery("select count(id) from HBpelEvent as e where e.instance.process = :process");
+ query.setParameter("process", process._hobj);
+
+ return ((Long)query.uniqueResult()).intValue();
+ }
+
+ @SuppressWarnings("unchecked")
+ protected <D, H> List<D> findByProcess(String queryString, Class daoClass, Class hibClass) {
+ List<D> results = new ArrayList<D>();
+
+ try {
+ Query query = getSession().createQuery(queryString);
+ query.setParameter("process", process._hobj);
+ for( H hibObj : (Collection<H>)query.list()) {
+ Constructor<D> c = daoClass.getConstructor(SessionManager.class, hibClass);
+ results.add( c.newInstance(_sm, hibObj) );
+ }
+ } catch( Exception e ) {
+ throw new RuntimeException(e);
+ }
+
+ return results;
+ }
+}
\ No newline at end of file
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessInstanceProfileDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessInstanceProfileDAOImpl.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessInstanceProfileDAOImpl.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessInstanceProfileDAOImpl.java Sun May 2 17:02:51 2010
@@ -21,23 +21,26 @@ package org.apache.ode.dao.jpa;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
-import org.apache.ode.bpel.dao.CorrelationSetDAO;
-import org.apache.ode.bpel.dao.FaultDAO;
-import org.apache.ode.bpel.dao.MessageDAO;
-import org.apache.ode.bpel.dao.MessageExchangeDAO;
-import org.apache.ode.bpel.dao.MessageRouteDAO;
-import org.apache.ode.bpel.dao.PartnerLinkDAO;
-import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceProfileDAO;
-import org.apache.ode.bpel.dao.ScopeDAO;
-import org.apache.ode.bpel.dao.XmlDataDAO;
+import org.apache.ode.dao.bpel.ActivityRecoveryDAO;
+import org.apache.ode.dao.bpel.CorrelationSetDAO;
+import org.apache.ode.dao.bpel.FaultDAO;
+import org.apache.ode.dao.bpel.MessageDAO;
+import org.apache.ode.dao.bpel.MessageExchangeDAO;
+import org.apache.ode.dao.bpel.MessageRouteDAO;
+import org.apache.ode.dao.bpel.PartnerLinkDAO;
+import org.apache.ode.dao.bpel.ProcessDAO;
+import org.apache.ode.dao.bpel.ScopeDAO;
+import org.apache.ode.dao.bpel.XmlDataDAO;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import org.apache.ode.dao.bpel.ProcessInstanceProfileDAO;
+import org.apache.ode.dao.jpa.bpel.MessageExchangeDAOImpl;
+import org.apache.ode.dao.jpa.bpel.ProcessDAOImpl;
+import org.apache.ode.dao.jpa.bpel.ProcessInstanceDAOImpl;
/**
* OpenJPA based {@link ProcessInstanceProfileDAO} implementation
Modified: ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessProfileDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessProfileDAOImpl.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessProfileDAOImpl.java (original)
+++ ode/trunk/axis2-war/src/test/java/org/apache/ode/dao/jpa/ProcessProfileDAOImpl.java Sun May 2 17:02:51 2010
@@ -24,26 +24,27 @@ import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
-import org.apache.ode.bpel.dao.CorrelationSetDAO;
-import org.apache.ode.bpel.dao.CorrelatorDAO;
-import org.apache.ode.bpel.dao.FaultDAO;
-import org.apache.ode.bpel.dao.MessageDAO;
-import org.apache.ode.bpel.dao.MessageExchangeDAO;
-import org.apache.ode.bpel.dao.MessageRouteDAO;
-import org.apache.ode.bpel.dao.PartnerLinkDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.apache.ode.bpel.dao.ProcessProfileDAO;
-import org.apache.ode.bpel.dao.ScopeDAO;
-import org.apache.ode.bpel.dao.XmlDataDAO;
+import org.apache.ode.dao.bpel.ActivityRecoveryDAO;
+import org.apache.ode.dao.bpel.CorrelationSetDAO;
+import org.apache.ode.dao.bpel.CorrelatorDAO;
+import org.apache.ode.dao.bpel.FaultDAO;
+import org.apache.ode.dao.bpel.MessageDAO;
+import org.apache.ode.dao.bpel.MessageExchangeDAO;
+import org.apache.ode.dao.bpel.MessageRouteDAO;
+import org.apache.ode.dao.bpel.PartnerLinkDAO;
+import org.apache.ode.dao.bpel.ProcessInstanceDAO;
+import org.apache.ode.dao.bpel.ProcessProfileDAO;
+import org.apache.ode.dao.bpel.ScopeDAO;
+import org.apache.ode.dao.bpel.XmlDataDAO;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import org.apache.ode.dao.jpa.bpel.ProcessDAOImpl;
/**
* OpenJPA based {@link ProcessProfileDAO} implementation
*/
-public class ProcessProfileDAOImpl extends OpenJPADAO implements ProcessProfileDAO {
+public class ProcessProfileDAOImpl implements ProcessProfileDAO {
@SuppressWarnings("unused")
private static final Log __log = LogFactory.getLog(ProcessProfileDAOImpl.class);
Modified: ode/trunk/axis2-war/src/test/resources/TestRampartPolicy/secured-processes/process-sample02_standalone_policy/sample02-policy-for-service.xml
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestRampartPolicy/secured-processes/process-sample02_standalone_policy/sample02-policy-for-service.xml?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestRampartPolicy/secured-processes/process-sample02_standalone_policy/sample02-policy-for-service.xml (original)
+++ ode/trunk/axis2-war/src/test/resources/TestRampartPolicy/secured-processes/process-sample02_standalone_policy/sample02-policy-for-service.xml Sun May 2 17:02:51 2010
@@ -56,7 +56,7 @@
<ramp:signatureCrypto>
<ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
- <ramp:property name="org.apache.ws.security.crypto.merlin.file">service.jks</ramp:property>
+ <ramp:property name="org.apache.ws.security.crypto.merlin.file">TestRampartPolicy/secured-processes/service.jks</ramp:property>
<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property>
</ramp:crypto>
</ramp:signatureCrypto>
Added: ode/trunk/axis2-war/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/log4j.properties?rev=940263&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/log4j.properties (added)
+++ ode/trunk/axis2-war/src/test/resources/log4j.properties Sun May 2 17:02:51 2010
@@ -0,0 +1,39 @@
+#
+# 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.
+#
+
+# Set root logger level to WARN and its only appender to CONSOLE
+log4j.rootLogger=WARN, CONSOLE, FILE
+
+# log4j properties to work with commandline tools.
+#log4j.category.org.apache.ode=DEBUG
+#log4j.category.org.apache.ode.bpel.engine.ODEProcess=DEBUG
+#log4j.category.org.apache.ode.sql=DEBUG
+#log4j.category.org.apache.openjpa=DEBUG
+#log4j.category.org.apache.ode.bpel.engine.cron.CronScheduler=DEBUG
+#log4j.category.org.apache.ode.dao.hib.bpel.CriteriaBuilder=DEBUG
+
+# Console appender
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%p - %C{1}.%M(%L) | %m%n
+
+log4j.appender.FILE=org.apache.log4j.FileAppender
+log4j.appender.FILE.File=target/war-test.log
+log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
+log4j.appender.FILE.layout.ConversionPattern=%d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - %m%n
+log4j.appender.FILE.append=false
+
Modified: ode/trunk/axis2/pom.xml
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/pom.xml?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2/pom.xml (original)
+++ ode/trunk/axis2/pom.xml Sun May 2 17:02:51 2010
@@ -19,106 +19,150 @@
-->
<project>
- <modelVersion>4.0.0</modelVersion>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-axis2</artifactId>
+ <name>ODE :: AXIS2</name>
+ <parent>
<groupId>org.apache.ode</groupId>
- <artifactId>ode-axis2</artifactId>
- <name>ODE :: AXIS2</name>
- <parent>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode</artifactId>
- <version>2.0-SNAPSHOT</version>
- </parent>
-
- <properties>
- <rampart.version>1.4</rampart.version>
- <servlet.version>2.4</servlet.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-compiler</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-connector</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-dao</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-il-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-engine</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-tools</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-scheduler-simple</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-store</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-schemas</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-utils</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>${servlet.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.rampart</groupId>
- <artifactId>rampart-core</artifactId>
- <version>${rampart.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.rampart</groupId>
- <artifactId>rampart-policy</artifactId>
- <version>${rampart.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.rampart</groupId>
- <artifactId>rampart-trust</artifactId>
- <version>${rampart.version}</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>**/ProcessManagementTest.java</exclude>
- <exclude>**/ExecutionPathTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
+ <artifactId>ode</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </parent>
+
+ <properties>
+ <rampart.version>1.4</rampart.version>
+ <servlet.version>2.4</servlet.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-compiler</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-connector</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-dao</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-il-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-engine</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-tools</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-scheduler-simple</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-store</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-schemas</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.modules</groupId>
+ <artifactId>geronimo-kernel</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.components</groupId>
+ <artifactId>geronimo-connector</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.components</groupId>
+ <artifactId>geronimo-transaction</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jencks</groupId>
+ <artifactId>jencks</artifactId>
+ <version>${jencks.version}</version>
+ <classifier>all</classifier>
+ <exclusions>
+ <exclusion>
+ <groupId>geronimo</groupId>
+ <artifactId>geronimo-connector</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>${servlet.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.rampart</groupId>
+ <artifactId>rampart-core</artifactId>
+ <version>${rampart.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.rampart</groupId>
+ <artifactId>rampart-policy</artifactId>
+ <version>${rampart.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.rampart</groupId>
+ <artifactId>rampart-trust</artifactId>
+ <version>${rampart.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/ProcessManagementTest.java</exclude>
+ <exclude>**/ExecutionPathTest.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>wsdl</classifier>
+ <classesDirectory>src/main/wsdl</classesDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/Messages.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/Messages.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/Messages.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/Messages.java Sun May 2 17:02:51 2010
@@ -123,8 +123,16 @@ public class Messages extends MessageBun
return "Shutdown completed. ";
}
- public String msgOdeUsingDAOImpl(String className) {
- return format("Using DAO Connection Factory class {0}.", className);
+ public String msgOdeUsingBpelDAOImpl(String className) {
+ return format("Using Bpel DAO Connection Factory class {0}.", className);
+ }
+
+ public String msgOdeUsingStoreDAOImpl(String className) {
+ return format("Using Conf Store DAO Connection Factory class {0}.", className);
+ }
+
+ public String msgOdeUsingSchedDAOImpl(String className) {
+ return format("Using Scheduler DAO Connection Factory class {0}.", className);
}
public String msgDAOInstantiationFailed(String className) {
Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Sun May 2 17:02:51 2010
@@ -67,7 +67,7 @@ import org.apache.ode.bpel.extension.Ext
import org.apache.ode.bpel.extension.ExtensionBundleValidation;
import org.apache.ode.bpel.connector.BpelServerConnector;
import org.apache.ode.bpel.context.ContextInterceptor;
-import org.apache.ode.bpel.dao.BpelDAOConnectionFactory;
+import org.apache.ode.dao.bpel.BpelDAOConnectionFactory;
import org.apache.ode.bpel.engine.BpelServerImpl;
import org.apache.ode.bpel.engine.CountLRUDehydrationPolicy;
import org.apache.ode.bpel.engine.cron.CronScheduler;
@@ -83,8 +83,10 @@ import org.apache.ode.bpel.iapi.Schedule
import org.apache.ode.bpel.intercept.MessageExchangeInterceptor;
import org.apache.ode.bpel.pmapi.InstanceManagement;
import org.apache.ode.bpel.pmapi.ProcessManagement;
+import org.apache.ode.dao.scheduler.SchedulerDAOConnectionFactory;
+import org.apache.ode.dao.store.ConfStoreDAOConnectionFactory;
import org.apache.ode.il.dbutil.Database;
-import org.apache.ode.scheduler.simple.JdbcDelegate;
+import org.apache.ode.il.txutil.TxManager;
import org.apache.ode.scheduler.simple.SimpleScheduler;
import org.apache.ode.store.ProcessStoreImpl;
import org.apache.ode.utils.GUID;
@@ -111,7 +113,9 @@ public class ODEServer {
protected ODEConfigProperties _odeConfig;
protected AxisConfiguration _axisConfig;
protected TransactionManager _txMgr;
- protected BpelDAOConnectionFactory _daoCF;
+ protected BpelDAOConnectionFactory _bpelDaoCF;
+ protected ConfStoreDAOConnectionFactory _storeDaoCF;
+ protected SchedulerDAOConnectionFactory _schedDaoCF;
protected Scheduler _scheduler;
protected ExecutorService _executorService;
@@ -302,15 +306,31 @@ public class ODEServer {
__log.debug("Store could not be shutdown.", t);
}
- if (_daoCF != null)
+ if (_bpelDaoCF != null)
try {
- _daoCF.shutdown();
+ _bpelDaoCF.shutdown();
} catch (Throwable ex) {
- __log.debug("DOA shutdown failed.", ex);
+ __log.debug("Bpel DOA shutdown failed.", ex);
} finally {
- _daoCF = null;
+ _bpelDaoCF = null;
+ }
+ if (_storeDaoCF != null)
+ try {
+ _storeDaoCF.shutdown();
+ } catch (Throwable ex) {
+ __log.debug("Store DOA shutdown failed.", ex);
+ } finally {
+ _storeDaoCF = null;
}
+ if (_schedDaoCF != null)
+ try {
+ _schedDaoCF.shutdown();
+ } catch (Throwable ex) {
+ __log.debug("Scheduler DOA shutdown failed.", ex);
+ } finally {
+ _bpelDaoCF = null;
+ }
if (_db != null)
try {
_db.shutdown();
@@ -445,18 +465,13 @@ public class ODEServer {
@SuppressWarnings("unchecked")
private void initTxMgr() throws ServletException {
- String txFactoryName = _odeConfig.getTxFactoryClass();
- __log.debug("Initializing transaction manager using " + txFactoryName);
try {
- Class txFactClass = this.getClass().getClassLoader().loadClass(txFactoryName);
- Object txFact = txFactClass.newInstance();
- _txMgr = (TransactionManager) txFactClass.getMethod("getTransactionManager", (Class[]) null).invoke(txFact);
- if (__logTx.isDebugEnabled() && System.getProperty("ode.debug.tx") != null)
- _txMgr = new DebugTxMgr(_txMgr);
+ TxManager mgr = new TxManager(_odeConfig);
+ _txMgr = mgr.createTransactionManager();
_axisConfig.addParameter("ode.transaction.manager", _txMgr);
} catch (Exception e) {
- __log.fatal("Couldn't initialize a transaction manager with factory: " + txFactoryName, e);
- throw new ServletException("Couldn't initialize a transaction manager with factory: " + txFactoryName, e);
+ __log.fatal("Couldn't initialize a transaction manager", e);
+ throw new ServletException("Couldn't initialize a transaction manager", e);
}
}
@@ -484,9 +499,13 @@ public class ODEServer {
* @throws ServletException
*/
protected void initDAO() throws ServletException {
- __log.info(__msgs.msgOdeUsingDAOImpl(_odeConfig.getDAOConnectionFactory()));
+ __log.info(__msgs.msgOdeUsingBpelDAOImpl(_odeConfig.getDAOConnectionFactory()));
+ __log.info(__msgs.msgOdeUsingStoreDAOImpl(_odeConfig.getDAOConfStoreConnectionFactory()));
+ __log.info(__msgs.msgOdeUsingSchedDAOImpl(_odeConfig.getDAOSchedulerConnectionFactory()));
try {
- _daoCF = _db.createDaoCF();
+ _bpelDaoCF = _db.createDaoCF();
+ _storeDaoCF = _db.createDaoStoreCF();
+ _schedDaoCF = _db.createDaoSchedulerCF();
} catch (Exception ex) {
String errmsg = __msgs.msgDAOInstantiationFailed(_odeConfig.getDAOConnectionFactory());
__log.error(errmsg, ex);
@@ -503,14 +522,11 @@ public class ODEServer {
}
protected ProcessStoreImpl createProcessStore(EndpointReferenceContext eprContext, DataSource ds) {
- return new ProcessStoreImpl(eprContext, ds, _odeConfig.getDAOConnectionFactory(), _odeConfig, false);
+ return new ProcessStoreImpl(eprContext,_txMgr,_storeDaoCF);
}
protected Scheduler createScheduler() {
- SimpleScheduler scheduler = new SimpleScheduler(new GUID().toString(),new JdbcDelegate(_db.getDataSource()), _odeConfig.getProperties());
- scheduler.setTransactionManager(_txMgr);
-
- return scheduler;
+ return new SimpleScheduler(new GUID().toString(),_schedDaoCF,_txMgr, _odeConfig.getProperties());
}
protected void initBpelServer(EndpointReferenceContextImpl eprContext) {
@@ -546,7 +562,7 @@ public class ODEServer {
polledRunnableProcessor.setContexts(_bpelServer.getContexts());
_scheduler.setPolledRunnableProcesser(polledRunnableProcessor);
- _bpelServer.setDaoConnectionFactory(_daoCF);
+ _bpelServer.setDaoConnectionFactory(_bpelDaoCF);
_bpelServer.setEndpointReferenceContext(eprContext);
_bpelServer.setMessageExchangeContext(new MessageExchangeContextImpl(this));
_bpelServer.setBindingContext(new BindingContextImpl(this));
@@ -765,102 +781,6 @@ public class ODEServer {
}
}
- // Transactional debugging stuff, to track down all these little annoying bugs.
- private class DebugTxMgr implements TransactionManager {
- private TransactionManager _tm;
-
- public DebugTxMgr(TransactionManager tm) {
- _tm = tm;
- }
-
- public void begin() throws NotSupportedException, SystemException {
- __logTx.debug("Txm begin");
- _tm.begin();
- }
-
- public void commit() throws HeuristicMixedException, HeuristicRollbackException, IllegalStateException, RollbackException, SecurityException, SystemException {
- __logTx.debug("Txm commit");
- for (StackTraceElement traceElement : Thread.currentThread().getStackTrace()) {
- __logTx.debug(traceElement.toString());
- }
- _tm.commit();
- }
-
- public int getStatus() throws SystemException {
- __logTx.debug("Txm status");
- return _tm.getStatus();
- }
-
- public Transaction getTransaction() throws SystemException {
- Transaction tx = _tm.getTransaction();
- __logTx.debug("Txm get tx " + tx);
- return tx == null ? null : new DebugTx(tx);
- }
-
- public void resume(Transaction transaction) throws IllegalStateException, InvalidTransactionException, SystemException {
- __logTx.debug("Txm resume");
- _tm.resume(transaction);
- }
-
- public void rollback() throws IllegalStateException, SecurityException, SystemException {
- __logTx.debug("Txm rollback");
- _tm.rollback();
- }
-
- public void setRollbackOnly() throws IllegalStateException, SystemException {
- __logTx.debug("Txm set rollback");
- _tm.setRollbackOnly();
- }
-
- public void setTransactionTimeout(int i) throws SystemException {
- __logTx.debug("Txm set tiemout " + i);
- _tm.setTransactionTimeout(i);
- }
-
- public Transaction suspend() throws SystemException {
- __logTx.debug("Txm suspend");
- return _tm.suspend();
- }
- }
-
- private class DebugTx implements Transaction {
- private Transaction _tx;
-
- public DebugTx(Transaction tx) {
- _tx = tx;
- }
-
- public void commit() throws HeuristicMixedException, HeuristicRollbackException, RollbackException, SecurityException, SystemException {
- __logTx.debug("Tx commit");
- _tx.commit();
- }
-
- public boolean delistResource(XAResource xaResource, int i) throws IllegalStateException, SystemException {
- return _tx.delistResource(xaResource, i);
- }
-
- public boolean enlistResource(XAResource xaResource) throws IllegalStateException, RollbackException, SystemException {
- return _tx.enlistResource(xaResource);
- }
-
- public int getStatus() throws SystemException {
- return _tx.getStatus();
- }
-
- public void registerSynchronization(Synchronization synchronization) throws IllegalStateException, RollbackException, SystemException {
- __logTx.debug("Synchronization registration on " + synchronization.getClass().getName());
- _tx.registerSynchronization(synchronization);
- }
-
- public void rollback() throws IllegalStateException, SystemException {
- __logTx.debug("Tx rollback");
- _tx.rollback();
- }
-
- public void setRollbackOnly() throws IllegalStateException, SystemException {
- __logTx.debug("Tx set rollback");
- _tx.setRollbackOnly();
- }
- }
+
}
Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/GeronimoFactory.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/GeronimoFactory.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/GeronimoFactory.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/util/GeronimoFactory.java Sun May 2 17:02:51 2010
@@ -27,8 +27,6 @@ import org.apache.geronimo.kernel.Kernel
import org.apache.geronimo.kernel.config.MultiParentClassLoader;
import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.kernel.repository.Repository;
-import org.apache.geronimo.transaction.context.GeronimoTransactionManager;
-import org.apache.geronimo.transaction.context.TransactionContextManager;
import javax.transaction.TransactionManager;
import java.io.File;
@@ -36,6 +34,8 @@ import java.net.MalformedURLException;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
+import org.apache.geronimo.transaction.context.TransactionContextManager;
+import org.apache.geronimo.transaction.context.GeronimoTransactionManager;
public class GeronimoFactory {
Modified: ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java (original)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java Sun May 2 17:02:51 2010
@@ -97,7 +97,7 @@ public interface Scheduler {
INVOKE_CHECK
}
- public static class JobDetails {
+ public static class JobDetails implements Cloneable {
public Long instanceId;
public String mexId;
public String processId;
@@ -108,7 +108,12 @@ public interface Scheduler {
public Integer retryCount;
public Boolean inMem;
public Map<String, Object> detailsExt = new HashMap<String, Object>();
-
+
+ @Override
+ public JobDetails clone() throws CloneNotSupportedException {
+ return (JobDetails)super.clone();
+ }
+
public Boolean getInMem() {
return inMem == null ? false : inMem;
}
Modified: ode/trunk/bpel-dao/pom.xml
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/pom.xml?rev=940263&r1=940262&r2=940263&view=diff
==============================================================================
--- ode/trunk/bpel-dao/pom.xml (original)
+++ ode/trunk/bpel-dao/pom.xml Sun May 2 17:02:51 2010
@@ -19,22 +19,28 @@
-->
<project>
+
<groupId>org.apache.ode</groupId>
<artifactId>ode-bpel-dao</artifactId>
<name>ODE :: DAO Interfaces</name>
<packaging>jar</packaging>
<modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode</artifactId>
- <version>2.0-SNAPSHOT</version>
- </parent>
+ <parent>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode-bpel-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ </dependency>
+ </dependencies>
- <dependencies>
- <dependency>
- <groupId>org.apache.ode</groupId>
- <artifactId>ode-bpel-api</artifactId>
- </dependency>
- </dependencies>
</project>
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnection.java Sun May 2 17:02:51 2010
@@ -0,0 +1,27 @@
+/*
+ * 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.ode.dao;
+
+public interface DAOConnection {
+
+ void close();
+
+ boolean isClosed();
+
+}
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/DAOConnectionFactory.java Sun May 2 17:02:51 2010
@@ -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.ode.dao;
+
+import java.util.Properties;
+import javax.transaction.TransactionManager;
+
+public interface DAOConnectionFactory<C extends DAOConnection> {
+
+ /**
+ *
+ * @return a connection object to a store.
+ */
+ public C getConnection();
+
+ /**
+ * Initializes the connection factory with properties required to establish a
+ * connection.
+ *
+ * @param properties
+ */
+
+ <E> void init(Properties p, TransactionManager txm, E envCtx);
+
+ void shutdown();
+
+}
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ActivityRecoveryDAO.java Sun May 2 17:02:51 2010
@@ -0,0 +1,46 @@
+/*
+ * 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.ode.dao.bpel;
+
+import java.util.Date;
+import org.w3c.dom.Element;
+
+/**
+ * Activity recovery object. Registered when activity enters recovery state.
+ */
+public interface ActivityRecoveryDAO {
+
+ long getActivityId();
+
+ String getChannel();
+
+ String getReason();
+
+ Element getDetails();
+
+ Date getDateTime();
+
+ String getActions();
+
+ String[] getActionsList();
+
+ int getRetries();
+
+}
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnection.java Sun May 2 17:02:51 2010
@@ -0,0 +1,154 @@
+/*
+ * 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.ode.dao.bpel;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import org.apache.ode.bpel.common.BpelEventFilter;
+import org.apache.ode.bpel.common.InstanceFilter;
+import org.apache.ode.bpel.evt.BpelEvent;
+import org.apache.ode.dao.DAOConnection;
+
+/**
+ * Represents the physical resource for connecting to the bpel state store.
+ */
+public interface BpelDAOConnection extends DAOConnection {
+ /**
+ * Return the DAO for a bpel process.
+ *
+ * @param processId
+ * name (identifier) of the process
+ *
+ * @return DAO
+ */
+ ProcessDAO getProcess(QName processId);
+
+ /**
+ * Retrieve a process instance from the database.
+ *
+ * @param iid
+ * instance identifier
+ * @return process instance
+ */
+ ProcessInstanceDAO getInstance(Long iid);
+
+ /**
+ * Retrieve a scope instance from the database.
+ *
+ * @param siidl
+ * scope instance identifier
+ * @return scope instance
+ */
+ ScopeDAO getScope(Long siidl);
+
+ /**
+ * Query instances in the database meeting the requested criteria.
+ *
+ * @param criteria
+ * @return Collection<ProcessInstanceDAO>
+ */
+ Collection<ProcessInstanceDAO> instanceQuery(InstanceFilter criteria);
+
+ /**
+ * Insert a BPEL event into the database.
+ *
+ * @param event
+ * a BPEL event
+ * @param process
+ * associated process (optional)
+ * @param instance
+ * associated instance (optional)
+ */
+ void insertBpelEvent(BpelEvent event, ProcessDAO process, ProcessInstanceDAO instance);
+
+ /**
+ * Execute a query for the timeline for BPEL events matching the criteria.
+ *
+ * @param ifilter
+ * instance filter (optional)
+ * @param efilter
+ * event filter (optional)
+ * @return List of event timestamps of events matching the criteria
+ */
+ List<Date> bpelEventTimelineQuery(InstanceFilter ifilter, BpelEventFilter efilter);
+
+ /**
+ * Execute a query to retrieve the BPEL events matching the criteria.
+ *
+ * @param ifilter
+ * instance filter
+ * @param efilter
+ * event filter
+ * @return
+ */
+ List<BpelEvent> bpelEventQuery(InstanceFilter ifilter, BpelEventFilter efilter);
+
+ void close();
+
+ Collection<ProcessInstanceDAO> instanceQuery(String expression);
+
+ Map<Long, Collection<CorrelationSetDAO>> getCorrelationSets(Collection<ProcessInstanceDAO> instances);
+
+ /**
+ * Creates a ProcessDAO that is not attached to the JPA session. This object is used in JPA queries
+ * when the process itself is already removed from the table.
+ *
+ * @param id the primary key id for the process
+ * @return the ProcessDAO
+ */
+ ProcessDAO createTransientProcess(Serializable id);
+
+ ProcessDAO createProcess(QName pid, QName type, String guid, long version);
+
+ /**
+ * Create a message exchange.
+ *
+ * @param mexId message exchange id (application-assigned)
+ * @param dir
+ * type of message exchange
+ * @return
+ */
+ MessageExchangeDAO createMessageExchange(String mexId, char dir);
+
+ MessageExchangeDAO getMessageExchange(String mexid);
+
+ void releaseMessageExchange(String mexid);
+
+ /**
+ * Returns an interface for process and instance management.
+ *
+ * @return a ProcessManagement DAO
+ */
+ ProcessManagementDAO getProcessManagement();
+
+ ResourceRouteDAO getResourceRoute(String url, String method);
+
+ void deleteResourceRoute(String url, String method);
+
+ /**
+ * Potentially loads a lot of (small) records, handle with care.
+ */
+ List<ResourceRouteDAO> getAllResourceRoutes();
+}
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/BpelDAOConnectionFactory.java Sun May 2 17:02:51 2010
@@ -0,0 +1,36 @@
+/*
+ * 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.ode.dao.bpel;
+
+import org.apache.ode.dao.DAOConnectionFactory;
+
+public interface BpelDAOConnectionFactory extends DAOConnectionFactory<BpelDAOConnection>{
+
+ /**
+ * Create a JTA transaction-aware state store connection to an the state store.
+ * The state store must have previously been created in order for this method to
+ * be succesful.
+ *
+ * @return a {@link BpelDAOConnection} connection object to the state
+ * store.
+ */
+ public BpelDAOConnection getConnection();
+
+
+}
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ContextValueDAO.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ContextValueDAO.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ContextValueDAO.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/ContextValueDAO.java Sun May 2 17:02:51 2010
@@ -0,0 +1,33 @@
+/*
+ * 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.ode.dao.bpel;
+
+
+public interface ContextValueDAO {
+
+ String getNamespace();
+ void setNamespace(String namespace);
+
+ String getKey();
+ void setKey(String key);
+
+ String getValue();
+ void setValue(String value);
+
+}
Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java?rev=940263&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/dao/bpel/CorrelationSetDAO.java Sun May 2 17:02:51 2010
@@ -0,0 +1,70 @@
+/*
+ * 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.ode.dao.bpel;
+
+import org.apache.ode.bpel.common.CorrelationKey;
+
+import javax.xml.namespace.QName;
+import java.util.Map;
+
+/**
+ * <p>
+ * Data access object representing a BPEL correlation set.
+ * Correlation sets are late-bound constants that "belong"
+ * either to the process or to a scope.
+ * </p>
+ */
+public interface CorrelationSetDAO {
+
+ public Long getCorrelationSetId();
+
+ /**
+ * Get the name of the correlation set.
+ * @return name of the correlation set
+ */
+ public String getName();
+
+ /**
+ * Get the scope instance to which this correlation set belongs.
+ *
+ * @see {@link ScopeDAO}
+ * @return owning scope instance
+ */
+ public ScopeDAO getScope();
+
+ /**
+ * Sets the value of the correlation set.
+ * @param names qualified names of the correlation set properties
+ * @param values
+ */
+ public void setValue(QName[] names, CorrelationKey values);
+
+ /**
+ * Get the value of the correlation set.
+ *
+ * @return valu of correlation set
+ */
+ public CorrelationKey getValue();
+
+ /**
+ * Get correlation set properties with their values as a Map.
+ * @return Map with the property qualified name as key and value as Map value.
+ */
+ public Map<QName, String> getProperties();
+}