You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ka...@apache.org on 2009/11/21 03:14:23 UTC

svn commit: r882826 [1/2] - in /ode/branches/APACHE_ODE_1.X: axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ axis2/src/main/java/org/apache/ode/axis2/ bpel-api/src/main/java/org/apache/ode/bpel/iapi/ bpel-epr/src/main/java/org/apache/ode/...

Author: karthick
Date: Sat Nov 21 02:14:04 2009
New Revision: 882826

URL: http://svn.apache.org/viewvc?rev=882826&view=rev
Log:
ODE-694 De-Normalizing Large Data

Modified:
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFailureHibTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultHibTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessHibTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java
    ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java
    ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
    ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java
    ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/MockScheduler.java
    ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/MigrationHandler.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerScheduler.java
    ode/branches/APACHE_ODE_1.X/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate-db/src/main/sql/common.sql
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/FaultDAOImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/PartnerLinkDAOImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HXmlData.java
    ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/main/scripts/common.sql
    ode/branches/APACHE_ODE_1.X/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
    ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/DOMUtils.java

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFailureHibTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFailureHibTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFailureHibTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFailureHibTest.java Sat Nov 21 02:14:04 2009
@@ -21,7 +21,6 @@
 
 import org.apache.ode.bpel.dao.ProcessDAO;
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.hibernate.Query;
 
 public class CleanFailureHibTest extends CleanFailureTest {
     @Override
@@ -39,11 +38,4 @@
         return HibDaoConnectionFactoryImpl.getProcess();
     }
 
-    @Override
-    protected int getLargeDataCount(int echoCount) throws Exception {
-        initTM();
-        Query query = HibDaoConnectionFactoryImpl.getSession().createQuery("select count(id) from HLargeData as l");
-        
-        return ((Long)query.uniqueResult()).intValue();
-    }
 }
\ No newline at end of file

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultHibTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultHibTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultHibTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultHibTest.java Sat Nov 21 02:14:04 2009
@@ -20,7 +20,6 @@
 package org.apache.ode.axis2.instancecleanup;
 
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.hibernate.Query;
 
 public class CleanFaultHibTest extends CleanFaultTest {
     @Override
@@ -33,11 +32,4 @@
         return HibDaoConnectionFactoryImpl.getInstance();
     }
 
-    @Override
-    protected int getLargeDataCount(int echoCount) throws Exception {
-        initTM();
-        Query query = HibDaoConnectionFactoryImpl.getSession().createQuery("select count(id) from HLargeData as l");
-        
-        return ((Long)query.uniqueResult()).intValue();
-    }
 }
\ No newline at end of file

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanFaultTest.java Sat Nov 21 02:14:04 2009
@@ -25,6 +25,7 @@
 import org.apache.ode.bpel.dao.ProcessDAO;
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
 import org.apache.ode.bpel.iapi.ContextException;
+
 import org.testng.annotations.Test;
 
 public class CleanFaultTest extends CleanTestBase {

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessHibTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessHibTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessHibTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessHibTest.java Sat Nov 21 02:14:04 2009
@@ -20,7 +20,6 @@
 package org.apache.ode.axis2.instancecleanup;
 
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.hibernate.Query;
 
 public class CleanSuccessHibTest extends CleanSuccessTest {
     @Override
@@ -33,11 +32,4 @@
         return HibDaoConnectionFactoryImpl.getInstance();
     }
 
-    @Override
-    protected int getLargeDataCount(int echoCount) throws Exception {
-        initTM();
-        Query query = HibDaoConnectionFactoryImpl.getSession().createQuery("select count(id) from HLargeData as l");
-        
-        return ((Long)query.uniqueResult()).intValue();
-    }
 }
\ No newline at end of file

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanSuccessTest.java Sat Nov 21 02:14:04 2009
@@ -80,6 +80,10 @@
             server.sendRequestFile("http://localhost:8888/processes/FirstProcess/FirstProcess/FirstProcess/Client", bundleName, "testRequest.soap");
             process = assertInstanceCleanup(instances, activityRecoveries, correlationSets, faults, exchanges, routes, messsages, partnerLinks, scopes, variables, events, largeData);
         } finally {
+            try {
+                Thread.sleep(1000);
+            } catch(Exception e) {
+            }
             server.undeployProcess(bundleName);
             assertProcessCleanup(process);
         }

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/CleanTestBase.java Sat Nov 21 02:14:04 2009
@@ -142,5 +142,8 @@
 
     protected abstract ProcessInstanceDAO getInstance();
     
-    protected abstract int getLargeDataCount(int echoCount) throws Exception;
+	protected int getLargeDataCount(int echoCount) throws Exception {
+		return echoCount;
+	}
+    
 }
\ No newline at end of file

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ProcessCronCleanupTest.java Sat Nov 21 02:14:04 2009
@@ -2,7 +2,6 @@
 
 import org.apache.ode.bpel.dao.ProcessDAO;
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
-import org.hibernate.Query;
 import org.testng.annotations.Test;
 
 public class ProcessCronCleanupTest extends CleanTestBase {
@@ -35,12 +34,4 @@
     protected ProcessInstanceDAO getInstance() {
         return HibDaoConnectionFactoryImpl.getInstance();
     }
-    
-    @Override
-    protected int getLargeDataCount(int echoCount) throws Exception {
-        initTM();
-        Query query = HibDaoConnectionFactoryImpl.getSession().createQuery("select count(id) from HLargeData as l");
-        
-        return ((Long)query.uniqueResult()).intValue();
-    }
 }

Modified: ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/SystemCronCleanupTest.java Sat Nov 21 02:14:04 2009
@@ -4,7 +4,7 @@
 import org.apache.ode.bpel.dao.ProcessDAO;
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
 import org.apache.ode.bpel.engine.cron.SystemSchedulesConfig;
-import org.hibernate.Query;
+
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -15,7 +15,6 @@
         System.setProperty(SystemSchedulesConfig.SCHEDULE_CONFIG_FILE_PROP_KEY, customSchedulesFilePath);
     }
 
-    // SEAN - Disable for now, wait until Alexis upgrades Axis to 1.5
 //    @Test(dataProvider="configs")
     public void _testCleanAll() throws Exception {
         go("TestSystemCronCleanup", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
@@ -62,12 +61,5 @@
     protected ProcessInstanceDAO getInstance() {
         return HibDaoConnectionFactoryImpl.getInstance();
     }
-    
-    @Override
-    protected int getLargeDataCount(int echoCount) throws Exception {
-        initTM();
-        Query query = HibDaoConnectionFactoryImpl.getSession().createQuery("select count(id) from HLargeData as l");
-        
-        return ((Long)query.uniqueResult()).intValue();
-    }
+
 }

Modified: ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Sat Nov 21 02:14:04 2009
@@ -500,6 +500,7 @@
             dehy.setProcessMaxCount(_odeConfig.getDehydrationMaximumCount());
             _bpelServer.setDehydrationPolicy(dehy);
         }
+        _bpelServer.setMigrationTransactionTimeout(_odeConfig.getMigrationTransactionTimeout());
         _bpelServer.setConfigProperties(_odeConfig.getProperties());
         _bpelServer.init();
         _bpelServer.setInstanceThrottledMaximumCount(_odeConfig.getInstanceThrottledMaximumCount());

Modified: ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java Sat Nov 21 02:14:04 2009
@@ -94,6 +94,21 @@
     <T> T execTransaction(Callable<T> transaction)
             throws Exception, ContextException;
 
+    /**
+     * Execute a {@link Callable} in a transactional context. If the callable
+     * throws an exception, then the transaction will be rolled back, otherwise
+     * the transaction will commit. Also, modify the value of the timeout value 
+     * that is associated with the transactions started by the current thread. 
+     *
+     * @param <T> return type
+     * @param transaction transaction to execute
+     * @param timeout, The value of the timeout in seconds. If the value is zero, the transaction service uses the default value.
+     * @return result
+     * @throws Exception
+     */
+    <T> T execTransaction(Callable<T> transaction, int timeout)
+            throws Exception, ContextException;
+    
     void setRollbackOnly() throws Exception;
 
     /**

Modified: ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/MockScheduler.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/MockScheduler.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/MockScheduler.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/MockScheduler.java Sat Nov 21 02:14:04 2009
@@ -156,6 +156,13 @@
     }
 
     public <T> T execTransaction(Callable<T> transaction) throws Exception, ContextException {
+    	return execTransaction(transaction, 0);
+    }
+    
+    public <T> T execTransaction(Callable<T> transaction, int timeout) throws Exception, ContextException {
+    	if (timeout > 0) {
+    		_txm.setTransactionTimeout(timeout);
+    	}
         beginTransaction();
         try {
             T retval = transaction.call();
@@ -165,6 +172,11 @@
             __log.error("Caught an exception during transaction", t);
             rollbackTransaction();
             throw new ContextException("Error in tx", t);
+        } finally {
+        	if (timeout > 0) {
+                // restores the default value
+        		_txm.setTransactionTimeout(0);
+        	}
         }
     }
 

Modified: ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java Sat Nov 21 02:14:04 2009
@@ -95,6 +95,8 @@
     
     public static final String PROP_DAOCF = "dao.factory";
     
+    public static final String PROP_MIGRATION_TRANSACTION_TIMEOUT = "migration.transaction.timeout";
+    
     public static final String DEFAULT_TX_FACTORY_CLASS_NAME = "org.apache.ode.il.EmbeddedGeronimoFactory";
 
     private File _cfgFile;
@@ -313,5 +315,9 @@
     public String getDbInternalPassword() {
         return getProperty(PROP_DB_INTERNAL_PASSWORD);
     }
+    
+    public int getMigrationTransactionTimeout() {
+    	return Integer.valueOf(getProperty(PROP_MIGRATION_TRANSACTION_TIMEOUT, String.valueOf(0)));
+    }
 
 }

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Sat Nov 21 02:14:04 2009
@@ -107,6 +107,7 @@
     private DehydrationPolicy _dehydrationPolicy;
     private boolean _hydrationLazy;
     private int _hydrationLazyMinimumSize;
+    private int _migrationTransactionTimeout;
     
     BpelEngineImpl _engine;
     protected BpelDatabase _db;
@@ -156,7 +157,9 @@
             __log.debug("BPEL SERVER starting.");
 
             // Eventually running some migrations before starting
-            new MigrationHandler(_contexts).migrate(_registeredProcesses);
+            if (!(new MigrationHandler(_contexts).migrate(_registeredProcesses, _migrationTransactionTimeout))) {
+            	throw new RuntimeException("An error occurred while migrating your database to a newer version of the server. Please make sure that the required migration scripts have been executed before starting the server.");
+            }
 
             _state = State.RUNNING;
             __log.info(__msgs.msgServerStarted());
@@ -672,4 +675,8 @@
             deleteProcessDAO(pconf.getProcessId(), pconf.isTransient());
         }
     }
+
+	public void setMigrationTransactionTimeout(int migrationTransactionTimeout) {
+		this._migrationTransactionTimeout = migrationTransactionTimeout;
+	}
 }

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/MigrationHandler.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/MigrationHandler.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/MigrationHandler.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/migration/MigrationHandler.java Sat Nov 21 02:14:04 2009
@@ -19,16 +19,22 @@
 
 package org.apache.ode.bpel.engine.migration;
 
-import org.apache.ode.bpel.engine.Contexts;
-import org.apache.ode.bpel.engine.BpelDatabase;
-import org.apache.ode.bpel.engine.BpelProcess;
-import org.apache.ode.bpel.dao.BpelDAOConnection;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.Callable;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
-import java.sql.*;
-import java.util.*;
-import java.util.concurrent.Callable;
+import org.apache.ode.bpel.engine.BpelProcess;
+import org.apache.ode.bpel.engine.Contexts;
 
 /**
  * Checks database schema versions and migrates when necessary.
@@ -38,9 +44,11 @@
 
     public static final int CURRENT_SCHEMA_VERSION = 6;
 
+
     private Contexts _contexts;
     private List<MigrationLink> migrationLinks = new ArrayList<MigrationLink>() {{
-        add(new MigrationLink(1, 2, new Migration[] { new CorrelatorsMigration(), new CorrelationKeyMigration() } ));
+        add(new MigrationLink(1, 2, new Migration[] { new CorrelatorsMigration(), 
+        												new CorrelationKeyMigration() } ));
         add(new MigrationLink(2, 3, new Migration[] { new CorrelationKeySetMigration() } ));
         add(new MigrationLink(4, 3, new Migration[] { new CorrelationKeySetMigration() } ));
         add(new MigrationLink(3, 5, new Migration[] { new CorrelationKeySetDataMigration() } ));
@@ -52,10 +60,10 @@
         this._contexts = _contexts;
     }
 
-    public boolean migrate(final Set<BpelProcess> registeredProcesses) {
+    public boolean migrate(final Set<BpelProcess> registeredProcesses, int migrationTransactionTimeout) {
         if (_contexts.dao.getDataSource() == null) {
             __log.debug("No datasource available, stopping migration. Probably running fully in-memory.");
-            return false;
+            return true;
         }
 
         final int version;
@@ -68,10 +76,10 @@
         }
         if (version == -1) {
             __log.info("No schema version available from the database, migrations will be skipped.");
-            return false;
+            return true;
         }
         if (version == CURRENT_SCHEMA_VERSION) return true;
-
+        
         try {
             boolean success = _contexts.scheduler.execTransaction(new Callable<Boolean>() {
                 public Boolean call() throws Exception {
@@ -92,7 +100,7 @@
                         return success;
                     }
                 }
-            });
+            }, migrationTransactionTimeout);
             return success;
         } catch (Exception e) {
             __log.error("An error occured while migrating your database to a newer version of ODE, changes have " +
@@ -182,6 +190,5 @@
                 throw new RuntimeException(e);
             }
         }
-
     }
 }

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerScheduler.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerScheduler.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerScheduler.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/replayer/ReplayerScheduler.java Sat Nov 21 02:14:04 2009
@@ -69,6 +69,10 @@
         throw new IllegalStateException();
     }
 
+    public <T> T execTransaction(Callable<T> transaction, int timeout) throws Exception, ContextException {
+        throw new IllegalStateException();
+    }
+    
     public boolean isTransacted() {
         return true;
     }

Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java Sat Nov 21 02:14:04 2009
@@ -316,7 +316,11 @@
         }
 
         public <T> T execTransaction(Callable<T> transaction) throws Exception, ContextException {
-            return _scheduler.execTransaction(transaction);
+            return _scheduler.execTransaction(transaction, 0);
+        }
+        
+        public <T> T execTransaction(Callable<T> transaction, int timeout) throws Exception, ContextException {
+       		return _scheduler.execTransaction(transaction, timeout);
         }
 
         public void beginTransaction() throws Exception {

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate-db/src/main/sql/common.sql
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate-db/src/main/sql/common.sql?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate-db/src/main/sql/common.sql (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate-db/src/main/sql/common.sql Sat Nov 21 02:14:04 2009
@@ -1,2 +1,2 @@
 create table ODE_SCHEMA_VERSION(VERSION integer);
-insert into ODE_SCHEMA_VERSION values (5);
+insert into ODE_SCHEMA_VERSION values (6);

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java Sat Nov 21 02:14:04 2009
@@ -139,7 +139,6 @@
                 .addClass(HBpelEvent.class)
                 .addClass(HFaultData.class)
                 .addClass(HActivityRecovery.class)
-                .addClass(HLargeData.class)
                 .addClass(HMessageExchangeProperty.class);
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ActivityRecoveryDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -19,6 +19,9 @@
 
 package org.apache.ode.daohib.bpel;
 
+import java.io.IOException;
+import java.util.Date;
+
 import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
 import org.apache.ode.daohib.SessionManager;
 import org.apache.ode.daohib.bpel.hobj.HActivityRecovery;
@@ -26,9 +29,6 @@
 import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
-import java.io.IOException;
-import java.util.Date;
-
 /**
  * Hibernate based {@link ActivityRecoveryDao} implementation
  */
@@ -56,12 +56,14 @@
     public Date getDateTime() {
         return _self.getDateTime();
     }
-
+    
     public Element getDetails() {
         entering("ActivityRecoveryDaoImpl.getDetails");
-        if (_self.getDetails() == null) return null;
+        if (_self.getDetails() == null) {
+            return null;
+        }
         try {
-            return DOMUtils.stringToDOM(_self.getDetails().getText());
+            return DOMUtils.stringToDOM(_self.getDetails());
         } catch (SAXException e) {
             throw new RuntimeException(e);
         } catch (IOException e) {

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java Sat Nov 21 02:14:04 2009
@@ -53,7 +53,6 @@
 import org.apache.ode.daohib.SessionManager;
 import org.apache.ode.daohib.bpel.hobj.HBpelEvent;
 import org.apache.ode.daohib.bpel.hobj.HCorrelationSet;
-import org.apache.ode.daohib.bpel.hobj.HLargeData;
 import org.apache.ode.daohib.bpel.hobj.HMessageExchange;
 import org.apache.ode.daohib.bpel.hobj.HProcess;
 import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
@@ -239,9 +238,7 @@
             ObjectOutputStream oos = new ObjectOutputStream(bos);
             oos.writeObject(event);
             oos.flush();
-            HLargeData ld = new HLargeData(bos.toByteArray());
-            hevent.setData(ld);
-            sess.save(ld);
+            hevent.setData(bos.toByteArray());
         } catch (Throwable ex) {
             // this is really unexpected.
             __log.fatal("InternalError: BpelEvent serialization failed.", ex);
@@ -275,7 +272,7 @@
         try {
             CollectionsX.transformEx(ret, hevents, new UnaryFunctionEx<HBpelEvent, BpelEvent>() {
                 public BpelEvent apply(HBpelEvent x) throws Exception {
-                    return (BpelEvent) SerializableUtils.toObject(x.getData().getBinary(), BpelEvent.class
+                    return (BpelEvent) SerializableUtils.toObject(x.getData(), BpelEvent.class
                             .getClassLoader());
                 }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/FaultDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/FaultDAOImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/FaultDAOImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/FaultDAOImpl.java Sat Nov 21 02:14:04 2009
@@ -19,6 +19,10 @@
 
 package org.apache.ode.daohib.bpel;
 
+import java.io.IOException;
+
+import javax.xml.namespace.QName;
+
 import org.apache.ode.bpel.dao.FaultDAO;
 import org.apache.ode.daohib.SessionManager;
 import org.apache.ode.daohib.bpel.hobj.HFaultData;
@@ -27,9 +31,6 @@
 import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
-import javax.xml.namespace.QName;
-import java.io.IOException;
-
 /**
  * Hibernate based {@link FaultDAO} implementation
  */
@@ -52,7 +53,7 @@
         entering("FaultDAOImpl.getData");
         if (_self.getData() == null) return null;
         try {
-            return DOMUtils.stringToDOM(_self.getData().getText());
+            return DOMUtils.stringToDOM(_self.getData());
         } catch (SAXException e) {
             throw new RuntimeException(e);
         } catch (IOException e) {

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -20,17 +20,16 @@
 package org.apache.ode.daohib.bpel;
 
 
+import javax.xml.namespace.QName;
+
 import org.apache.ode.bpel.dao.MessageDAO;
 import org.apache.ode.bpel.dao.MessageExchangeDAO;
 import org.apache.ode.daohib.SessionManager;
-import org.apache.ode.daohib.bpel.hobj.HLargeData;
 import org.apache.ode.daohib.bpel.hobj.HMessage;
 import org.apache.ode.utils.DOMUtils;
 import org.hibernate.Session;
 import org.w3c.dom.Element;
 
-import javax.xml.namespace.QName;
-
 
 public class MessageDaoImpl extends HibernateDao implements MessageDAO {
 
@@ -56,11 +55,7 @@
     public void setData(Element value) {
         entering("MessageDaoImpl.setData");
         if (value == null) return;
-        if (_hself.getMessageData() != null)
-            _session.delete(_hself.getMessageData());
-        HLargeData newdata = new HLargeData(DOMUtils.domToString(value));
-        _session.save(newdata);
-        _hself.setMessageData(newdata);
+        _hself.setMessageData(DOMUtils.domToBytes(value));
         update();
         leaving("MessageDaoImpl.setData");
     }
@@ -70,7 +65,7 @@
         if (_hself.getMessageData() == null)
             return null;
         try {
-            return DOMUtils.stringToDOM(_hself.getMessageData().getText());
+            return DOMUtils.stringToDOM(_hself.getMessageData());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -79,11 +74,7 @@
     public void setHeader(Element value) {
         entering("MessageDaoImpl.setHeader");
         if (value == null) return;
-        if (_hself.getHeader() != null)
-            _session.delete(_hself.getHeader());
-        HLargeData newdata = new HLargeData(DOMUtils.domToString(value));
-        _session.save(newdata);
-        _hself.setHeader(newdata);
+        _hself.setHeader(DOMUtils.domToBytes(value));
         update();
         leaving("MessageDaoImpl.setHeader");
     }
@@ -92,7 +83,7 @@
         entering("MessageDaoImpl.getHeader");
         if (_hself.getHeader() == null) return null;
         try {
-            return DOMUtils.stringToDOM(_hself.getHeader().getText());
+            return DOMUtils.stringToDOM(_hself.getHeader());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -19,6 +19,14 @@
 
 package org.apache.ode.daohib.bpel;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.dao.MessageDAO;
@@ -28,19 +36,15 @@
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
 import org.apache.ode.daohib.SessionManager;
 import org.apache.ode.daohib.bpel.hobj.HCorrelatorMessage;
-import org.apache.ode.daohib.bpel.hobj.HLargeData;
 import org.apache.ode.daohib.bpel.hobj.HMessage;
 import org.apache.ode.daohib.bpel.hobj.HMessageExchange;
 import org.apache.ode.daohib.bpel.hobj.HProcess;
 import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
 import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.stl.CollectionsX;
+import org.apache.ode.utils.stl.UnaryFunctionEx;
 import org.w3c.dom.Element;
 
-import javax.xml.namespace.QName;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Set;
-
 public class MessageExchangeDaoImpl extends HibernateDao implements
         MessageExchangeDAO {
     @SuppressWarnings("unused")
@@ -166,9 +170,7 @@
         if (source == null)
             _hself.setEndpoint(null);
         else {
-            HLargeData ld = new HLargeData(DOMUtils.domToString(source));
-            getSession().save(ld);
-            _hself.setEndpoint(ld);
+            _hself.setEndpoint(DOMUtils.domToBytes(source));
         }
 
         getSession().saveOrUpdate(_hself);
@@ -177,11 +179,11 @@
 
     public Element getEPR() {
         entering("MessageExchangeDaoImpl.getEPR");
-        HLargeData ld = _hself.getEndpoint();
-        if (ld == null)
+        byte[] endpoint = _hself.getEndpoint();
+        if (endpoint == null)
             return null;
         try {
-            return DOMUtils.stringToDOM(ld.getText());
+            return DOMUtils.stringToDOM(endpoint);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -192,9 +194,7 @@
         if (source == null)
             _hself.setCallbackEndpoint(null);
         else {
-            HLargeData ld = new HLargeData(DOMUtils.domToString(source));
-            getSession().save(ld);
-            _hself.setCallbackEndpoint(ld);
+        	_hself.setCallbackEndpoint(DOMUtils.domToBytes(source));
         }
 
         getSession().saveOrUpdate(_hself);
@@ -203,11 +203,11 @@
 
     public Element getCallbackEPR() {
         entering("MessageExchangeDaoImpl.getCallbackEPR");
-        HLargeData ld = _hself.getCallbackEndpoint();
-        if (ld == null)
+        byte[] endpoint = _hself.getCallbackEndpoint();
+        if (endpoint == null)
             return null;
         try {
-            return DOMUtils.stringToDOM(ld.getText());
+            return DOMUtils.stringToDOM(endpoint);
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -363,8 +363,6 @@
 
     @SuppressWarnings("unchecked")
     public void releasePremieMessages() {
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_MEX_1).setParameter("mex", _hself).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_MEX_2).setParameter("mex", _hself).list());
         deleteByIds(HCorrelatorMessage.class, getSession().getNamedQuery(HCorrelatorMessage.SELECT_CORMESSAGE_IDS_BY_MEX).setParameter("mex", _hself).list());
     }
 
@@ -374,11 +372,10 @@
     
     @SuppressWarnings("unchecked")
     public void deleteMessages() {
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_MEX_1).setParameter("mex", _hself).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_MEX_2).setParameter("mex", _hself).list());
         deleteByIds(HCorrelatorMessage.class, getSession().getNamedQuery(HCorrelatorMessage.SELECT_CORMESSAGE_IDS_BY_MEX).setParameter("mex", _hself).list());
           
         getSession().delete(_hself);
         // This deletes endpoint LData, callbackEndpoint LData, request HMessage, response HMessage, HMessageExchangeProperty 
     }
+    
 }

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/PartnerLinkDAOImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/PartnerLinkDAOImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/PartnerLinkDAOImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/PartnerLinkDAOImpl.java Sat Nov 21 02:14:04 2009
@@ -23,7 +23,6 @@
 
 import org.apache.ode.bpel.dao.PartnerLinkDAO;
 import org.apache.ode.daohib.SessionManager;
-import org.apache.ode.daohib.bpel.hobj.HLargeData;
 import org.apache.ode.daohib.bpel.hobj.HPartnerLink;
 import org.apache.ode.utils.DOMUtils;
 import org.w3c.dom.Element;
@@ -84,7 +83,7 @@
         if (_self.getMyEPR() == null)
             return null;
         try {
-            return DOMUtils.stringToDOM(_self.getMyEPR().getText());
+            return DOMUtils.stringToDOM(_self.getMyEPR());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -93,14 +92,10 @@
     public void setMyEPR(Element val) {
         entering("PartnerLinkDAOImpl.setMyEPR");
         _myEPR = val;
-        if (_self.getMyEPR() != null)
-            _sm.getSession().delete(_self.getMyEPR());
         if (val == null) {
             _self.setMyEPR(null);
         } else {
-            HLargeData ld = new HLargeData(DOMUtils.domToString(val));
-            getSession().save(ld);
-            _self.setMyEPR(ld);
+            _self.setMyEPR(DOMUtils.domToBytes(val));
         }
         getSession().update(_self);
     }
@@ -112,7 +107,7 @@
         if (_self.getPartnerEPR() == null)
             return null;
         try {
-            return _partnerEPR = DOMUtils.stringToDOM(_self.getPartnerEPR().getText());
+            return _partnerEPR = DOMUtils.stringToDOM(_self.getPartnerEPR());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
@@ -121,14 +116,10 @@
     public void setPartnerEPR(Element val) {
         entering("PartnerLinkDAOImpl.setPartnerEPR");
         _partnerEPR = val;
-        if (_self.getPartnerEPR() != null)
-            _sm.getSession().delete(_self.getPartnerEPR());
         if (val == null) {
             _self.setPartnerEPR(null);
         } else {
-            HLargeData ld = new HLargeData(DOMUtils.domToString(val));
-            getSession().save(ld);
-            _self.setPartnerEPR(ld);
+            _self.setPartnerEPR(DOMUtils.domToBytes(val));
         }
         getSession().update(_self);
     }

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -18,6 +18,15 @@
  */
 package org.apache.ode.daohib.bpel;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.common.CorrelationKey;
@@ -36,11 +45,9 @@
 import org.apache.ode.daohib.bpel.hobj.HCorrelatorMessage;
 import org.apache.ode.daohib.bpel.hobj.HCorrelatorSelector;
 import org.apache.ode.daohib.bpel.hobj.HFaultData;
-import org.apache.ode.daohib.bpel.hobj.HLargeData;
 import org.apache.ode.daohib.bpel.hobj.HMessage;
 import org.apache.ode.daohib.bpel.hobj.HMessageExchange;
 import org.apache.ode.daohib.bpel.hobj.HMessageExchangeProperty;
-import org.apache.ode.daohib.bpel.hobj.HObject;
 import org.apache.ode.daohib.bpel.hobj.HPartnerLink;
 import org.apache.ode.daohib.bpel.hobj.HProcess;
 import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
@@ -50,18 +57,11 @@
 import org.hibernate.Criteria;
 import org.hibernate.Hibernate;
 import org.hibernate.Query;
+import org.hibernate.StaleStateException;
+import org.hibernate.UnresolvableObjectException;
 import org.hibernate.criterion.Expression;
 import org.hibernate.criterion.Order;
 
-import javax.xml.namespace.QName;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
 /**
  * Hibernate-based {@link ProcessDAO} implementation.
  */
@@ -155,11 +155,20 @@
 
         // delete process dao
         deleteByIds(HCorrelator.class, getSession().getNamedQuery(HCorrelator.SELECT_CORRELATOR_IDS_BY_PROCESS).setParameter("process", _process).list());
-        getSession().delete(_process); // this deletes HCorrelator -> HCorrelatorSelector
+        try {
+            getSession().refresh(_process);
+            getSession().delete(_process); // this deletes HCorrelator -> HCorrelatorSelector
 
-        // after this delete, we have a use case that creates the process with the same procid.
-        // for hibernate to work without the database deferred constraint check, let's just flush the session.
-        getSession().flush();
+            // after this delete, we have a use case that creates the process with the same procid.
+            // for hibernate to work without the database deferred constraint check, let's just flush the session.
+            getSession().flush();
+        } catch( UnresolvableObjectException sse ) {
+            __log.debug("Process: " + getProcessId() + " has been already deleted.");
+            // don't sweat, they already deleted by another thread or process
+        } catch( StaleStateException sse ) {
+            __log.debug("Process: " + getProcessId() + " has been already deleted.");
+            // don't sweat, they already deleted by another thread or process
+        }
     }
     
     @SuppressWarnings("unchecked")
@@ -209,12 +218,9 @@
 
     @SuppressWarnings("unchecked")
     private void deleteProcessInstances(Collection<HProcessInstance> instances) {
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_ACTIVITY_RECOVERY_LDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
         deleteByIds(HActivityRecovery.class, getSession().getNamedQuery(HActivityRecovery.SELECT_ACTIVITY_RECOVERY_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_FAULT_LDATA_IDS_BY_INSTANCE_IDS).setParameterList("instanceIds", HObject.toIdArray(instances)).list());
         deleteByIds(HFaultData.class, getSession().getNamedQuery(HFaultData.SELECT_FAULT_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_JACOB_LDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        
+
         List<Long> instanceIds = new ArrayList<Long>();
         for( HProcessInstance instance : instances ) {
             instanceIds.add(instance.getId());
@@ -225,10 +231,7 @@
     @SuppressWarnings("unchecked")
     private void deleteVariables(Collection<HProcessInstance> instances) {
         deleteByIds(HVariableProperty.class, getSession().getNamedQuery(HVariableProperty.SELECT_VARIABLE_PROPERTY_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_XMLDATA_LDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
         deleteByIds(HXmlData.class, getSession().getNamedQuery(HXmlData.SELECT_XMLDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_1).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_2).setParameterList("instances", instances).list());
         deleteByIds(HPartnerLink.class, getSession().getNamedQuery(HPartnerLink.SELECT_PARTNER_LINK_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
         deleteByIds(HScope.class, getSession().getNamedQuery(HScope.SELECT_SCOPE_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
     }
@@ -236,11 +239,7 @@
     @SuppressWarnings("unchecked")
     private void deleteMessages(Collection<HProcessInstance> instances) {
         deleteByIds(HActivityRecovery.class, getSession().getNamedQuery(HCorrelatorMessage.SELECT_CORMESSAGE_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_1).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_2).setParameterList("instances", instances).list());
         deleteByIds(HMessage.class, getSession().getNamedQuery(HMessage.SELECT_MESSAGE_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MEX_LDATA_IDS_BY_INSTANCES_1).setParameterList("instances", instances).list());
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MEX_LDATA_IDS_BY_INSTANCES_2).setParameterList("instances", instances).list());
         List<Long> mex = getSession().getNamedQuery(HMessageExchange.SELECT_MEX_IDS_BY_INSTANCES).setParameterList("instances", instances).list();
         deleteByColumn(HMessageExchangeProperty.class, "mex.id", mex);
         deleteByIds(HMessageExchange.class, mex);
@@ -254,7 +253,6 @@
 
     @SuppressWarnings("unchecked")
     private void deleteEvents(Collection<HProcessInstance> instances) {
-        deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_EVENT_LDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
         deleteByIds(HBpelEvent.class, getSession().getNamedQuery(HBpelEvent.SELECT_EVENT_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessInstanceDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -18,14 +18,48 @@
  */
 package org.apache.ode.daohib.bpel;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.common.ProcessState;
-import org.apache.ode.bpel.dao.*;
+import org.apache.ode.bpel.dao.ActivityRecoveryDAO;
+import org.apache.ode.bpel.dao.BpelDAOConnection;
+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.MessageExchangeDAO;
+import org.apache.ode.bpel.dao.ProcessDAO;
+import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.bpel.dao.ScopeDAO;
+import org.apache.ode.bpel.dao.ScopeStateEnum;
+import org.apache.ode.bpel.dao.XmlDataDAO;
 import org.apache.ode.bpel.evt.ProcessInstanceEvent;
 import org.apache.ode.bpel.iapi.ProcessConf.CLEANUP_CATEGORY;
 import org.apache.ode.daohib.SessionManager;
-import org.apache.ode.daohib.bpel.hobj.*;
+import org.apache.ode.daohib.bpel.hobj.HActivityRecovery;
+import org.apache.ode.daohib.bpel.hobj.HBpelEvent;
+import org.apache.ode.daohib.bpel.hobj.HCorrelationProperty;
+import org.apache.ode.daohib.bpel.hobj.HCorrelationSet;
+import org.apache.ode.daohib.bpel.hobj.HCorrelatorMessage;
+import org.apache.ode.daohib.bpel.hobj.HCorrelatorSelector;
+import org.apache.ode.daohib.bpel.hobj.HFaultData;
+import org.apache.ode.daohib.bpel.hobj.HMessage;
+import org.apache.ode.daohib.bpel.hobj.HMessageExchange;
+import org.apache.ode.daohib.bpel.hobj.HMessageExchangeProperty;
+import org.apache.ode.daohib.bpel.hobj.HPartnerLink;
+import org.apache.ode.daohib.bpel.hobj.HProcessInstance;
+import org.apache.ode.daohib.bpel.hobj.HScope;
+import org.apache.ode.daohib.bpel.hobj.HVariableProperty;
+import org.apache.ode.daohib.bpel.hobj.HXmlData;
 import org.apache.ode.utils.DOMUtils;
 import org.apache.ode.utils.QNameUtils;
 import org.apache.ode.utils.stl.CollectionsX;
@@ -37,9 +71,6 @@
 import org.hibernate.criterion.Restrictions;
 import org.w3c.dom.Element;
 
-import javax.xml.namespace.QName;
-import java.util.*;
-
 /**
  * Hibernate-based {@link ProcessInstanceDAO} implementation.
  */
@@ -95,9 +126,7 @@
     fault.setLineNo(lineNo);
     fault.setActivityId(activityId);
     if (faultData != null) {
-      HLargeData ld = new HLargeData(DOMUtils.domToString(faultData));
-      fault.setData(ld);
-      getSession().save(ld);
+      fault.setData(DOMUtils.domToBytes(faultData));
     }
 
     _instance.setFault(fault);
@@ -119,7 +148,7 @@
   public byte[] getExecutionState() {
         entering("ProcessInstanceDaoImpl.getExecutionState");
     if (_instance.getJacobState() == null) return null;
-    return _instance.getJacobState().getBinary();
+    return _instance.getJacobState();
   }
     
   /**
@@ -127,12 +156,8 @@
    */
   public void setExecutionState(byte[] bytes) {
         entering("ProcessInstanceDaoImpl.setExecutionState");
-    if (_instance.getJacobState() != null)
-      getSession().delete(_instance.getJacobState());
     if (bytes.length > 0) {
-      HLargeData ld = new HLargeData(bytes);
-      _instance.setJacobState(ld);
-      getSession().save(ld);
+      _instance.setJacobState(bytes);
     }
     getSession().update(_instance);
   }
@@ -334,8 +359,7 @@
     if(__log.isDebugEnabled()) __log.debug("Cleaning up instance data with categories = " + cleanupCategories);
       
     if( _instance.getJacobState() != null ) {
-      getSession().delete(_instance.getJacobState());
-      _instance.setJacobState(null);
+        _instance.setJacobState(null);
     }
 
     HProcessInstance[] instances = new HProcessInstance[] {_instance};
@@ -367,7 +391,6 @@
   
   @SuppressWarnings("unchecked")
   private void deleteInstances(HProcessInstance[] instances) {
-    deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_FAULT_LDATA_IDS_BY_INSTANCE_IDS).setParameterList("instanceIds", HObject.toIdArray(instances)).list());
     deleteByIds(HFaultData.class, getSession().getNamedQuery(HFaultData.SELECT_FAULT_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
 
     getSession().delete(_instance); // this deletes JcobState, HActivityRecovery -> ActivityRecovery-LData
@@ -379,11 +402,8 @@
       deleteByIds(HCorrelationSet.class, getSession().getNamedQuery(HCorrelationSet.SELECT_CORSET_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
 
       deleteByIds(HVariableProperty.class, getSession().getNamedQuery(HVariableProperty.SELECT_VARIABLE_PROPERTY_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
-      deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_XMLDATA_LDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
       deleteByIds(HXmlData.class, getSession().getNamedQuery(HXmlData.SELECT_XMLDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
 
-      deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_1).setParameterList("instances", instances).list());
-      deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_2).setParameterList("instances", instances).list());
       deleteByIds(HPartnerLink.class, getSession().getNamedQuery(HPartnerLink.SELECT_PARTNER_LINK_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
 
       deleteByIds(HScope.class, getSession().getNamedQuery(HScope.SELECT_SCOPE_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
@@ -396,20 +416,12 @@
       deleteByColumn(HMessageExchangeProperty.class, "mex.id", allMexes);
 
       if( deleteMyRoleMex ) { // Delete my role mex and partner role mexes
-          // delete message data
-          deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_1).setParameterList("instances", instances).list());
-          deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_2).setParameterList("instances", instances).list());
-
           // delete messages
           deleteByIds(HMessage.class, getSession().getNamedQuery(HMessage.SELECT_MESSAGE_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
           
           // delete all mexes
           deleteByIds(HMessageExchange.class, allMexes);
       } else { // Delete only the unmatched mexes, there are chances that some unmatched messages are still there
-          // delete message data 
-          deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_1).setParameterList("instances", instances).list());
-          deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_2).setParameterList("instances", instances).list());
-
           Collection<HMessageExchange> unmatchedMex = getSession().getNamedQuery(HMessageExchange.SELECT_UNMATCHED_MEX_BY_INSTANCES).setParameterList("instances", instances).list();
           if( !unmatchedMex.isEmpty() ) {
               List<Long> mexIdList = new ArrayList<Long>();
@@ -435,7 +447,6 @@
 
   @SuppressWarnings("unchecked")
   private void deleteEvents(HProcessInstance[] instances) {
-      deleteByIds(HLargeData.class, getSession().getNamedQuery(HLargeData.SELECT_EVENT_LDATA_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
       deleteByIds(HBpelEvent.class, getSession().getNamedQuery(HBpelEvent.SELECT_EVENT_IDS_BY_INSTANCES).setParameterList("instances", instances).list());
   }
 
@@ -518,9 +529,7 @@
     recovery.setDateTime(dateTime);
     recovery.setRetries(retries);
     if (data != null) {
-      HLargeData ld = new HLargeData(DOMUtils.domToString(data));
-      recovery.setDetails(ld);
-      getSession().save(ld);
+      recovery.setDetails(DOMUtils.domToBytes(data));
     }
     String list = actions[0];
     for (int i = 1; i < actions.length; ++i)

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -18,6 +18,14 @@
  */
 package org.apache.ode.daohib.bpel;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
 import org.apache.ode.bpel.dao.CorrelationSetDAO;
 import org.apache.ode.bpel.dao.PartnerLinkDAO;
 import org.apache.ode.bpel.dao.ProcessInstanceDAO;
@@ -39,12 +47,10 @@
 import org.hibernate.Query;
 import org.hibernate.criterion.Restrictions;
 
-import java.util.*;
-
 /**
  * Hibernate-based {@link ScopeDAO} implementation.
  */
-class ScopeDaoImpl extends HibernateDao implements ScopeDAO {
+public class ScopeDaoImpl extends HibernateDao implements ScopeDAO {
 
 
     private static final String QRY_VARIABLE = "from " + HXmlData.class.getName() +
@@ -143,7 +149,7 @@
             data.setScope(_scope);
             _scope.getVariables().add(data);
         }
-        
+
         XmlDataDaoImpl varDao = new XmlDataDaoImpl(_sm, data);
         _variables.put(varName, varDao);
         return varDao;
@@ -248,7 +254,7 @@
         try {
             CollectionsX.transformEx(ret,hevents,new UnaryFunctionEx<HBpelEvent,BpelEvent>() {
                 public BpelEvent apply(HBpelEvent x) throws Exception{
-                    return (BpelEvent) SerializableUtils.toObject(x.getData().getBinary(),BpelEvent.class.getClassLoader());
+                    return (BpelEvent) SerializableUtils.toObject(x.getData(),BpelEvent.class.getClassLoader());
                 }
 
             });
@@ -257,5 +263,4 @@
         }
         return ret;
     }
-
 }

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java Sat Nov 21 02:14:04 2009
@@ -18,16 +18,14 @@
  */
 package org.apache.ode.daohib.bpel;
 
+import java.util.Iterator;
+
 import org.apache.ode.bpel.dao.ScopeDAO;
 import org.apache.ode.bpel.dao.XmlDataDAO;
 import org.apache.ode.daohib.SessionManager;
-import org.apache.ode.daohib.bpel.hobj.HLargeData;
 import org.apache.ode.daohib.bpel.hobj.HVariableProperty;
 import org.apache.ode.daohib.bpel.hobj.HXmlData;
 import org.apache.ode.utils.DOMUtils;
-
-import java.util.Iterator;
-
 import org.hibernate.Query;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -37,7 +35,7 @@
 /**
  * Hibernate-based {@link XmlDataDAO} implementation.
  */
-class XmlDataDaoImpl extends HibernateDao implements XmlDataDAO {
+public class XmlDataDaoImpl extends HibernateDao implements XmlDataDAO {
 
 
     private static final String QUERY_PROPERTY =
@@ -60,7 +58,7 @@
      */
     public boolean isNull() {
         entering("XmlDataDaoImpl.isNull");
-        return _data.getData() == null;
+        return (_data.getData() == null || _data.getData().length == 0);
     }
 
     /**
@@ -73,6 +71,7 @@
         }
         return _node;
     }
+
     /**
      * @see org.apache.ode.bpel.dao.XmlDataDAO#remove()
      */
@@ -87,22 +86,12 @@
         _node = val;
         _data.setSimpleType(!(val instanceof Element));
 
-        HLargeData ld = _data.getData();
-
-        if (ld == null) {
-            ld = new HLargeData();
-        } else {
-            ld.setBinary(null);
-        } 
-        
         if(_data.isSimpleType()) {
-            ld.setBinary(_node.getNodeValue().getBytes());
-            _data.setData(ld);
+            _data.setData(_node.getNodeValue().getBytes());
         } else {
-            ld.setBinary(DOMUtils.domToString(_node).getBytes());
-            _data.setData(ld);
+            _data.setData(DOMUtils.domToString(_node).getBytes());
         }
-        getSession().saveOrUpdate(ld);
+        
         getSession().saveOrUpdate(_data);
         leaving("XmlDataDaoImpl.set");
     }
@@ -154,9 +143,9 @@
     }
 
     private Node prepare(){
-        if(_data.getData() == null)
+        if(_data.getData() == null || _data.getData().length == 0)
             return null;
-        String data = _data.getData().getText();
+        String data = new String(_data.getData());
         if(_data.isSimpleType()){
             Document d = DOMUtils.newDocument();
             // we create a dummy wrapper element

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HActivityRecovery.java Sat Nov 21 02:14:04 2009
@@ -35,7 +35,7 @@
     private String            _channel;
     private String            _reason;
     private Date                _dateTime;
-    private HLargeData    _details;
+    private byte[]			  _details;
     private String            _actions;
     private int                 _retries;
 
@@ -98,13 +98,15 @@
     }
 
     /**
-     * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="DETAILS" sql-type="blob(2G)"
      */
-    public HLargeData getDetails() {
+    public byte[] getDetails() {
         return _details;
     }
 
-    public void setDetails(HLargeData details) {
+    public void setDetails(byte[] details) {
         _details = details;
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HBpelEvent.java Sat Nov 21 02:14:04 2009
@@ -38,7 +38,7 @@
 
     private HProcess _process;
     private HProcessInstance _instance;
-    private HLargeData _data;
+    private byte[] _data;
 
     /** Scope identifier, possibly null. */
     private Long _scopeId;
@@ -108,13 +108,15 @@
 
 
     /**
-     * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="DATA" sql-type="blob(2G)"
      */
-    public HLargeData getData() {
+    public byte[] getData() {
         return _data;
     }
 
-    public void setData(HLargeData data) {
+    public void setData(byte[] data) {
         _data = data;
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HFaultData.java Sat Nov 21 02:14:04 2009
@@ -30,7 +30,7 @@
 
     private String _name;
     private String _explanation;
-    private HLargeData _data;
+    private byte[] _data;
     private int _lineNo;
     private int _activityId;
 
@@ -46,16 +46,18 @@
     }
 
     /**
-     * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="DATA" sql-type="blob(2G)"
      */
-    public HLargeData getData() {
+    public byte[] getData() {
         return _data;
     }
 
-    public void setData(HLargeData data) {
+    public void setData(byte[] data) {
         _data = data;
     }
-
+    
     /**
      * @hibernate.property column="EXPLANATION" length="4000"
      */

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HLargeData.java Sat Nov 21 02:14:04 2009
@@ -1,98 +0,0 @@
-/*
- * 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.daohib.bpel.hobj;
-
-/**
- * Used to store large data sets into a single table. When an HObject
- * instance needs to store as part of its state large binary or text
- * data, a reference to an instance of this class must be created.
- *
- * @hibernate.class table="LARGE_DATA"
- *
- *  @hibernate.query name="SELECT_ACTIVITY_RECOVERY_LDATA_IDS_BY_INSTANCES" query="select a.details.id from HActivityRecovery as a where a.instance in (:instances) and a.details is not null"
- * @hibernate.query name="SELECT_JACOB_LDATA_IDS_BY_INSTANCES" query="select i.jacobState.id from HProcessInstance as i where i in (:instances) and i.jacobState is not null"
- * @hibernate.query name="SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_1" query="select m.messageData.id from HMessage m where m.messageExchange.instance in (:instances) and m.messageData is not null"
- * @hibernate.query name="SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_2" query="select m.header.id from HMessage m where m.messageExchange.instance in (:instances) and m.header is not null"
- * @hibernate.query name="SELECT_MEX_LDATA_IDS_BY_INSTANCES_1" query="select e.endpoint.id from HMessageExchange as e where e.instance in (:instances) and e.endpoint is not null"
- * @hibernate.query name="SELECT_MEX_LDATA_IDS_BY_INSTANCES_2" query="select e.callbackEndpoint.id from HMessageExchange as e where e.instance in (:instances) and e.callbackEndpoint is not null"
- *
- * @hibernate.query name="SELECT_EVENT_LDATA_IDS_BY_INSTANCES" query="select e.data.id from HBpelEvent as e where e.instance in (:instances) and e.data is not null"
- * @hibernate.query name="SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_1" query="select m.messageData.id from HMessage m, HCorrelatorMessage cm where m.messageExchange = cm.messageExchange and m.messageExchange.instance in (:instances) and m.messageData is not null"
- * @hibernate.query name="SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_2" query="select m.header.id from HMessage m, HCorrelatorMessage cm where m.messageExchange = cm.messageExchange and m.messageExchange.instance in (:instances) and m.header is not null"
- * @hibernate.query name="SELECT_XMLDATA_LDATA_IDS_BY_INSTANCES" query="select x.data.id from HXmlData as x where x.instance in (:instances) and x.data is not null"
- * @hibernate.query name="SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_1" query="select l.myEPR.id from HPartnerLink as l where l.scope.instance in (:instances) and l.myEPR is not null"
- * @hibernate.query name="SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_2" query="select l.partnerEPR.id from HPartnerLink as l where l.scope.instance in (:instances) and l.partnerEPR is not null"
- * @hibernate.query name="SELECT_FAULT_LDATA_IDS_BY_INSTANCE_IDS" query="select f.data.id from HFaultData as f, HProcessInstance as i where f.id = i.fault and i.id in (:instanceIds) and f.data is not null"
-
- * @hibernate.query name="SELECT_MESSAGE_LDATA_IDS_BY_MEX_1" query="select m.messageData.id from HMessage m where m.messageExchange = :mex and m.messageData is not null"
- * @hibernate.query name="SELECT_MESSAGE_LDATA_IDS_BY_MEX_2" query="select m.header.id from HMessage m where m.messageExchange = :mex and m.header is not null"
- */
-public class HLargeData extends HObject {
-    public final static String SELECT_ACTIVITY_RECOVERY_LDATA_IDS_BY_INSTANCES = "SELECT_ACTIVITY_RECOVERY_LDATA_IDS_BY_INSTANCES";
-    public final static String SELECT_JACOB_LDATA_IDS_BY_INSTANCES = "SELECT_JACOB_LDATA_IDS_BY_INSTANCES";
-    public final static String SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_1 = "SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_1";
-    public final static String SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_2 = "SELECT_MESSAGE_LDATA_IDS_BY_INSTANCES_2";
-    public final static String SELECT_MEX_LDATA_IDS_BY_INSTANCES_1 = "SELECT_MEX_LDATA_IDS_BY_INSTANCES_1";
-    public final static String SELECT_MEX_LDATA_IDS_BY_INSTANCES_2 = "SELECT_MEX_LDATA_IDS_BY_INSTANCES_2";
-
-    public final static String SELECT_EVENT_LDATA_IDS_BY_INSTANCES = "SELECT_EVENT_LDATA_IDS_BY_INSTANCES";
-    public final static String SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_1 = "SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_1";
-    public final static String SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_2 = "SELECT_UNMATCHED_MESSAGE_LDATA_IDS_BY_INSTANCES_2";
-    public final static String SELECT_XMLDATA_LDATA_IDS_BY_INSTANCES = "SELECT_XMLDATA_LDATA_IDS_BY_INSTANCES";
-    public final static String SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_1 = "SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_1";
-    public final static String SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_2 = "SELECT_PARTNER_LINK_LDATA_IDS_BY_INSTANCES_2";
-    public final static String SELECT_FAULT_LDATA_IDS_BY_INSTANCE_IDS = "SELECT_FAULT_LDATA_IDS_BY_INSTANCE_IDS";
-
-    public final static String SELECT_MESSAGE_LDATA_IDS_BY_MEX_1 = "SELECT_MESSAGE_LDATA_IDS_BY_MEX_1";
-    public final static String SELECT_MESSAGE_LDATA_IDS_BY_MEX_2 = "SELECT_MESSAGE_LDATA_IDS_BY_MEX_2";
-
-    private byte[] binary = null;
-
-    public HLargeData() {
-        super();
-    }
-
-    public HLargeData(byte[] binary) {
-        super();
-        this.binary = binary;
-    }
-
-    public HLargeData(String text) {
-        super();
-        this.binary = text.getBytes();
-    }
-
-    /**
-     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
-     *
-     * @hibernate.column name="BIN_DATA" sql-type="blob(2G)"
-     */
-    public byte[] getBinary() {
-        return binary;
-    }
-
-    public void setBinary(byte[] binary) {
-        this.binary = binary;
-    }
-
-    public String getText() {
-        return new String(binary);
-    }
-}

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessage.java Sat Nov 21 02:14:04 2009
@@ -24,15 +24,17 @@
  * @hibernate.class table="BPEL_MESSAGE"
  * @hibernate.query name="SELECT_MESSAGE_IDS_BY_MEX" query="select id from HMessage as m WHERE m.messageExchange = :messageExchange"
  * @hibernate.query name="SELECT_MESSAGE_IDS_BY_INSTANCES" query="select m.id from HMessage m, HMessageExchange mex WHERE m.messageExchange = mex and mex.instance in (:instances)"
+ * @hibernate.query name="SELECT_MESSAGES_BY_INSTANCES" query="select m from HMessage m, HMessageExchange mex WHERE m.messageExchange = :mex"
  */
 public class HMessage extends HObject {
     public final static String SELECT_MESSAGE_IDS_BY_MEX = "SELECT_MESSAGE_IDS_BY_MEX";
     public final static String SELECT_MESSAGE_IDS_BY_INSTANCES = "SELECT_MESSAGE_IDS_BY_INSTANCES";
+    public final static String SELECT_MESSAGES_BY_INSTANCES = "SELECT_MESSAGES_BY_INSTANCES";
 
     private HMessageExchange _mex;
     private String _type;
-    private HLargeData _data;
-    private HLargeData _header;
+    private byte[] _data;
+    private byte[] _header;
     
     public void setMessageExchange(HMessageExchange mex) {
         _mex = mex;
@@ -53,22 +55,28 @@
     }
 
     /**
-     * @hibernate.many-to-one column="DATA" lazy="false" outer-join="true" foreign-key="none"
-     * */
-    public HLargeData getMessageData() {
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="MESSAGE_DATA" sql-type="blob(2G)"
+     */
+    public byte[] getMessageData() {
         return _data;
     }
 
-    public void setMessageData(HLargeData data) {
+    public void setMessageData(byte[] data) {
         _data = data;
     }
 
-    /** @hibernate.many-to-one column="HEADER"    lazy="false" outer-join="true" foreign-key="none" */
-    public HLargeData getHeader() {
+    /**
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="MESSAGE_HEADER" sql-type="blob(2G)"
+     */
+    public byte[] getHeader() {
         return _header;
     }
 
-    public void setHeader(HLargeData header) {
+    public void setHeader(byte[] header) {
         _header = header;
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HMessageExchange.java Sat Nov 21 02:14:04 2009
@@ -44,10 +44,10 @@
 
     private String _portType;
 
-    private HLargeData _endpoint;
-
-    private HLargeData _callbackEndpoint;
-
+    private byte[] _endpoint;
+    
+    private byte[] _callbackEndpoint;
+    
     private HMessage _request;
 
     private HMessage _response;
@@ -121,24 +121,28 @@
     }
 
     /**
-     * @hibernate.many-to-one column="LDATA_EPR_ID" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="ENDPOINT" sql-type="blob(2G)"
      */
-    public HLargeData getEndpoint() {
+    public byte[] getEndpoint() {
         return _endpoint;
     }
 
-    public void setEndpoint(HLargeData endpoint) {
+    public void setEndpoint(byte[] endpoint) {
         _endpoint = endpoint;
     }
 
-    /**
-     * @hibernate.many-to-one column="LDATA_CEPR_ID" cascade="delete" foreign-key="none"
+     /**
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="CALLBACK_ENDPOINT" sql-type="blob(2G)"
      */
-    public HLargeData getCallbackEndpoint() {
+    public byte[] getCallbackEndpoint() {
         return _callbackEndpoint;
     }
 
-    public void setCallbackEndpoint(HLargeData endpoint) {
+    public void setCallbackEndpoint(byte[] endpoint) {
         _callbackEndpoint = endpoint;
     }
 
@@ -354,4 +358,5 @@
     public void incrementSubscriberCount() {
     	setSubscriberCount(getSubscriberCount() + 1);
     }
+
 }

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HPartnerLink.java Sat Nov 21 02:14:04 2009
@@ -41,10 +41,10 @@
 
     private String _svcName;
 
-    private HLargeData _myEPR;
-
-    private HLargeData _partnerEPR;
-
+    private byte[] _myEPR;
+    
+    private byte[] _partnerEPR;
+    
     private HScope _scope;
 
     private HProcess _process;
@@ -84,25 +84,29 @@
     }
 
     /**
-     * @hibernate.many-to-one column="MYROLE_EPR" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="MYROLE_EPR_DATA" sql-type="blob(2G)"
      */
-    public HLargeData getMyEPR() {
+    public byte[] getMyEPR() {
         return _myEPR;
     }
 
-    public void setMyEPR(HLargeData data) {
-        _myEPR = data;
+    public void setMyEPR(byte[] myEPR) {
+        _myEPR = myEPR;
     }
 
     /**
-     * @hibernate.many-to-one column="PARTNERROLE_EPR" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="PARTNERROLE_EPR_DATA" sql-type="blob(2G)"
      */
-    public HLargeData getPartnerEPR() {
+	public byte[] getPartnerEPR() {
         return _partnerEPR;
     }
 
-    public void setPartnerEPR(HLargeData data) {
-        _partnerEPR = data;
+    public void setPartnerEPR(byte[] partnerEPR) {
+        _partnerEPR = partnerEPR;
     }
 
     /**

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HProcessInstance.java Sat Nov 21 02:14:04 2009
@@ -59,8 +59,8 @@
 
     private HFaultData _fault;
 
-    private HLargeData _jacobState;
-
+    private byte[] _jacobState;
+    
     private short _previousState;
 
     private short _state;
@@ -105,13 +105,15 @@
     }
 
     /**
-     * @hibernate.many-to-one column="JACOB_STATE" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="JACOB_STATE_DATA" sql-type="blob(2G)"
      */
-    public HLargeData getJacobState() {
+    public byte[] getJacobState() {
         return _jacobState;
     }
 
-    public void setJacobState(HLargeData jacobState) {
+    public void setJacobState(byte[] jacobState) {
         _jacobState = jacobState;
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HXmlData.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HXmlData.java?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HXmlData.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/hobj/HXmlData.java Sat Nov 21 02:14:04 2009
@@ -26,11 +26,11 @@
  * @hibernate.class table="BPEL_XML_DATA"
  * @hibernate.query name="SELECT_XMLDATA_IDS_BY_INSTANCES" query="select id from HXmlData as x where x.instance in (:instances)"
  */
-public class HXmlData extends HObject{
+public class HXmlData extends HObject {
     public static final String SELECT_XMLDATA_IDS_BY_INSTANCES = "SELECT_XMLDATA_IDS_BY_INSTANCES";
 
     private boolean _simpleType;
-    private HLargeData _data;
+    private byte[] _data;
     private Collection<HVariableProperty> _properties = new HashSet<HVariableProperty>();
     private String _name;
     private HScope _scope;
@@ -42,13 +42,15 @@
     }
 
     /**
-     * @hibernate.many-to-one column="LDATA_ID" cascade="delete" foreign-key="none"
+     * @hibernate.property type="org.apache.ode.daohib.bpel.hobj.GZipDataType"
+     *
+     * @hibernate.column name="DATA" sql-type="blob(2G)"
      */
-    public HLargeData getData() {
+    public byte[] getData() {
         return _data;
     }
 
-    public void setData(HLargeData data) {
+    public void setData(byte[] data) {
         _data = data;
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/main/scripts/common.sql
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/main/scripts/common.sql?rev=882826&r1=882825&r2=882826&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/main/scripts/common.sql (original)
+++ ode/branches/APACHE_ODE_1.X/dao-jpa-ojpa-derby/src/main/scripts/common.sql Sat Nov 21 02:14:04 2009
@@ -1,2 +1,2 @@
 create table ODE_SCHEMA_VERSION (VERSION integer);
-insert into ODE_SCHEMA_VERSION values (5);
+insert into ODE_SCHEMA_VERSION values (6);