You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by vi...@apache.org on 2013/09/08 04:47:41 UTC

svn commit: r1520829 [5/6] - in /oozie/trunk: ./ core/src/main/java/org/apache/oozie/ core/src/main/java/org/apache/oozie/command/ core/src/main/java/org/apache/oozie/command/bundle/ core/src/main/java/org/apache/oozie/command/coord/ core/src/main/java...

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsCountNotForPurgeFromParentIdJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsCountNotForPurgeFromParentIdJPAExecutor.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsCountNotForPurgeFromParentIdJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsCountNotForPurgeFromParentIdJPAExecutor.java Sun Sep  8 02:47:39 2013
@@ -22,6 +22,7 @@ import org.apache.oozie.CoordinatorJobBe
 import org.apache.oozie.client.CoordinatorJob;
 import org.apache.oozie.client.Job;
 import org.apache.oozie.command.TestPurgeXCommand;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
 import org.apache.oozie.test.XDataTestCase;
@@ -59,7 +60,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob1 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob1 = TestPurgeXCommand.setLastModifiedTime(coordJob1, "2009-12-01T01:00Z");
         coordJob1.setAppName("coord1");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob1);
         addRecordToBundleActionTable(bundleJobId, coordJob1.getId(), coordJob1.getAppName(), 0, Job.Status.SUCCEEDED);
         days = 1;
         assertEquals(0, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -69,7 +70,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob2 = addRecordToCoordJobTable(CoordinatorJob.Status.DONEWITHERROR, false, false);
         coordJob2 = TestPurgeXCommand.setLastModifiedTime(coordJob2, "2009-11-01T01:00Z");
         coordJob2.setAppName("coord2");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob2);
         addRecordToBundleActionTable(bundleJobId, coordJob2.getId(), coordJob2.getAppName(), 0, Job.Status.DONEWITHERROR);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob1.getLastModifiedTime());
         assertEquals(1, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -79,7 +80,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob3 = addRecordToCoordJobTable(CoordinatorJob.Status.FAILED, false, false);
         coordJob3 = TestPurgeXCommand.setLastModifiedTime(coordJob3, "2009-10-01T01:00Z");
         coordJob3.setAppName("coord3");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob3));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob3);
         addRecordToBundleActionTable(bundleJobId, coordJob3.getId(), coordJob3.getAppName(), 0, Job.Status.FAILED);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob2.getLastModifiedTime());
         assertEquals(2, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -89,7 +90,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob4 = addRecordToCoordJobTable(CoordinatorJob.Status.KILLED, false, false);
         coordJob4 = TestPurgeXCommand.setLastModifiedTime(coordJob4, "2009-09-01T01:00Z");
         coordJob4.setAppName("coord4");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob4));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob4);
         addRecordToBundleActionTable(bundleJobId, coordJob4.getId(), coordJob4.getAppName(), 0, Job.Status.KILLED);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob3.getLastModifiedTime());
         assertEquals(3, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -99,7 +100,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob5 = addRecordToCoordJobTable(CoordinatorJob.Status.PAUSED, false, false);
         coordJob5 = TestPurgeXCommand.setLastModifiedTime(coordJob5, "2009-08-01T01:00Z");
         coordJob5.setAppName("coord5");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob5));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob5);
         addRecordToBundleActionTable(bundleJobId, coordJob5.getId(), coordJob5.getAppName(), 0, Job.Status.PAUSED);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob4.getLastModifiedTime());
         assertEquals(5, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -109,7 +110,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob6 = addRecordToCoordJobTable(CoordinatorJob.Status.PAUSEDWITHERROR, false, false);
         coordJob5 = TestPurgeXCommand.setLastModifiedTime(coordJob6, "2009-07-01T01:00Z");
         coordJob5.setAppName("coord6");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob6));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob6);
         addRecordToBundleActionTable(bundleJobId, coordJob6.getId(), coordJob6.getAppName(), 0, Job.Status.PAUSEDWITHERROR);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob5.getLastModifiedTime());
         assertEquals(6, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -119,7 +120,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob7 = addRecordToCoordJobTable(CoordinatorJob.Status.PREMATER, false, false);
         coordJob5 = TestPurgeXCommand.setLastModifiedTime(coordJob7, "2009-06-01T01:00Z");
         coordJob5.setAppName("coord7");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob6));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob6);
         addRecordToBundleActionTable(bundleJobId, coordJob7.getId(), coordJob7.getAppName(), 0, Job.Status.PREMATER);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob6.getLastModifiedTime());
         assertEquals(7, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -129,7 +130,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob8 = addRecordToCoordJobTable(CoordinatorJob.Status.PREP, false, false);
         coordJob8 = TestPurgeXCommand.setLastModifiedTime(coordJob8, "2009-05-01T01:00Z");
         coordJob8.setAppName("coord8");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob8));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob8);
         addRecordToBundleActionTable(bundleJobId, coordJob8.getId(), coordJob8.getAppName(), 0, Job.Status.PREP);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob7.getLastModifiedTime());
         assertEquals(8, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -139,7 +140,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob9 = addRecordToCoordJobTable(CoordinatorJob.Status.PREPPAUSED, false, false);
         coordJob9 = TestPurgeXCommand.setLastModifiedTime(coordJob9, "2009-04-01T01:00Z");
         coordJob9.setAppName("coord9");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob9));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob9);
         addRecordToBundleActionTable(bundleJobId, coordJob9.getId(), coordJob9.getAppName(), 0, Job.Status.PREPPAUSED);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob8.getLastModifiedTime());
         assertEquals(9, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -149,7 +150,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob10 = addRecordToCoordJobTable(CoordinatorJob.Status.PREPSUSPENDED, false, false);
         coordJob10 = TestPurgeXCommand.setLastModifiedTime(coordJob10, "2009-03-01T01:00Z");
         coordJob10.setAppName("coord10");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob10));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob10);
         addRecordToBundleActionTable(bundleJobId, coordJob10.getId(), coordJob10.getAppName(), 0, Job.Status.PREPSUSPENDED);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob9.getLastModifiedTime());
         assertEquals(10, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -159,7 +160,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob11 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, false, false);
         coordJob11 = TestPurgeXCommand.setLastModifiedTime(coordJob11, "2009-02-01T01:00Z");
         coordJob11.setAppName("coord11");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob11));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob11);
         addRecordToBundleActionTable(bundleJobId, coordJob11.getId(), coordJob11.getAppName(), 0, Job.Status.RUNNING);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob10.getLastModifiedTime());
         assertEquals(11, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -169,7 +170,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob12 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNINGWITHERROR, false, false);
         coordJob12 = TestPurgeXCommand.setLastModifiedTime(coordJob12, "2009-01-01T01:00Z");
         coordJob12.setAppName("coord12");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob12));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob12);
         addRecordToBundleActionTable(bundleJobId, coordJob12.getId(), coordJob12.getAppName(), 0, Job.Status.RUNNINGWITHERROR);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob11.getLastModifiedTime());
         assertEquals(12, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -179,7 +180,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob13 = addRecordToCoordJobTable(CoordinatorJob.Status.SUSPENDED, false, false);
         coordJob13 = TestPurgeXCommand.setLastModifiedTime(coordJob13, "2008-12-01T01:00Z");
         coordJob13.setAppName("coord13");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob13));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob13);
         addRecordToBundleActionTable(bundleJobId, coordJob13.getId(), coordJob13.getAppName(), 0, Job.Status.SUSPENDED);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob12.getLastModifiedTime());
         assertEquals(13, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -189,7 +190,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob14 = addRecordToCoordJobTable(CoordinatorJob.Status.SUSPENDEDWITHERROR, false, false);
         coordJob14 = TestPurgeXCommand.setLastModifiedTime(coordJob14, "2008-11-01T01:00Z");
         coordJob14.setAppName("coord14");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob14));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob14);
         addRecordToBundleActionTable(bundleJobId, coordJob14.getId(), coordJob14.getAppName(), 0, Job.Status.SUSPENDEDWITHERROR);
         days = TestPurgeXCommand.getNumDaysToNotBePurged(coordJob13.getLastModifiedTime());
         assertEquals(14, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetForPurgeJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetForPurgeJPAExecutor.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetForPurgeJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetForPurgeJPAExecutor.java Sun Sep  8 02:47:39 2013
@@ -32,6 +32,7 @@ import org.apache.oozie.CoordinatorJobBe
 import org.apache.oozie.client.CoordinatorJob;
 import org.apache.oozie.client.OozieClient;
 import org.apache.oozie.client.CoordinatorJob.Execution;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
 import org.apache.oozie.local.LocalOozie;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -74,7 +75,7 @@ public class TestCoordJobsGetForPurgeJPA
         CoordinatorJobBean job2 = insertJob(jobId2, CoordinatorJob.Status.SUCCEEDED,
                 DateUtils.parseDateOozieTZ("2011-01-01T01:00Z"));
         job2.setBundleId("some_bundle_parent_id");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(job2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID, job2);
 
         CoordJobsGetForPurgeJPAExecutor executor = new CoordJobsGetForPurgeJPAExecutor(10, 50);
         List<String> jobList = jpaService.execute(executor);

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetFromParentIdJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetFromParentIdJPAExecutor.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetFromParentIdJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobsGetFromParentIdJPAExecutor.java Sun Sep  8 02:47:39 2013
@@ -28,6 +28,7 @@ import org.apache.oozie.CoordinatorJobBe
 import org.apache.oozie.client.CoordinatorAction;
 import org.apache.oozie.client.CoordinatorJob;
 import org.apache.oozie.client.Job;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
 import org.apache.oozie.test.XDataTestCase;
@@ -62,7 +63,7 @@ public class TestCoordJobsGetFromParentI
         CoordinatorJobBean coordJobA1 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         CoordinatorJobBean coordJobA2 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJobA2.setAppName("something_different");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJobA2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJobA2);
         CoordinatorJobBean coordJobB = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         CoordinatorActionBean coordActionA1 = addRecordToCoordActionTable(coordJobA1.getId(), 1, CoordinatorAction.Status.SUCCEEDED,
                 "coord-action-get.xml", 0);
@@ -93,19 +94,19 @@ public class TestCoordJobsGetFromParentI
         BundleJobBean bundleJob = addRecordToBundleJobTable(Job.Status.SUCCEEDED, false);
         CoordinatorJobBean coordJob1 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob1.setAppName("coordJob1");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob1);
         CoordinatorJobBean coordJob2 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob2.setAppName("coordJob2");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob2);
         CoordinatorJobBean coordJob3 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob3.setAppName("coordJob3");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob3));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob3);
         CoordinatorJobBean coordJob4 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob4.setAppName("coordJob4");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob4));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob4);
         CoordinatorJobBean coordJob5 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob5.setAppName("coordJob5");
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob5));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob5);
         CoordinatorActionBean coordAction1 = addRecordToCoordActionTable(coordJob1.getId(), 1, CoordinatorAction.Status.SUCCEEDED,
                 "coord-action-get.xml", 0);
         CoordinatorActionBean coordAction2 = addRecordToCoordActionTable(coordJob2.getId(), 1, CoordinatorAction.Status.SUCCEEDED,

Added: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLARegistrationQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLARegistrationQueryExecutor.java?rev=1520829&view=auto
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLARegistrationQueryExecutor.java (added)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLARegistrationQueryExecutor.java Sun Sep  8 02:47:39 2013
@@ -0,0 +1,88 @@
+/**
+ * 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.oozie.executor.jpa;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import org.apache.oozie.client.event.SLAEvent.SLAStatus;
+import org.apache.oozie.executor.jpa.SLARegistrationQueryExecutor.SLARegQuery;
+import org.apache.oozie.service.JPAService;
+import org.apache.oozie.service.Services;
+import org.apache.oozie.sla.SLARegistrationBean;
+import org.apache.oozie.test.XDataTestCase;
+
+public class TestSLARegistrationQueryExecutor extends XDataTestCase {
+    Services services;
+    JPAService jpaService;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        services = new Services();
+        services.init();
+        jpaService = Services.get().get(JPAService.class);
+        cleanUpDBTables();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        services.destroy();
+        super.tearDown();
+    }
+
+    public void testGetQuery() throws Exception {
+        EntityManager em = jpaService.getEntityManager();
+        SLARegistrationBean bean = addRecordToSLARegistrationTable("test-application", SLAStatus.MET);
+
+        // UPDATE_SLA_REG_ALL
+        Query query = SLARegistrationQueryExecutor.getInstance().getUpdateQuery(SLARegQuery.UPDATE_SLA_REG_ALL, bean,
+                em);
+
+        assertEquals(query.getParameterValue("jobId"), bean.getId());
+        assertEquals(query.getParameterValue("nominalTime"), bean.getNominalTimestamp());
+        assertEquals(query.getParameterValue("expectedStartTime"), bean.getExpectedStartTimestamp());
+        assertEquals(query.getParameterValue("expectedEndTime"), bean.getExpectedEndTimestamp());
+        assertEquals(query.getParameterValue("expectedDuration"), bean.getExpectedDuration());
+        assertEquals(query.getParameterValue("slaConfig"), bean.getSlaConfig());
+        assertEquals(query.getParameterValue("notificationMsg"), bean.getNotificationMsg());
+        assertEquals(query.getParameterValue("upstreamApps"), bean.getUpstreamApps());
+        assertEquals(query.getParameterValue("appType"), bean.getAppType().toString());
+        assertEquals(query.getParameterValue("appName"), bean.getAppName());
+        assertEquals(query.getParameterValue("user"), bean.getUser());
+        assertEquals(query.getParameterValue("parentId"), bean.getParentId());
+        assertEquals(query.getParameterValue("jobData"), bean.getJobData());
+
+        em.close();
+    }
+
+    public void testExecuteUpdate() throws Exception {
+        // TODO
+    }
+
+    public void testGet() throws Exception {
+        // TODO
+    }
+
+    public void testGetList() throws Exception {
+        // TODO
+    }
+
+    public void testInsert() throws Exception {
+        // TODO
+    }
+}

Added: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLASummaryQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLASummaryQueryExecutor.java?rev=1520829&view=auto
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLASummaryQueryExecutor.java (added)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestSLASummaryQueryExecutor.java Sun Sep  8 02:47:39 2013
@@ -0,0 +1,125 @@
+/**
+ * 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.oozie.executor.jpa;
+
+import java.util.Date;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import org.apache.oozie.WorkflowActionBean;
+import org.apache.oozie.WorkflowJobBean;
+import org.apache.oozie.client.WorkflowAction;
+import org.apache.oozie.client.WorkflowJob;
+import org.apache.oozie.client.event.SLAEvent.SLAStatus;
+import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor.SLASummaryQuery;
+import org.apache.oozie.executor.jpa.WorkflowActionQueryExecutor.WorkflowActionQuery;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+import org.apache.oozie.service.JPAService;
+import org.apache.oozie.service.Services;
+import org.apache.oozie.sla.SLASummaryBean;
+import org.apache.oozie.test.XDataTestCase;
+import org.apache.oozie.workflow.WorkflowInstance;
+
+public class TestSLASummaryQueryExecutor extends XDataTestCase {
+    Services services;
+    JPAService jpaService;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        services = new Services();
+        services.init();
+        jpaService = Services.get().get(JPAService.class);
+        cleanUpDBTables();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        services.destroy();
+        super.tearDown();
+    }
+
+    public void testGetQuery() throws Exception {
+        EntityManager em = jpaService.getEntityManager();
+        SLASummaryBean bean = addRecordToSLASummaryTable("test-sla-summary", SLAStatus.IN_PROCESS);
+
+        // UPDATE_SLA_SUMMARY_FOR_STATUS_ACTUAL_TIMES
+        Query query = SLASummaryQueryExecutor.getInstance().getUpdateQuery(
+                SLASummaryQuery.UPDATE_SLA_SUMMARY_FOR_STATUS_ACTUAL_TIMES, bean, em);
+
+        assertEquals(query.getParameterValue("jobId"), bean.getId());
+        assertEquals(query.getParameterValue("slaStatus"), bean.getSLAStatus().toString());
+        assertEquals(query.getParameterValue("lastModifiedTS"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("eventStatus"), bean.getEventStatus().toString());
+        assertEquals(query.getParameterValue("jobStatus"), bean.getJobStatus());
+        assertEquals(query.getParameterValue("eventProcessed"), bean.getEventProcessed());
+        assertEquals(query.getParameterValue("actualStartTS"), bean.getActualStartTimestamp());
+        assertEquals(query.getParameterValue("actualEndTS"), bean.getActualEndTimestamp());
+        assertEquals(query.getParameterValue("actualDuration"), bean.getActualDuration());
+
+        // UPDATE_SLA_SUMMARY_REGISTRATION
+        query = SLASummaryQueryExecutor.getInstance().getUpdateQuery(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, bean, em);
+
+        assertEquals(query.getParameterValue("appName"), bean.getAppName());
+        assertEquals(query.getParameterValue("appType"), bean.getAppType().toString());
+        assertEquals(query.getParameterValue("nominalTime"), bean.getNominalTimestamp());
+        assertEquals(query.getParameterValue("expectedStartTime"), bean.getExpectedStartTimestamp());
+        assertEquals(query.getParameterValue("expectedEndTime"), bean.getExpectedEndTimestamp());
+        assertEquals(query.getParameterValue("expectedDuration"), bean.getExpectedDuration());
+        assertEquals(query.getParameterValue("jobStatus"), bean.getJobStatus());
+        assertEquals(query.getParameterValue("slaStatus"), bean.getSLAStatus().toString());
+        assertEquals(query.getParameterValue("eventStatus"), bean.getEventStatus().toString());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("user"), bean.getUser());
+        assertEquals(query.getParameterValue("parentId"), bean.getParentId());
+        assertEquals(query.getParameterValue("eventProcessed"), bean.getEventProcessed());
+        assertEquals(query.getParameterValue("actualDuration"), bean.getActualDuration());
+        assertEquals(query.getParameterValue("actualEndTS"), bean.getActualEndTimestamp());
+        assertEquals(query.getParameterValue("actualStartTS"), bean.getActualStartTimestamp());
+        assertEquals(query.getParameterValue("jobId"), bean.getId());
+
+        em.close();
+    }
+
+    public void testExecuteUpdate() throws Exception {
+        SLASummaryBean bean = addRecordToSLASummaryTable("test-sla-summary", SLAStatus.IN_PROCESS);
+        Date startTime = new Date(System.currentTimeMillis() - 1000 * 3600 * 2);
+        Date endTime = new Date(System.currentTimeMillis() - 1000 * 3600 * 1);
+        bean.setActualStart(startTime);
+        bean.setActualEnd(endTime);
+        bean.setSLAStatus(SLAStatus.MET);
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, bean);
+        SLASummaryBean retBean = SLASummaryQueryExecutor.getInstance().get(SLASummaryQuery.GET_SLA_SUMMARY,
+                bean.getId());
+        assertEquals(bean.getActualStartTimestamp(), retBean.getActualStartTimestamp());
+        assertEquals(bean.getActualEndTimestamp(), retBean.getActualEndTimestamp());
+        assertEquals(SLAStatus.MET, retBean.getSLAStatus());
+    }
+
+    public void testGet() throws Exception {
+        // TODO
+    }
+
+    public void testGetList() throws Exception {
+        // TODO
+    }
+
+    public void testInsert() throws Exception {
+        // TODO
+    }
+}

Added: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java?rev=1520829&view=auto
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java (added)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionQueryExecutor.java Sun Sep  8 02:47:39 2013
@@ -0,0 +1,207 @@
+/**
+ * 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.oozie.executor.jpa;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import org.apache.oozie.WorkflowActionBean;
+import org.apache.oozie.WorkflowJobBean;
+import org.apache.oozie.client.WorkflowAction;
+import org.apache.oozie.client.WorkflowJob;
+import org.apache.oozie.executor.jpa.WorkflowActionQueryExecutor.WorkflowActionQuery;
+import org.apache.oozie.service.JPAService;
+import org.apache.oozie.service.Services;
+import org.apache.oozie.test.XDataTestCase;
+import org.apache.oozie.workflow.WorkflowInstance;
+
+public class TestWorkflowActionQueryExecutor extends XDataTestCase {
+    Services services;
+    JPAService jpaService;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        services = new Services();
+        services.init();
+        jpaService = Services.get().get(JPAService.class);
+        cleanUpDBTables();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        System.out.println("Debug: In teardown");
+        new Throwable().printStackTrace();
+        try {
+            services.destroy();
+            super.tearDown();
+        }
+        catch (Exception e) {
+            System.out.println("Debug: exception In teardown");
+            e.printStackTrace();
+            throw e;
+        }
+    }
+
+    public void testGetQuery() throws Exception {
+        EntityManager em = jpaService.getEntityManager();
+        WorkflowJobBean job = this.addRecordToWfJobTable(WorkflowJob.Status.RUNNING, WorkflowInstance.Status.RUNNING);
+        WorkflowActionBean bean = addRecordToWfActionTable(job.getId(), "1", WorkflowAction.Status.PREP);
+
+        // UPDATE_ACTION
+        Query query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION, bean,
+                em);
+        assertEquals(query.getParameterValue("conf"), bean.getConf());
+        assertEquals(query.getParameterValue("consoleUrl"), bean.getConsoleUrl());
+        assertEquals(query.getParameterValue("data"), bean.getData());
+        assertEquals(query.getParameterValue("stats"), bean.getStats());
+        assertEquals(query.getParameterValue("externalChildIDs"), bean.getExternalId());
+        assertEquals(query.getParameterValue("errorCode"), bean.getErrorCode());
+        assertEquals(query.getParameterValue("errorMessage"), bean.getErrorMessage());
+        assertEquals(query.getParameterValue("externalId"), bean.getExternalId());
+        assertEquals(query.getParameterValue("externalStatus"), bean.getExternalStatus());
+        assertEquals(query.getParameterValue("name"), bean.getName());
+        assertEquals(query.getParameterValue("cred"), bean.getCred());
+        assertEquals(query.getParameterValue("retries"), bean.getRetries());
+        assertEquals(query.getParameterValue("trackerUri"), bean.getTrackerUri());
+        assertEquals(query.getParameterValue("transition"), bean.getTransition());
+        assertEquals(query.getParameterValue("type"), bean.getType());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("executionPath"), bean.getExecutionPath());
+        assertEquals(query.getParameterValue("lastCheckTime"), bean.getLastCheckTimestamp());
+        assertEquals(query.getParameterValue("logToken"), bean.getLogToken());
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("pendingAge"), bean.getPendingAge());
+        assertEquals(query.getParameterValue("signalValue"), bean.getSignalValue());
+        assertEquals(query.getParameterValue("slaXml"), bean.getSlaXml());
+        assertEquals(query.getParameterValue("startTime"), bean.getStartTimestamp());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfId"), bean.getWfId());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_ACTION_FOR_LAST_CHECKED_TIME
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION, bean, em);
+        assertEquals(query.getParameterValue("lastCheckTime"), bean.getLastCheckTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_ACTION_PENDING
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION_PENDING,
+                bean, em);
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_ACTION_STATUS_PENDING
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowActionQuery.UPDATE_ACTION_STATUS_PENDING, bean, em);
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+        // UPDATE_ACTION_PENDING_TRANS
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowActionQuery.UPDATE_ACTION_PENDING_TRANS, bean, em);
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("transition"), bean.getTransition());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+        // UPDATE_ACTION_PENDING_TRANS_ERROR
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowActionQuery.UPDATE_ACTION_PENDING_TRANS_ERROR, bean, em);
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("transition"), bean.getTransition());
+        assertEquals(query.getParameterValue("errorCode"), bean.getErrorCode());
+        assertEquals(query.getParameterValue("errorMessage"), bean.getErrorMessage());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+        // UPDATE_ACTION_START
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION_START, bean,
+                em);
+        assertEquals(query.getParameterValue("startTime"), bean.getStartTimestamp());
+        assertEquals(query.getParameterValue("externalChildIDs"), bean.getExternalId());
+        assertEquals(query.getParameterValue("conf"), bean.getConf());
+        assertEquals(query.getParameterValue("errorCode"), bean.getErrorCode());
+        assertEquals(query.getParameterValue("errorMessage"), bean.getErrorMessage());
+        assertEquals(query.getParameterValue("externalId"), bean.getExternalId());
+        assertEquals(query.getParameterValue("trackerUri"), bean.getTrackerUri());
+        assertEquals(query.getParameterValue("consoleUrl"), bean.getConsoleUrl());
+        assertEquals(query.getParameterValue("lastCheckTime"), bean.getLastCheckTimestamp());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("externalStatus"), bean.getExternalStatus());
+        assertEquals(query.getParameterValue("data"), bean.getData());
+        assertEquals(query.getParameterValue("retries"), bean.getRetries());
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("pendingAge"), bean.getPendingAgeTimestamp());
+        assertEquals(query.getParameterValue("userRetryCount"), bean.getUserRetryCount());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+        // UPDATE_ACTION_CHECK
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION_CHECK, bean,
+                em);
+        assertEquals(query.getParameterValue("externalChildIDs"), bean.getExternalId());
+        assertEquals(query.getParameterValue("externalStatus"), bean.getExternalStatus());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("data"), bean.getData());
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("errorCode"), bean.getErrorCode());
+        assertEquals(query.getParameterValue("errorMessage"), bean.getErrorMessage());
+        assertEquals(query.getParameterValue("lastCheckTime"), bean.getLastCheckTimestamp());
+        assertEquals(query.getParameterValue("retries"), bean.getRetries());
+        assertEquals(query.getParameterValue("pendingAge"), bean.getPendingAgeTimestamp());
+        assertEquals(query.getParameterValue("startTime"), bean.getStartTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+        // UPDATE_ACTION_END
+        query = WorkflowActionQueryExecutor.getInstance().getUpdateQuery(WorkflowActionQuery.UPDATE_ACTION_END, bean,
+                em);
+        assertEquals(query.getParameterValue("errorCode"), bean.getErrorCode());
+        assertEquals(query.getParameterValue("errorMessage"), bean.getErrorMessage());
+        assertEquals(query.getParameterValue("retries"), bean.getRetries());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("pending"), bean.getPending());
+        assertEquals(query.getParameterValue("pendingAge"), bean.getPendingAgeTimestamp());
+        assertEquals(query.getParameterValue("signalValue"), bean.getSignalValue());
+        assertEquals(query.getParameterValue("userRetryCount"), bean.getUserRetryCount());
+        assertEquals(query.getParameterValue("externalStatus"), bean.getExternalStatus());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+        em.close();
+    }
+
+    public void testExecuteUpdate() throws Exception {
+
+        WorkflowJobBean job = this.addRecordToWfJobTable(WorkflowJob.Status.RUNNING, WorkflowInstance.Status.RUNNING);
+        WorkflowActionBean bean = addRecordToWfActionTable(job.getId(), "1", WorkflowAction.Status.PREP);
+        bean.setStatus(WorkflowAction.Status.RUNNING);
+        WorkflowActionQueryExecutor.getInstance().executeUpdate(WorkflowActionQuery.UPDATE_ACTION, bean);
+        WorkflowActionBean retBean = WorkflowActionQueryExecutor.getInstance().get(WorkflowActionQuery.GET_ACTION,
+                bean.getId());
+        assertEquals(retBean.getStatus(), WorkflowAction.Status.RUNNING);
+    }
+
+    public void testGet() throws Exception {
+        // TODO
+    }
+
+    public void testGetList() throws Exception {
+        // TODO
+    }
+
+    public void testInsert() throws Exception {
+        WorkflowActionBean bean = new WorkflowActionBean();
+        bean.setId("test-oozie-action");
+        bean.setName("test");
+        WorkflowJobQueryExecutor.getInstance().insert(bean);
+        WorkflowActionBean retBean = WorkflowActionQueryExecutor.getInstance().get(WorkflowActionQuery.GET_ACTION,
+                "test-oozie-action");
+        assertEquals(retBean.getName(), "test");
+    }
+}

Added: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobQueryExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobQueryExecutor.java?rev=1520829&view=auto
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobQueryExecutor.java (added)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobQueryExecutor.java Sun Sep  8 02:47:39 2013
@@ -0,0 +1,198 @@
+/**
+ * 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.oozie.executor.jpa;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+
+import org.apache.oozie.WorkflowJobBean;
+import org.apache.oozie.client.WorkflowJob;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+import org.apache.oozie.service.JPAService;
+import org.apache.oozie.service.Services;
+import org.apache.oozie.test.XDataTestCase;
+import org.apache.oozie.workflow.WorkflowInstance;
+
+public class TestWorkflowJobQueryExecutor extends XDataTestCase {
+    Services services;
+    JPAService jpaService;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        services = new Services();
+        services.init();
+        jpaService = Services.get().get(JPAService.class);
+        cleanUpDBTables();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        services.destroy();
+        super.tearDown();
+    }
+
+    public void testGetQuery() throws Exception {
+        EntityManager em = jpaService.getEntityManager();
+        WorkflowJobBean bean = addRecordToWfJobTable(WorkflowJob.Status.PREP, WorkflowInstance.Status.PREP);
+
+        // UPDATE_WORKFLOW
+        Query query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(WorkflowJobQuery.UPDATE_WORKFLOW, bean, em);
+        assertEquals(query.getParameterValue("appName"), bean.getAppName());
+        assertEquals(query.getParameterValue("appPath"), bean.getAppPath());
+        assertEquals(query.getParameterValue("conf"), bean.getConf());
+        assertEquals(query.getParameterValue("groupName"), bean.getGroup());
+        assertEquals(query.getParameterValue("run"), bean.getRun());
+        assertEquals(query.getParameterValue("user"), bean.getUser());
+        assertEquals(query.getParameterValue("createdTime"), bean.getCreatedTimestamp());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("externalId"), bean.getExternalId());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("logToken"), bean.getLogToken());
+        assertEquals(query.getParameterValue("protoActionConf"), bean.getProtoActionConf());
+        assertEquals(query.getParameterValue("slaXml"), bean.getSlaXml());
+        assertEquals(query.getParameterValue("startTime"), bean.getStartTimestamp());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfInstance"), bean.getWfInstance());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_MODTIME
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(WorkflowJobQuery.UPDATE_WORKFLOW_MODTIME, bean,
+                em);
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_STATUS_MODTIME:
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME,
+                bean, em);
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_PARENT_MODIFIED
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(WorkflowJobQuery.UPDATE_WORKFLOW_PARENT_MODIFIED,
+                bean, em);
+        assertEquals(query.getParameterValue("parentId"), bean.getParentId());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_STATUS_INSTANCE_MODIFIED
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MODIFIED, bean, em);
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfInstance"), bean.getWfInstance());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_END
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_END, bean, em);
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfInstance"), bean.getWfInstance());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_END
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_END, bean, em);
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfInstance"), bean.getWfInstance());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_START_END
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(
+                WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_START_END, bean, em);
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfInstance"), bean.getWfInstance());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("startTime"), bean.getStartTimestamp());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // UPDATE_WORKFLOW_RERUN
+        query = WorkflowJobQueryExecutor.getInstance().getUpdateQuery(WorkflowJobQuery.UPDATE_WORKFLOW_RERUN, bean, em);
+        assertEquals(query.getParameterValue("appName"), bean.getAppName());
+        assertEquals(query.getParameterValue("protoActionConf"), bean.getProtoActionConf());
+        assertEquals(query.getParameterValue("appPath"), bean.getAppPath());
+        assertEquals(query.getParameterValue("conf"), bean.getConf());
+        assertEquals(query.getParameterValue("logToken"), bean.getLogToken());
+        assertEquals(query.getParameterValue("user"), bean.getUser());
+        assertEquals(query.getParameterValue("group"), bean.getGroup());
+        assertEquals(query.getParameterValue("externalId"), bean.getExternalId());
+        assertEquals(query.getParameterValue("endTime"), bean.getEndTimestamp());
+        assertEquals(query.getParameterValue("run"), bean.getRun());
+        assertEquals(query.getParameterValue("status"), bean.getStatus().toString());
+        assertEquals(query.getParameterValue("wfInstance"), bean.getWfInstance());
+        assertEquals(query.getParameterValue("lastModTime"), bean.getLastModifiedTimestamp());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+
+        // GET_WORKFLOW
+        query = WorkflowJobQueryExecutor.getInstance().getSelectQuery(WorkflowJobQuery.GET_WORKFLOW, em, bean.getId());
+        assertEquals(query.getParameterValue("id"), bean.getId());
+    }
+
+    public void testExecuteUpdate() throws Throwable {
+
+        try {
+            WorkflowJobBean bean = addRecordToWfJobTable(WorkflowJob.Status.PREP, WorkflowInstance.Status.PREP);
+            bean.setStatus(WorkflowJob.Status.RUNNING);
+            WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW, bean);
+            WorkflowJobBean bean2 = WorkflowJobQueryExecutor.getInstance().get(WorkflowJobQuery.GET_WORKFLOW,
+                    bean.getId());
+            assertEquals(bean2.getStatus(), WorkflowJob.Status.RUNNING);
+        }
+        catch (Throwable e) {
+            // TODO Auto-generated catch block
+            System.out.println("Debug: encountered exception");
+            e.printStackTrace();
+            throw e;
+        }
+    }
+
+    public void testInsert() throws Throwable {
+        try {
+            WorkflowJobBean bean = new WorkflowJobBean();
+            bean.setId("test-oozie-wrk");
+            bean.setAppName("test");
+            bean.setUser("oozie");
+            WorkflowJobQueryExecutor.getInstance().insert(bean);
+            WorkflowJobBean retBean = WorkflowJobQueryExecutor.getInstance().get(WorkflowJobQuery.GET_WORKFLOW,
+                    "test-oozie-wrk");
+            assertNotNull(retBean);
+            assertEquals(retBean.getAppName(), "test");
+            assertEquals(retBean.getUser(), "oozie");
+        }
+        catch (Throwable e) {
+            System.out.println("Debug: encountered exception testinsert");
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+            throw e;
+        }
+    }
+
+    public void testGet() throws Exception {
+        // TODO
+    }
+
+    public void testGetList() throws Exception {
+        // TODO
+    }
+}

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor.java Sun Sep  8 02:47:39 2013
@@ -61,6 +61,7 @@ public class TestWorkflowJobsCountNotFor
         days = 1;
         assertEquals(0, (long) jpaService.execute(new WorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor(days, wfJobId)));
         days = TestPurgeXCommand.getNumDaysToNotBePurged(subwfJob1.getEndTime());
+        System.out.println("Debug: days " + days);
         assertEquals(1, (long) jpaService.execute(new WorkflowJobsCountNotForPurgeFromWorkflowParentIdJPAExecutor(days, wfJobId)));
 
         WorkflowJobBean subwfJob2 = addRecordToWfJobTable(WorkflowJob.Status.FAILED, WorkflowInstance.Status.FAILED, wfJobId);

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobsGetForPurgeJPAExecutor.java Sun Sep  8 02:47:39 2013
@@ -21,6 +21,7 @@ import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
@@ -28,6 +29,7 @@ import org.apache.hadoop.fs.Path;
 import org.apache.oozie.WorkflowJobBean;
 import org.apache.oozie.client.OozieClient;
 import org.apache.oozie.client.WorkflowJob;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.LiteWorkflowStoreService;
 import org.apache.oozie.service.Services;
@@ -65,7 +67,8 @@ public class TestWorkflowJobsGetForPurge
         WorkflowJobBean job2 = addRecordToWfJobTable(WorkflowJob.Status.FAILED, WorkflowInstance.Status.FAILED);
         WorkflowJobBean job3 = addRecordToWfJobTable(WorkflowJob.Status.SUCCEEDED, WorkflowInstance.Status.SUCCEEDED);
         job3.setParentId(job1.getId());
-        jpaService.execute(new WorkflowJobUpdateJPAExecutor(job3));
+        job3.setLastModifiedTime(new Date());
+        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_PARENT_MODIFIED, job3);
 
         List<String> list = new ArrayList<String>();
         list.addAll(jpaService.execute(new WorkflowJobsGetForPurgeJPAExecutor(1, 20)));

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/service/TestActionCheckerService.java Sun Sep  8 02:47:39 2013
@@ -30,8 +30,9 @@ import org.apache.oozie.client.Coordinat
 import org.apache.oozie.client.WorkflowJob;
 import org.apache.oozie.client.OozieClient;
 import org.apache.oozie.executor.jpa.CoordActionGetJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowActionUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.WorkflowActionQueryExecutor;
 import org.apache.oozie.executor.jpa.WorkflowActionsGetForJobJPAExecutor;
+import org.apache.oozie.executor.jpa.WorkflowActionQueryExecutor.WorkflowActionQuery;
 import org.apache.oozie.CoordinatorActionBean;
 import org.apache.oozie.CoordinatorEngine;
 import org.apache.oozie.CoordinatorJobBean;
@@ -191,7 +192,7 @@ public class TestActionCheckerService ex
         assertEquals(WorkflowActionBean.Status.RUNNING, action.getStatus());
 
         action.setLastCheckTime(new Date());
-        jpaService.execute(new WorkflowActionUpdateJPAExecutor(action));
+        WorkflowActionQueryExecutor.getInstance().executeUpdate(WorkflowActionQuery.UPDATE_ACTION_FOR_LAST_CHECKED_TIME, action);
 
         int actionCheckDelay = 20;
 

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPauseTransitService.java Sun Sep  8 02:47:39 2013
@@ -19,7 +19,6 @@ package org.apache.oozie.service;
 
 import java.util.Date;
 
-import org.apache.hadoop.conf.Configuration;
 import org.apache.oozie.BundleActionBean;
 import org.apache.oozie.BundleJobBean;
 import org.apache.oozie.CoordinatorJobBean;
@@ -27,10 +26,12 @@ import org.apache.oozie.client.Coordinat
 import org.apache.oozie.client.Job;
 import org.apache.oozie.executor.jpa.BundleActionGetJPAExecutor;
 import org.apache.oozie.executor.jpa.BundleJobGetJPAExecutor;
-import org.apache.oozie.executor.jpa.BundleJobUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.BundleJobQueryExecutor;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor;
+import org.apache.oozie.executor.jpa.BundleJobQueryExecutor.BundleJobQuery;
 import org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.CoordJobUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -72,7 +73,7 @@ public class TestPauseTransitService ext
 
         job.setPauseTime(new Date(new Date().getTime() - 30 * 1000));
         job.setKickoffTime(new Date(new Date().getTime() + 3600 * 1000));
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -89,7 +90,7 @@ public class TestPauseTransitService ext
         assertEquals(Job.Status.PREPPAUSED, job.getStatus());
 
         job.setPauseTime(new Date(new Date().getTime() + 3600 * 1000));
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         pauseStartRunnable.run();
 
@@ -116,7 +117,7 @@ public class TestPauseTransitService ext
 
         job.setPauseTime(new Date(new Date().getTime() - 30 * 1000));
         job.setKickoffTime(new Date(new Date().getTime() + 3600 * 1000));
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -133,7 +134,7 @@ public class TestPauseTransitService ext
         assertEquals(Job.Status.PREPPAUSED, job.getStatus());
 
         job.setPauseTime(null);
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         pauseStartRunnable.run();
 
@@ -160,7 +161,7 @@ public class TestPauseTransitService ext
 
         Date pauseTime = new Date(new Date().getTime() - 30 * 1000);
         job.setPauseTime(pauseTime);
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         BundleActionBean bundleAction1 = this.addRecordToBundleActionTable(job.getId(), "action1", 0, Job.Status.RUNNING);
         BundleActionBean bundleAction2 = this.addRecordToBundleActionTable(job.getId(), "action2", 0, Job.Status.RUNNING);
@@ -174,10 +175,12 @@ public class TestPauseTransitService ext
 
         coordJob1.setPauseTime(pauseTime);
         coordJob1.setBundleId(job.getId());
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
+        CoordJobQueryExecutor.getInstance().executeUpdate(
+                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob1);
         coordJob2.setPauseTime(pauseTime);
         coordJob2.setBundleId(job.getId());
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(
+                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob2);
 
         BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
         job = jpaService.execute(bundleJobGetExecutor);
@@ -231,7 +234,7 @@ public class TestPauseTransitService ext
         assertNotNull(jpaService);
 
         job.setPauseTime(null);
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         BundleActionBean bundleAction1 = this.addRecordToBundleActionTable(job.getId(), "action1", 0, Job.Status.PAUSED);
         BundleActionBean bundleAction2 = this.addRecordToBundleActionTable(job.getId(), "action2", 0, Job.Status.PAUSED);
@@ -245,10 +248,12 @@ public class TestPauseTransitService ext
 
         coordJob1.setPauseTime(null);
         coordJob1.setBundleId(job.getId());
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
+        CoordJobQueryExecutor.getInstance().executeUpdate(
+                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob1);
         coordJob2.setPauseTime(null);
         coordJob2.setBundleId(job.getId());
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(
+                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob2);
 
         BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
         job = jpaService.execute(bundleJobGetExecutor);
@@ -319,10 +324,12 @@ public class TestPauseTransitService ext
 
         coordJob1.setAppNamespace(SchemaService.COORDINATOR_NAMESPACE_URI_1);
         coordJob1.setPauseTime(pauseTime);
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
+        CoordJobQueryExecutor.getInstance().executeUpdate(
+                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob1);
         coordJob2.setAppNamespace(SchemaService.COORDINATOR_NAMESPACE_URI_1);
         coordJob2.setPauseTime(pauseTime);
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
+        CoordJobQueryExecutor.getInstance().executeUpdate(
+                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob2);
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -356,7 +363,7 @@ public class TestPauseTransitService ext
         assertNotNull(jpaService);
 
         job.setKickoffTime(new Date(new Date().getTime() - 30 * 1000));
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -384,7 +391,7 @@ public class TestPauseTransitService ext
         assertNotNull(jpaService);
 
         job.setKickoffTime(new Date(new Date().getTime() - 30 * 1000));
-        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
+        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPurgeService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPurgeService.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPurgeService.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/service/TestPurgeService.java Sun Sep  8 02:47:39 2013
@@ -49,7 +49,8 @@ import org.apache.oozie.executor.jpa.Coo
 import org.apache.oozie.executor.jpa.CoordJobInsertJPAExecutor;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
 import org.apache.oozie.executor.jpa.WorkflowJobGetJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
 import org.apache.oozie.service.PurgeService.PurgeRunnable;
 import org.apache.oozie.test.XDataTestCase;
 import org.apache.oozie.util.DateUtils;
@@ -122,8 +123,8 @@ public class TestPurgeService extends XD
         WorkflowJobBean wfBean = jpaService.execute(wfJobGetCmd);
         Date endDate = new Date(System.currentTimeMillis() - 2 * 24 * 60 * 60 * 1000);
         wfBean.setEndTime(endDate);
-        WorkflowJobUpdateJPAExecutor wfUpdateCmd = new WorkflowJobUpdateJPAExecutor(wfBean);
-        jpaService.execute(wfUpdateCmd);
+        wfBean.setLastModifiedTime(new Date());
+        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_END, wfBean);
 
         Runnable purgeRunnable = new PurgeRunnable(1, 1, 1, 100);
         purgeRunnable.run();

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/service/TestStatusTransitService.java Sun Sep  8 02:47:39 2013
@@ -41,10 +41,10 @@ import org.apache.oozie.executor.jpa.Bun
 import org.apache.oozie.executor.jpa.BundleJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.BundleJobInsertJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordActionGetJPAExecutor;
-import org.apache.oozie.executor.jpa.CoordActionInsertJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.CoordJobUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor;
+import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
 import org.apache.oozie.executor.jpa.WorkflowJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.WorkflowJobInsertJPAExecutor;
@@ -157,7 +157,7 @@ public class TestStatusTransitService ex
         final JPAService jpaService = Services.get().get(JPAService.class);
         assertNotNull(jpaService);
         coordJob.setAppNamespace(SchemaService.COORDINATOR_NAMESPACE_URI_1);
-        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob));
+        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB_APPNAMESPACE, coordJob);
 
         addRecordToCoordActionTable(coordJob.getId(), 1, CoordinatorAction.Status.KILLED, "coord-action-get.xml", 0);
         addRecordToCoordActionTable(coordJob.getId(), 2, CoordinatorAction.Status.SUCCEEDED, "coord-action-get.xml", 0);

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/servlet/TestV2SLAServlet.java Sun Sep  8 02:47:39 2013
@@ -36,8 +36,8 @@ import org.apache.oozie.client.event.SLA
 import org.apache.oozie.client.rest.JsonBean;
 import org.apache.oozie.client.rest.JsonTags;
 import org.apache.oozie.client.rest.RestConstants;
+import org.apache.oozie.executor.jpa.BatchQueryExecutor;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
-import org.apache.oozie.executor.jpa.sla.SLACalculationInsertUpdateJPAExecutor;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
 import org.apache.oozie.sla.SLASummaryBean;
@@ -187,8 +187,6 @@ public class TestV2SLAServlet extends Da
             nominalTime.add(Calendar.HOUR, 1);
         }
 
-        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor(list, null);
-        JPAService jpaService = Services.get().get(JPAService.class);
-        jpaService.execute(writeCmd);
+        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(list, null, null);
     }
 }

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculationJPAExecutor.java Sun Sep  8 02:47:39 2013
@@ -22,11 +22,15 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.oozie.AppType;
 import org.apache.oozie.FaultInjection;
 import org.apache.oozie.client.event.SLAEvent.EventStatus;
 import org.apache.oozie.client.rest.JsonBean;
 import org.apache.oozie.command.SkipCommitFaultInjection;
-import org.apache.oozie.executor.jpa.sla.SLACalculationInsertUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.BatchQueryExecutor;
+import org.apache.oozie.executor.jpa.BatchQueryExecutor.UpdateEntry;
+import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor;
+import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor.SLASummaryQuery;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -82,11 +86,9 @@ public class TestSLACalculationJPAExecut
         SLASummaryBean bean2 = _createSLASummaryBean(wfId, "RUNNING", EventStatus.START_MISS, expStart, expEnd, 1000,
                 actStart, actEnd, 2000, (byte) 1, actEnd);
 
-        List<JsonBean> list = new ArrayList<JsonBean>();
-        list.add(bean2);
-        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor();
-        writeCmd.setInsertList(list);
-        jpaService.execute(writeCmd);
+        List<JsonBean> insertList = new ArrayList<JsonBean>();
+        insertList.add(bean2);
+        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, null, null);
 
         SLASummaryGetJPAExecutor readCmd2 = new SLASummaryGetJPAExecutor(wfId);
         SLASummaryBean sBean = jpaService.execute(readCmd2);
@@ -123,21 +125,17 @@ public class TestSLACalculationJPAExecut
         Date actStart = new Date();
         SLASummaryBean bean2 = _createSLASummaryBean(wfId, "RUNNING", EventStatus.START_MISS, expStart, expEnd, 1000,
                 actStart, null, 2000, (byte) 0, actStart);
-        List<JsonBean> list = new ArrayList<JsonBean>();
-        list.add(bean2);
-        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor();
-        writeCmd.setInsertList(list);
-        jpaService.execute(writeCmd);
+        List<JsonBean> insertList = new ArrayList<JsonBean>();
+        insertList.add(bean2);
+        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, null, null);
 
         // update existing record
         Date newDate = new Date();
         bean2 = _createSLASummaryBean(wfId, "RUNNING", EventStatus.DURATION_MISS, expStart, expEnd, 1000, actStart,
                 newDate, 2000, (byte) 1, newDate);
-        list = new ArrayList<JsonBean>();
-        list.add(bean2);
-        writeCmd.setUpdateList(list);
-        writeCmd.setInsertList(null);
-        jpaService.execute(writeCmd);
+        bean2.setAppType(AppType.WORKFLOW_ACTION);
+        List<UpdateEntry> updateList = new ArrayList<UpdateEntry>();
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, bean2);
 
         SLASummaryGetJPAExecutor readCmd2 = new SLASummaryGetJPAExecutor(wfId);
         SLASummaryBean sBean = jpaService.execute(readCmd2);
@@ -171,28 +169,26 @@ public class TestSLACalculationJPAExecut
                 1000, null, null, 2000, 0, null);
         List<JsonBean> list = new ArrayList<JsonBean>();
         list.add(bean1);
-        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor(list, null);
-        jpaService.execute(writeCmd);
+        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(list, null, null);
 
         // update existing record and insert another
         Date newDate = new Date();
         bean1 = new SLASummaryBean();
         bean1.setId(wfId1);
         bean1.setActualEnd(newDate);
-        List<JsonBean> updateList = new ArrayList<JsonBean>();
-        updateList.add(bean1);
+        List<UpdateEntry> updateList = new ArrayList<UpdateEntry>();
+        updateList.add(new UpdateEntry<SLASummaryQuery>(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL,bean1));
 
         SLASummaryBean bean2 = _createSLASummaryBean(wfId2, "RUNNING", EventStatus.END_MISS, new Date(), new Date(),
                 1000, null, null, 2000, 0, null);
         List<JsonBean> insertList = new ArrayList<JsonBean>();
         insertList.add(bean2);
-        writeCmd = new SLACalculationInsertUpdateJPAExecutor(insertList, updateList);
 
         // set fault injection to true, so transaction is roll backed
         setSystemProperty(FaultInjection.FAULT_INJECTION, "true");
         setSystemProperty(SkipCommitFaultInjection.ACTION_FAILOVER_FAULT_INJECTION, "true");
         try {
-            jpaService.execute(writeCmd);
+            BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, updateList, null);
             fail("Expected exception due to commit failure but didn't get any");
         }
         catch (Exception e) {

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java?rev=1520829&r1=1520828&r2=1520829&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java Sun Sep  8 02:47:39 2013
@@ -34,11 +34,14 @@ import org.apache.oozie.client.event.SLA
 import org.apache.oozie.client.event.JobEvent.EventStatus;
 import org.apache.oozie.client.event.SLAEvent.SLAStatus;
 import org.apache.oozie.client.rest.JsonBean;
+import org.apache.oozie.executor.jpa.BatchQueryExecutor.UpdateEntry;
 import org.apache.oozie.executor.jpa.CoordActionInsertJPAExecutor;
+import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor.SLASummaryQuery;
+import org.apache.oozie.executor.jpa.BatchQueryExecutor;
+import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor;
 import org.apache.oozie.executor.jpa.WorkflowActionInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
-import org.apache.oozie.executor.jpa.sla.SLACalculationInsertUpdateJPAExecutor;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor;
+import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.service.EventHandlerService;
 import org.apache.oozie.service.JPAService;
@@ -117,16 +120,18 @@ public class TestSLACalculatorMemory ext
         Date lastModifiedTime = new Date(System.currentTimeMillis() - 5*24*60*60*1000);
         calc1.setLastModifiedTime(lastModifiedTime);
 
-        List<JsonBean> list = new ArrayList<JsonBean>();
+        List<UpdateEntry> updateList = new ArrayList<UpdateEntry>();
         SLASummaryBean bean = new SLASummaryBean(calc1);
         bean.setActualStart(sdf.parse("2011-03-09"));
         bean.setActualEnd(sdf.parse("2011-03-10"));
         bean.setActualDuration(456);
-        list.add(bean);
-        list.add(new SLASummaryBean(calc2));
-        list.add(new SLASummaryBean(calc3));
+        updateList.add(new UpdateEntry<SLASummaryQuery>(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, bean));
+        updateList.add(new UpdateEntry<SLASummaryQuery>(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL,
+                new SLASummaryBean(calc2)));
+        updateList.add(new UpdateEntry<SLASummaryQuery>(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL,
+                new SLASummaryBean(calc3)));
 
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(null, updateList, null);
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -187,9 +192,7 @@ public class TestSLACalculatorMemory ext
         calc1.setLastModifiedTime(new Date());
         SLASummaryBean slaSummaryBean = new SLASummaryBean(calc1);
 
-        List<JsonBean> list = new ArrayList<JsonBean>();
-        list.add(slaSummaryBean);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL,slaSummaryBean);
 
         SLASummaryBean slaSummary = jpaService.execute(new SLASummaryGetJPAExecutor(jobId1));
 
@@ -199,8 +202,8 @@ public class TestSLACalculatorMemory ext
         wjb.setStatus(WorkflowJob.Status.SUCCEEDED);
         wjb.setStartTime(sdf.parse("2012-02-07"));
         wjb.setEndTime(sdf.parse("2013-02-07"));
-        WorkflowJobInsertJPAExecutor wfInsertCmd = new WorkflowJobInsertJPAExecutor(wjb);
-        jpaService.execute(wfInsertCmd);
+        wjb.setLastModifiedTime(new Date());
+        WorkflowJobQueryExecutor.getInstance().insert(wjb);
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -220,7 +223,8 @@ public class TestSLACalculatorMemory ext
 
         // Simulate a lost failed event
         wjb.setStatus(WorkflowJob.Status.FAILED);
-        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wjb));
+        wjb.setLastModifiedTime(new Date());
+        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wjb);
 
         // Reset the summary Bean
         calc1.setEventProcessed(1);
@@ -228,9 +232,7 @@ public class TestSLACalculatorMemory ext
         calc1.setJobStatus(WorkflowJob.Status.RUNNING.name());
         slaSummaryBean = new SLASummaryBean(calc1);
 
-        list = new ArrayList<JsonBean>();
-        list.add(slaSummaryBean);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -245,7 +247,8 @@ public class TestSLACalculatorMemory ext
 
         // Simulate a lost RUNNING event
         wjb.setStatus(WorkflowJob.Status.RUNNING);
-        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wjb));
+        wjb.setLastModifiedTime(new Date());
+        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wjb);
 
         // Reset the summary Bean
         calc1.setEventProcessed(0);
@@ -253,9 +256,7 @@ public class TestSLACalculatorMemory ext
         calc1.setJobStatus(null);
         slaSummaryBean = new SLASummaryBean(calc1);
 
-        list = new ArrayList<JsonBean>();
-        list.add(slaSummaryBean);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -287,9 +288,7 @@ public class TestSLACalculatorMemory ext
         calc1.setLastModifiedTime(new Date());
         SLASummaryBean slaSummaryBean = new SLASummaryBean(calc1);
 
-        List<JsonBean> list = new ArrayList<JsonBean>();
-        list.add(slaSummaryBean);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
 
         // Simulate a lost success event
         WorkflowActionBean wab = new WorkflowActionBean();
@@ -335,9 +334,7 @@ public class TestSLACalculatorMemory ext
         calc1.setLastModifiedTime(new Date());
         SLASummaryBean slaSummaryBean = new SLASummaryBean(calc1);
 
-        List<JsonBean> list = new ArrayList<JsonBean>();
-        list.add(slaSummaryBean);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
 
         // Simulate a lost failed event
         CoordinatorActionBean cab = new CoordinatorActionBean();
@@ -350,7 +347,8 @@ public class TestSLACalculatorMemory ext
         WorkflowJobBean wjb = new WorkflowJobBean();
         wjb.setId("wf_job");
         wjb.setStartTime(sdf.parse("2012-02-07"));
-        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wjb));
+        wjb.setLastModifiedTime(new Date());
+        WorkflowJobQueryExecutor.getInstance().insert(wjb);
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -444,9 +442,7 @@ public class TestSLACalculatorMemory ext
 
         // set back to 1, to make duration event not processed
         slaSummary.setEventProcessed(1);
-        List<JsonBean> list = new ArrayList<JsonBean>();
-        list.add(slaSummary);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummary);
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         slaCalcMemory.addJobStatus(jobId, WorkflowJob.Status.SUCCEEDED.toString(), EventStatus.SUCCESS,
@@ -459,9 +455,7 @@ public class TestSLACalculatorMemory ext
         ehs.getEventQueue().clear();
 
         slaSummary.setEventProcessed(1);
-        list = new ArrayList<JsonBean>();
-        list.add(slaSummary);
-        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
+        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummary);
 
         slaRegBean = _createSLARegistration("job-2", AppType.WORKFLOW_JOB);
         slaRegBean.setExpectedStart(new Date(System.currentTimeMillis() - 1 * 1 * 3600 * 1000));