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:29:33 UTC

svn commit: r1520828 [5/5] - 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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -22,7 +22,6 @@ 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;
@@ -60,7 +59,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob1 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob1 = TestPurgeXCommand.setLastModifiedTime(coordJob1, "2009-12-01T01:00Z");
         coordJob1.setAppName("coord1");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob1);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
         addRecordToBundleActionTable(bundleJobId, coordJob1.getId(), coordJob1.getAppName(), 0, Job.Status.SUCCEEDED);
         days = 1;
         assertEquals(0, (long) jpaService.execute(new CoordJobsCountNotForPurgeFromParentIdJPAExecutor(days, bundleJobId)));
@@ -70,7 +69,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob2 = addRecordToCoordJobTable(CoordinatorJob.Status.DONEWITHERROR, false, false);
         coordJob2 = TestPurgeXCommand.setLastModifiedTime(coordJob2, "2009-11-01T01:00Z");
         coordJob2.setAppName("coord2");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -80,7 +79,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob3 = addRecordToCoordJobTable(CoordinatorJob.Status.FAILED, false, false);
         coordJob3 = TestPurgeXCommand.setLastModifiedTime(coordJob3, "2009-10-01T01:00Z");
         coordJob3.setAppName("coord3");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob3);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -90,7 +89,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob4 = addRecordToCoordJobTable(CoordinatorJob.Status.KILLED, false, false);
         coordJob4 = TestPurgeXCommand.setLastModifiedTime(coordJob4, "2009-09-01T01:00Z");
         coordJob4.setAppName("coord4");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob4);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -100,7 +99,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob5 = addRecordToCoordJobTable(CoordinatorJob.Status.PAUSED, false, false);
         coordJob5 = TestPurgeXCommand.setLastModifiedTime(coordJob5, "2009-08-01T01:00Z");
         coordJob5.setAppName("coord5");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob5);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -110,7 +109,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob6 = addRecordToCoordJobTable(CoordinatorJob.Status.PAUSEDWITHERROR, false, false);
         coordJob5 = TestPurgeXCommand.setLastModifiedTime(coordJob6, "2009-07-01T01:00Z");
         coordJob5.setAppName("coord6");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob6);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -120,7 +119,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob7 = addRecordToCoordJobTable(CoordinatorJob.Status.PREMATER, false, false);
         coordJob5 = TestPurgeXCommand.setLastModifiedTime(coordJob7, "2009-06-01T01:00Z");
         coordJob5.setAppName("coord7");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob6);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -130,7 +129,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob8 = addRecordToCoordJobTable(CoordinatorJob.Status.PREP, false, false);
         coordJob8 = TestPurgeXCommand.setLastModifiedTime(coordJob8, "2009-05-01T01:00Z");
         coordJob8.setAppName("coord8");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob8);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -140,7 +139,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob9 = addRecordToCoordJobTable(CoordinatorJob.Status.PREPPAUSED, false, false);
         coordJob9 = TestPurgeXCommand.setLastModifiedTime(coordJob9, "2009-04-01T01:00Z");
         coordJob9.setAppName("coord9");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob9);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -150,7 +149,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob10 = addRecordToCoordJobTable(CoordinatorJob.Status.PREPSUSPENDED, false, false);
         coordJob10 = TestPurgeXCommand.setLastModifiedTime(coordJob10, "2009-03-01T01:00Z");
         coordJob10.setAppName("coord10");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob10);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -160,7 +159,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob11 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, false, false);
         coordJob11 = TestPurgeXCommand.setLastModifiedTime(coordJob11, "2009-02-01T01:00Z");
         coordJob11.setAppName("coord11");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob11);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -170,7 +169,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob12 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNINGWITHERROR, false, false);
         coordJob12 = TestPurgeXCommand.setLastModifiedTime(coordJob12, "2009-01-01T01:00Z");
         coordJob12.setAppName("coord12");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob12);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -180,7 +179,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob13 = addRecordToCoordJobTable(CoordinatorJob.Status.SUSPENDED, false, false);
         coordJob13 = TestPurgeXCommand.setLastModifiedTime(coordJob13, "2008-12-01T01:00Z");
         coordJob13.setAppName("coord13");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob13);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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)));
@@ -190,7 +189,7 @@ public class TestCoordJobsCountNotForPur
         CoordinatorJobBean coordJob14 = addRecordToCoordJobTable(CoordinatorJob.Status.SUSPENDEDWITHERROR, false, false);
         coordJob14 = TestPurgeXCommand.setLastModifiedTime(coordJob14, "2008-11-01T01:00Z");
         coordJob14.setAppName("coord14");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob14);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -32,7 +32,6 @@ 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;
@@ -75,7 +74,7 @@ public class TestCoordJobsGetForPurgeJPA
         CoordinatorJobBean job2 = insertJob(jobId2, CoordinatorJob.Status.SUCCEEDED,
                 DateUtils.parseDateOozieTZ("2011-01-01T01:00Z"));
         job2.setBundleId("some_bundle_parent_id");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID, job2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -28,7 +28,6 @@ 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;
@@ -63,7 +62,7 @@ public class TestCoordJobsGetFromParentI
         CoordinatorJobBean coordJobA1 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         CoordinatorJobBean coordJobA2 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJobA2.setAppName("something_different");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJobA2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJobA2));
         CoordinatorJobBean coordJobB = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         CoordinatorActionBean coordActionA1 = addRecordToCoordActionTable(coordJobA1.getId(), 1, CoordinatorAction.Status.SUCCEEDED,
                 "coord-action-get.xml", 0);
@@ -94,19 +93,19 @@ public class TestCoordJobsGetFromParentI
         BundleJobBean bundleJob = addRecordToBundleJobTable(Job.Status.SUCCEEDED, false);
         CoordinatorJobBean coordJob1 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob1.setAppName("coordJob1");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob1);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
         CoordinatorJobBean coordJob2 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob2.setAppName("coordJob2");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
         CoordinatorJobBean coordJob3 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob3.setAppName("coordJob3");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob3);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob3));
         CoordinatorJobBean coordJob4 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob4.setAppName("coordJob4");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob4);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob4));
         CoordinatorJobBean coordJob5 = addRecordToCoordJobTable(CoordinatorJob.Status.SUCCEEDED, false, false);
         coordJob5.setAppName("coordJob5");
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coordJob5);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob5));
         CoordinatorActionBean coordAction1 = addRecordToCoordActionTable(coordJob1.getId(), 1, CoordinatorAction.Status.SUCCEEDED,
                 "coord-action-get.xml", 0);
         CoordinatorActionBean coordAction2 = addRecordToCoordActionTable(coordJob2.getId(), 1, CoordinatorAction.Status.SUCCEEDED,

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionUpdateJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionUpdateJPAExecutor.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionUpdateJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowActionUpdateJPAExecutor.java Sun Sep  8 02:29:31 2013
@@ -0,0 +1,67 @@
+/**
+ * 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 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.local.LocalOozie;
+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 TestWorkflowActionUpdateJPAExecutor extends XDataTestCase {
+    Services services;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        services = new Services();
+        services.init();
+        cleanUpDBTables();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        services.destroy();
+        super.tearDown();
+    }
+
+    public void testWorkflowActionUpdate() throws Exception {
+        WorkflowJobBean job = this.addRecordToWfJobTable(WorkflowJob.Status.RUNNING, WorkflowInstance.Status.RUNNING);
+        WorkflowActionBean action = addRecordToWfActionTable(job.getId(), "1", WorkflowAction.Status.PREP);
+        _testUpdateAction(action.getId());
+    }
+
+    private void _testUpdateAction(String actionId) throws Exception {
+        JPAService jpaService = Services.get().get(JPAService.class);
+        assertNotNull(jpaService);
+
+        WorkflowActionGetJPAExecutor actionGetCmd = new WorkflowActionGetJPAExecutor(actionId);
+        WorkflowActionBean action1 = jpaService.execute(actionGetCmd);
+        action1.setStatus(WorkflowAction.Status.RUNNING);
+        WorkflowActionUpdateJPAExecutor wfActionUpdateCmd = new WorkflowActionUpdateJPAExecutor(action1);
+        jpaService.execute(wfActionUpdateCmd);
+
+        WorkflowActionBean action2 = jpaService.execute(actionGetCmd);
+        assertEquals(action2.getStatus(), WorkflowAction.Status.RUNNING);
+    }
+
+}

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobUpdateJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobUpdateJPAExecutor.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobUpdateJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowJobUpdateJPAExecutor.java Sun Sep  8 02:29:31 2013
@@ -0,0 +1,72 @@
+/**
+ * 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 org.apache.oozie.WorkflowJobBean;
+import org.apache.oozie.client.WorkflowJob;
+import org.apache.oozie.executor.jpa.WorkflowJobGetJPAExecutor;
+import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
+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 TestWorkflowJobUpdateJPAExecutor extends XDataTestCase {
+    Services services;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        services = new Services();
+        services.init();
+        cleanUpDBTables();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        services.destroy();
+        super.tearDown();
+    }
+
+    public void testWorkflowJobUpdate() throws Exception {
+        WorkflowJobBean job = addRecordToWfJobTable(WorkflowJob.Status.PREP, WorkflowInstance.Status.PREP);
+
+        JPAService jpaService = Services.get().get(JPAService.class);
+        assertNotNull(jpaService);
+        WorkflowJobGetJPAExecutor wfGetCmd = new WorkflowJobGetJPAExecutor(job.getId());
+        WorkflowJobBean wfBean = jpaService.execute(wfGetCmd);
+
+        // first update;
+        wfBean.setStatus(WorkflowJob.Status.SUCCEEDED);
+        WorkflowJobUpdateJPAExecutor wfUpdateCmd1 = new WorkflowJobUpdateJPAExecutor(wfBean);
+        jpaService.execute(wfUpdateCmd1);
+        WorkflowJobBean wfBean1 = jpaService.execute(wfGetCmd);
+        assertEquals(wfBean1.getId(), job.getId());
+        assertEquals(wfBean1.getStatusStr(), "SUCCEEDED");
+
+        // second update;
+        wfBean.setAppName("test");
+        wfBean.setStatus(WorkflowJob.Status.RUNNING);
+        WorkflowJobUpdateJPAExecutor wfUpdateCmd2 = new WorkflowJobUpdateJPAExecutor(wfBean);
+        jpaService.execute(wfUpdateCmd2);
+        WorkflowJobBean wfBean2 = jpaService.execute(wfGetCmd);
+        assertEquals(wfBean2.getId(), job.getId());
+        assertEquals(wfBean2.getStatusStr(), "RUNNING");
+    }
+
+}

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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -61,7 +61,6 @@ 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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -21,7 +21,6 @@ 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;
@@ -29,7 +28,6 @@ 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;
@@ -67,8 +65,7 @@ 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());
-        job3.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_PARENT_MODIFIED, job3);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -30,9 +30,8 @@ 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.WorkflowActionQueryExecutor;
+import org.apache.oozie.executor.jpa.WorkflowActionUpdateJPAExecutor;
 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;
@@ -192,7 +191,7 @@ public class TestActionCheckerService ex
         assertEquals(WorkflowActionBean.Status.RUNNING, action.getStatus());
 
         action.setLastCheckTime(new Date());
-        WorkflowActionQueryExecutor.getInstance().executeUpdate(WorkflowActionQuery.UPDATE_ACTION_FOR_LAST_CHECKED_TIME, action);
+        jpaService.execute(new WorkflowActionUpdateJPAExecutor(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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -19,6 +19,7 @@ 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;
@@ -26,12 +27,10 @@ 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.BundleJobQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordJobQueryExecutor;
-import org.apache.oozie.executor.jpa.BundleJobQueryExecutor.BundleJobQuery;
+import org.apache.oozie.executor.jpa.BundleJobUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
+import org.apache.oozie.executor.jpa.CoordJobUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -73,7 +72,7 @@ public class TestPauseTransitService ext
 
         job.setPauseTime(new Date(new Date().getTime() - 30 * 1000));
         job.setKickoffTime(new Date(new Date().getTime() + 3600 * 1000));
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -90,7 +89,7 @@ public class TestPauseTransitService ext
         assertEquals(Job.Status.PREPPAUSED, job.getStatus());
 
         job.setPauseTime(new Date(new Date().getTime() + 3600 * 1000));
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         pauseStartRunnable.run();
 
@@ -117,7 +116,7 @@ public class TestPauseTransitService ext
 
         job.setPauseTime(new Date(new Date().getTime() - 30 * 1000));
         job.setKickoffTime(new Date(new Date().getTime() + 3600 * 1000));
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -134,7 +133,7 @@ public class TestPauseTransitService ext
         assertEquals(Job.Status.PREPPAUSED, job.getStatus());
 
         job.setPauseTime(null);
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         pauseStartRunnable.run();
 
@@ -161,7 +160,7 @@ public class TestPauseTransitService ext
 
         Date pauseTime = new Date(new Date().getTime() - 30 * 1000);
         job.setPauseTime(pauseTime);
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         BundleActionBean bundleAction1 = this.addRecordToBundleActionTable(job.getId(), "action1", 0, Job.Status.RUNNING);
         BundleActionBean bundleAction2 = this.addRecordToBundleActionTable(job.getId(), "action2", 0, Job.Status.RUNNING);
@@ -175,12 +174,10 @@ public class TestPauseTransitService ext
 
         coordJob1.setPauseTime(pauseTime);
         coordJob1.setBundleId(job.getId());
-        CoordJobQueryExecutor.getInstance().executeUpdate(
-                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob1);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
         coordJob2.setPauseTime(pauseTime);
         coordJob2.setBundleId(job.getId());
-        CoordJobQueryExecutor.getInstance().executeUpdate(
-                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
 
         BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
         job = jpaService.execute(bundleJobGetExecutor);
@@ -234,7 +231,7 @@ public class TestPauseTransitService ext
         assertNotNull(jpaService);
 
         job.setPauseTime(null);
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         BundleActionBean bundleAction1 = this.addRecordToBundleActionTable(job.getId(), "action1", 0, Job.Status.PAUSED);
         BundleActionBean bundleAction2 = this.addRecordToBundleActionTable(job.getId(), "action2", 0, Job.Status.PAUSED);
@@ -248,12 +245,10 @@ public class TestPauseTransitService ext
 
         coordJob1.setPauseTime(null);
         coordJob1.setBundleId(job.getId());
-        CoordJobQueryExecutor.getInstance().executeUpdate(
-                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob1);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
         coordJob2.setPauseTime(null);
         coordJob2.setBundleId(job.getId());
-        CoordJobQueryExecutor.getInstance().executeUpdate(
-                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
 
         BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
         job = jpaService.execute(bundleJobGetExecutor);
@@ -324,12 +319,10 @@ public class TestPauseTransitService ext
 
         coordJob1.setAppNamespace(SchemaService.COORDINATOR_NAMESPACE_URI_1);
         coordJob1.setPauseTime(pauseTime);
-        CoordJobQueryExecutor.getInstance().executeUpdate(
-                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob1);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob1));
         coordJob2.setAppNamespace(SchemaService.COORDINATOR_NAMESPACE_URI_1);
         coordJob2.setPauseTime(pauseTime);
-        CoordJobQueryExecutor.getInstance().executeUpdate(
-                CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID_APPNAMESPACE_PAUSETIME, coordJob2);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob2));
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -363,7 +356,7 @@ public class TestPauseTransitService ext
         assertNotNull(jpaService);
 
         job.setKickoffTime(new Date(new Date().getTime() - 30 * 1000));
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(job));
 
         Runnable pauseStartRunnable = new PauseTransitRunnable();
         pauseStartRunnable.run();
@@ -391,7 +384,7 @@ public class TestPauseTransitService ext
         assertNotNull(jpaService);
 
         job.setKickoffTime(new Date(new Date().getTime() - 30 * 1000));
-        BundleJobQueryExecutor.getInstance().executeUpdate(BundleJobQuery.UPDATE_BUNDLE_JOB_PAUSE_KICKOFF, job);
+        jpaService.execute(new BundleJobUpdateJPAExecutor(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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -49,8 +49,7 @@ 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.WorkflowJobQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
 import org.apache.oozie.service.PurgeService.PurgeRunnable;
 import org.apache.oozie.test.XDataTestCase;
 import org.apache.oozie.util.DateUtils;
@@ -123,8 +122,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);
-        wfBean.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_END, wfBean);
+        WorkflowJobUpdateJPAExecutor wfUpdateCmd = new WorkflowJobUpdateJPAExecutor(wfBean);
+        jpaService.execute(wfUpdateCmd);
 
         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=1520828&r1=1520827&r2=1520828&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:29:31 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.CoordJobQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
+import org.apache.oozie.executor.jpa.CoordJobUpdateJPAExecutor;
 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);
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB_APPNAMESPACE, coordJob);
+        jpaService.execute(new CoordJobUpdateJPAExecutor(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=1520828&r1=1520827&r2=1520828&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:29:31 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,6 +187,8 @@ public class TestV2SLAServlet extends Da
             nominalTime.add(Calendar.HOUR, 1);
         }
 
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(list, null, null);
+        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor(list, null);
+        JPAService jpaService = Services.get().get(JPAService.class);
+        jpaService.execute(writeCmd);
     }
 }

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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -22,15 +22,11 @@ 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.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.SLACalculationInsertUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -86,9 +82,11 @@ public class TestSLACalculationJPAExecut
         SLASummaryBean bean2 = _createSLASummaryBean(wfId, "RUNNING", EventStatus.START_MISS, expStart, expEnd, 1000,
                 actStart, actEnd, 2000, (byte) 1, actEnd);
 
-        List<JsonBean> insertList = new ArrayList<JsonBean>();
-        insertList.add(bean2);
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, null, null);
+        List<JsonBean> list = new ArrayList<JsonBean>();
+        list.add(bean2);
+        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor();
+        writeCmd.setInsertList(list);
+        jpaService.execute(writeCmd);
 
         SLASummaryGetJPAExecutor readCmd2 = new SLASummaryGetJPAExecutor(wfId);
         SLASummaryBean sBean = jpaService.execute(readCmd2);
@@ -125,17 +123,21 @@ 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> insertList = new ArrayList<JsonBean>();
-        insertList.add(bean2);
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, null, null);
+        List<JsonBean> list = new ArrayList<JsonBean>();
+        list.add(bean2);
+        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor();
+        writeCmd.setInsertList(list);
+        jpaService.execute(writeCmd);
 
         // update existing record
         Date newDate = new Date();
         bean2 = _createSLASummaryBean(wfId, "RUNNING", EventStatus.DURATION_MISS, expStart, expEnd, 1000, actStart,
                 newDate, 2000, (byte) 1, newDate);
-        bean2.setAppType(AppType.WORKFLOW_ACTION);
-        List<UpdateEntry> updateList = new ArrayList<UpdateEntry>();
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, bean2);
+        list = new ArrayList<JsonBean>();
+        list.add(bean2);
+        writeCmd.setUpdateList(list);
+        writeCmd.setInsertList(null);
+        jpaService.execute(writeCmd);
 
         SLASummaryGetJPAExecutor readCmd2 = new SLASummaryGetJPAExecutor(wfId);
         SLASummaryBean sBean = jpaService.execute(readCmd2);
@@ -169,26 +171,28 @@ public class TestSLACalculationJPAExecut
                 1000, null, null, 2000, 0, null);
         List<JsonBean> list = new ArrayList<JsonBean>();
         list.add(bean1);
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(list, null, null);
+        SLACalculationInsertUpdateJPAExecutor writeCmd = new SLACalculationInsertUpdateJPAExecutor(list, null);
+        jpaService.execute(writeCmd);
 
         // update existing record and insert another
         Date newDate = new Date();
         bean1 = new SLASummaryBean();
         bean1.setId(wfId1);
         bean1.setActualEnd(newDate);
-        List<UpdateEntry> updateList = new ArrayList<UpdateEntry>();
-        updateList.add(new UpdateEntry<SLASummaryQuery>(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL,bean1));
+        List<JsonBean> updateList = new ArrayList<JsonBean>();
+        updateList.add(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 {
-            BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, updateList, null);
+            jpaService.execute(writeCmd);
             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=1520828&r1=1520827&r2=1520828&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:29:31 2013
@@ -34,14 +34,11 @@ 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.WorkflowJobQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+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.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.service.EventHandlerService;
 import org.apache.oozie.service.JPAService;
@@ -120,18 +117,16 @@ public class TestSLACalculatorMemory ext
         Date lastModifiedTime = new Date(System.currentTimeMillis() - 5*24*60*60*1000);
         calc1.setLastModifiedTime(lastModifiedTime);
 
-        List<UpdateEntry> updateList = new ArrayList<UpdateEntry>();
+        List<JsonBean> list = new ArrayList<JsonBean>();
         SLASummaryBean bean = new SLASummaryBean(calc1);
         bean.setActualStart(sdf.parse("2011-03-09"));
         bean.setActualEnd(sdf.parse("2011-03-10"));
         bean.setActualDuration(456);
-        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)));
+        list.add(bean);
+        list.add(new SLASummaryBean(calc2));
+        list.add(new SLASummaryBean(calc3));
 
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(null, updateList, null);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -192,7 +187,9 @@ public class TestSLACalculatorMemory ext
         calc1.setLastModifiedTime(new Date());
         SLASummaryBean slaSummaryBean = new SLASummaryBean(calc1);
 
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL,slaSummaryBean);
+        List<JsonBean> list = new ArrayList<JsonBean>();
+        list.add(slaSummaryBean);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         SLASummaryBean slaSummary = jpaService.execute(new SLASummaryGetJPAExecutor(jobId1));
 
@@ -202,8 +199,8 @@ public class TestSLACalculatorMemory ext
         wjb.setStatus(WorkflowJob.Status.SUCCEEDED);
         wjb.setStartTime(sdf.parse("2012-02-07"));
         wjb.setEndTime(sdf.parse("2013-02-07"));
-        wjb.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().insert(wjb);
+        WorkflowJobInsertJPAExecutor wfInsertCmd = new WorkflowJobInsertJPAExecutor(wjb);
+        jpaService.execute(wfInsertCmd);
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -223,8 +220,7 @@ public class TestSLACalculatorMemory ext
 
         // Simulate a lost failed event
         wjb.setStatus(WorkflowJob.Status.FAILED);
-        wjb.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wjb);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wjb));
 
         // Reset the summary Bean
         calc1.setEventProcessed(1);
@@ -232,7 +228,9 @@ public class TestSLACalculatorMemory ext
         calc1.setJobStatus(WorkflowJob.Status.RUNNING.name());
         slaSummaryBean = new SLASummaryBean(calc1);
 
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
+        list = new ArrayList<JsonBean>();
+        list.add(slaSummaryBean);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -247,8 +245,7 @@ public class TestSLACalculatorMemory ext
 
         // Simulate a lost RUNNING event
         wjb.setStatus(WorkflowJob.Status.RUNNING);
-        wjb.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wjb);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wjb));
 
         // Reset the summary Bean
         calc1.setEventProcessed(0);
@@ -256,7 +253,9 @@ public class TestSLACalculatorMemory ext
         calc1.setJobStatus(null);
         slaSummaryBean = new SLASummaryBean(calc1);
 
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
+        list = new ArrayList<JsonBean>();
+        list.add(slaSummaryBean);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -288,7 +287,9 @@ public class TestSLACalculatorMemory ext
         calc1.setLastModifiedTime(new Date());
         SLASummaryBean slaSummaryBean = new SLASummaryBean(calc1);
 
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
+        List<JsonBean> list = new ArrayList<JsonBean>();
+        list.add(slaSummaryBean);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         // Simulate a lost success event
         WorkflowActionBean wab = new WorkflowActionBean();
@@ -334,7 +335,9 @@ public class TestSLACalculatorMemory ext
         calc1.setLastModifiedTime(new Date());
         SLASummaryBean slaSummaryBean = new SLASummaryBean(calc1);
 
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummaryBean);
+        List<JsonBean> list = new ArrayList<JsonBean>();
+        list.add(slaSummaryBean);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         // Simulate a lost failed event
         CoordinatorActionBean cab = new CoordinatorActionBean();
@@ -347,8 +350,7 @@ public class TestSLACalculatorMemory ext
         WorkflowJobBean wjb = new WorkflowJobBean();
         wjb.setId("wf_job");
         wjb.setStartTime(sdf.parse("2012-02-07"));
-        wjb.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().insert(wjb);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wjb));
 
         slaCalcMemory = new SLACalculatorMemory();
         slaCalcMemory.init(new Configuration(false));
@@ -442,7 +444,9 @@ public class TestSLACalculatorMemory ext
 
         // set back to 1, to make duration event not processed
         slaSummary.setEventProcessed(1);
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummary);
+        List<JsonBean> list = new ArrayList<JsonBean>();
+        list.add(slaSummary);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         slaCalcMemory.addJobStatus(jobId, WorkflowJob.Status.SUCCEEDED.toString(), EventStatus.SUCCESS,
@@ -455,7 +459,9 @@ public class TestSLACalculatorMemory ext
         ehs.getEventQueue().clear();
 
         slaSummary.setEventProcessed(1);
-        SLASummaryQueryExecutor.getInstance().executeUpdate(SLASummaryQuery.UPDATE_SLA_SUMMARY_ALL, slaSummary);
+        list = new ArrayList<JsonBean>();
+        list.add(slaSummary);
+        jpaService.execute(new SLACalculationInsertUpdateJPAExecutor(null, list));
 
         slaRegBean = _createSLARegistration("job-2", AppType.WORKFLOW_JOB);
         slaRegBean.setExpectedStart(new Date(System.currentTimeMillis() - 1 * 1 * 3600 * 1000));

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAEventGeneration.java Sun Sep  8 02:29:31 2013
@@ -17,12 +17,10 @@
  */
 package org.apache.oozie.sla;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashSet;
-import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
@@ -30,16 +28,13 @@ import org.apache.oozie.AppType;
 import org.apache.oozie.CoordinatorActionBean;
 import org.apache.oozie.CoordinatorJobBean;
 import org.apache.oozie.ErrorCode;
-import org.apache.oozie.WorkflowActionBean;
 import org.apache.oozie.WorkflowJobBean;
 import org.apache.oozie.client.CoordinatorAction;
 import org.apache.oozie.client.CoordinatorJob;
 import org.apache.oozie.client.OozieClient;
-import org.apache.oozie.client.WorkflowAction;
 import org.apache.oozie.client.WorkflowJob;
 import org.apache.oozie.client.event.Event;
 import org.apache.oozie.client.event.JobEvent;
-import org.apache.oozie.client.event.SLAEvent;
 import org.apache.oozie.client.event.SLAEvent.SLAStatus;
 import org.apache.oozie.client.event.SLAEvent.EventStatus;
 import org.apache.oozie.client.rest.RestConstants;
@@ -55,22 +50,15 @@ import org.apache.oozie.command.wf.Start
 import org.apache.oozie.command.wf.SubmitXCommand;
 import org.apache.oozie.event.CoordinatorActionEvent;
 import org.apache.oozie.event.listener.JobEventListener;
-import org.apache.oozie.executor.jpa.BatchQueryExecutor.UpdateEntry;
 import org.apache.oozie.executor.jpa.CoordActionGetJPAExecutor;
-import org.apache.oozie.executor.jpa.CoordActionQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordActionQueryExecutor.CoordActionQuery;
-import org.apache.oozie.executor.jpa.BatchQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowActionQueryExecutor.WorkflowActionQuery;
-import org.apache.oozie.executor.jpa.WorkflowActionsGetForJobJPAExecutor;
+import org.apache.oozie.executor.jpa.CoordActionUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.WorkflowJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.WorkflowJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.service.EventHandlerService;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
-import org.apache.oozie.service.EventHandlerService.EventWorker;
 import org.apache.oozie.sla.listener.SLAJobEventListener;
 import org.apache.oozie.sla.service.SLAService;
 import org.apache.oozie.test.XDataTestCase;
@@ -201,7 +189,7 @@ public class TestSLAEventGeneration exte
         WorkflowJobBean wfBean = jpaService.execute(new WorkflowJobGetJPAExecutor(jobId));
         // set job status to succeeded, so rerun doesn't fail
         wfBean.setStatus(WorkflowJob.Status.SUCCEEDED);
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wfBean);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wfBean));
 
         // change conf for rerun
         cal.setTime(new Date());
@@ -279,7 +267,7 @@ public class TestSLAEventGeneration exte
         WorkflowJobBean wfBean = jpaService.execute(new WorkflowJobGetJPAExecutor(jobId));
         // set job status to succeeded, so rerun doesn't fail
         wfBean.setStatus(WorkflowJob.Status.SUCCEEDED);
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wfBean);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wfBean));
 
         // change conf for rerun
         cal.setTime(new Date());
@@ -407,7 +395,8 @@ public class TestSLAEventGeneration exte
 
         // test that sla processes the Job Event from Start command
         action.setStatus(CoordinatorAction.Status.SUBMITTED);
-        CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION_STATUS_PENDING_TIME, action);
+        final CoordActionUpdateJPAExecutor writeCmd = new CoordActionUpdateJPAExecutor(action);
+        jpa.execute(writeCmd);
         new CoordActionStartXCommand(actionId, getTestUser(), appName, jobId).call();
         slaEvent = slas.getSLACalculator().get(actionId);
         slaEvent.setEventProcessed(0); //resetting for testing sla event
@@ -449,7 +438,7 @@ public class TestSLAEventGeneration exte
                 "coord-action-sla1.xml", 0);
         // reset dummy externalId set by above test method
         action.setExternalId(null);
-        CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION, action);
+        jpa.execute(new CoordActionUpdateJPAExecutor(action));
         services.get(SLAService.class).addRegistrationEvent(
                 TestSLAService._createSLARegistration(action.getId(), AppType.COORDINATOR_ACTION));
 
@@ -571,8 +560,8 @@ public class TestSLAEventGeneration exte
         // job must already be killed (test xml) so set some status for KillX to work
         JPAService jpaService = Services.get().get(JPAService.class);
         WorkflowJobBean wf = jpaService.execute(new WorkflowJobGetJPAExecutor(jobId));
-        wf.setStatus(WorkflowJob.Status.RUNNING);
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_MODTIME, wf);
+        wf.setStatus(WorkflowJob.Status.FAILED);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(wf));
         new KillXCommand(jobId).call();
         waitForEventGeneration(1000); //wait for wf-action kill event to generate
         Thread.sleep(200); //wait for wf job kill event to generate
@@ -584,7 +573,7 @@ public class TestSLAEventGeneration exte
         assertNotNull(slaEvent.getActualEnd());
         assertEquals(EventStatus.END_MISS, slaEvent.getEventStatus());
         assertEquals(SLAStatus.MISS, slaEvent.getSLAStatus());
-        assertEquals(WorkflowJob.Status.KILLED.name(), slaEvent.getJobStatus());
+        assertEquals(WorkflowJob.Status.FAILED.name(), slaEvent.getJobStatus());
     }
 
 }

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetJPAExecutor.java Sun Sep  8 02:29:31 2013
@@ -23,8 +23,8 @@ import java.util.List;
 
 import org.apache.oozie.AppType;
 import org.apache.oozie.client.rest.JsonBean;
-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.executor.jpa.sla.SLARegistrationGetJPAExecutor;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -80,7 +80,8 @@ public class TestSLARegistrationGetJPAEx
             assertNotNull(jpaService);
             List<JsonBean> insert = new ArrayList<JsonBean>();
             insert.add(reg);
-            BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insert, null, null);
+            SLACalculationInsertUpdateJPAExecutor slaInsertCmd = new SLACalculationInsertUpdateJPAExecutor(insert, null);
+            jpaService.execute(slaInsertCmd);
         }
         catch (JPAExecutorException je) {
             fail("Unable to insert the test sla registration record to table");

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLARegistrationGetRecordsOnRestartJPAExecutor.java Sun Sep  8 02:29:31 2013
@@ -22,7 +22,7 @@ import java.util.Date;
 import java.util.List;
 
 import org.apache.oozie.client.rest.JsonBean;
-import org.apache.oozie.executor.jpa.BatchQueryExecutor;
+import org.apache.oozie.executor.jpa.sla.SLACalculationInsertUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLARegistrationGetOnRestartJPAExecutor;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.Services;
@@ -59,7 +59,8 @@ public class TestSLARegistrationGetRecor
         JPAService jpaService = Services.get().get(JPAService.class);
         List<JsonBean> insert = new ArrayList<JsonBean>();
         insert.add(reg);
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insert, null, null);
+        SLACalculationInsertUpdateJPAExecutor slaInsertCmd = new SLACalculationInsertUpdateJPAExecutor(insert, null);
+        jpaService.execute(slaInsertCmd);
         assertNotNull(jpaService);
         SLARegistrationGetOnRestartJPAExecutor readCmd = new SLARegistrationGetOnRestartJPAExecutor(jobId);
         SLARegistrationBean bean = jpaService.execute(readCmd);

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLAService.java Sun Sep  8 02:29:31 2013
@@ -31,8 +31,7 @@ import org.apache.oozie.client.event.SLA
 import org.apache.oozie.client.event.SLAEvent.SLAStatus;
 import org.apache.oozie.executor.jpa.WorkflowJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.WorkflowJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLARegistrationGetJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.service.EventHandlerService;
@@ -181,8 +180,7 @@ public class TestSLAService extends XDat
         WorkflowJobBean job2 = addRecordToWfJobTable(WorkflowJob.Status.SUCCEEDED, WorkflowInstance.Status.SUCCEEDED);
         job2.setEndTime(new Date(System.currentTimeMillis() - 1 * 1800 * 1000));
         job2.setStartTime(new Date(System.currentTimeMillis() - 1 * 2000 * 1000));
-        job2.setLastModifiedTime(new Date());
-        WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_STATUS_INSTANCE_MOD_START_END, job2);
+        jpaService.execute(new WorkflowJobUpdateJPAExecutor(job2));
         sla = _createSLARegistration(job2.getId(), AppType.WORKFLOW_JOB);
         sla.setExpectedEnd(new Date(System.currentTimeMillis() - 1 * 1500 * 1000)); // in past but > actual end
         sla.setExpectedDuration(100); //unreasonable to cause MISS

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/sla/TestSLASummaryGetOnRestartJPAExecutor.java Sun Sep  8 02:29:31 2013
@@ -24,8 +24,8 @@ import java.util.List;
 
 import org.apache.oozie.AppType;
 import org.apache.oozie.client.rest.JsonBean;
-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.executor.jpa.sla.SLARegistrationGetJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetJPAExecutor;
 import org.apache.oozie.executor.jpa.sla.SLASummaryGetRecordsOnRestartJPAExecutor;
@@ -72,7 +72,8 @@ public class TestSLASummaryGetOnRestartJ
         List<JsonBean> insert = new ArrayList<JsonBean>();
         insert.add(sla1);
         insert.add(sla2);
-        BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insert, null, null);
+        SLACalculationInsertUpdateJPAExecutor slaInsertCmd = new SLACalculationInsertUpdateJPAExecutor(insert, null);
+        jpaService.execute(slaInsertCmd);
         // get all records modified in last 7 days
         SLASummaryGetRecordsOnRestartJPAExecutor slaGetOnRestart = new SLASummaryGetRecordsOnRestartJPAExecutor(7);
         List<SLASummaryBean> beans = jpaService.execute(slaGetOnRestart);

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/test/XDataTestCase.java Sun Sep  8 02:29:31 2013
@@ -32,7 +32,6 @@ import java.util.regex.Matcher;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.oozie.AppType;
 import org.apache.oozie.BundleActionBean;
 import org.apache.oozie.BundleJobBean;
 import org.apache.oozie.CoordinatorActionBean;
@@ -46,8 +45,6 @@ import org.apache.oozie.client.Coordinat
 import org.apache.oozie.client.CoordinatorJob;
 import org.apache.oozie.client.CoordinatorJob.Execution;
 import org.apache.oozie.client.CoordinatorJob.Timeunit;
-import org.apache.oozie.client.event.SLAEvent.EventStatus;
-import org.apache.oozie.client.event.SLAEvent.SLAStatus;
 import org.apache.oozie.client.Job;
 import org.apache.oozie.client.OozieClient;
 import org.apache.oozie.client.SLAEvent;
@@ -57,21 +54,16 @@ import org.apache.oozie.executor.jpa.Bun
 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.CoordActionQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordActionQueryExecutor.CoordActionQuery;
+import org.apache.oozie.executor.jpa.CoordActionUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.CoordJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.CoordJobQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordJobQueryExecutor.CoordJobQuery;
+import org.apache.oozie.executor.jpa.CoordJobUpdateJPAExecutor;
 import org.apache.oozie.executor.jpa.JPAExecutorException;
 import org.apache.oozie.executor.jpa.SLAEventInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.SLARegistrationQueryExecutor;
-import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor;
 import org.apache.oozie.executor.jpa.WorkflowActionInsertJPAExecutor;
 import org.apache.oozie.executor.jpa.WorkflowJobGetJPAExecutor;
 import org.apache.oozie.executor.jpa.WorkflowJobInsertJPAExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor.WorkflowJobQuery;
+import org.apache.oozie.executor.jpa.WorkflowJobUpdateJPAExecutor;
 import org.apache.oozie.service.JPAService;
 import org.apache.oozie.service.LiteWorkflowStoreService;
 import org.apache.oozie.service.Services;
@@ -79,8 +71,6 @@ import org.apache.oozie.service.UUIDServ
 import org.apache.oozie.service.UUIDService.ApplicationType;
 import org.apache.oozie.service.WorkflowAppService;
 import org.apache.oozie.service.WorkflowStoreService;
-import org.apache.oozie.sla.SLARegistrationBean;
-import org.apache.oozie.sla.SLASummaryBean;
 import org.apache.oozie.util.DateUtils;
 import org.apache.oozie.util.IOUtils;
 import org.apache.oozie.util.XConfiguration;
@@ -556,7 +546,7 @@ public abstract class XDataTestCase exte
             if (wfId != null) {
                 WorkflowJobBean wfJob = jpaService.execute(new WorkflowJobGetJPAExecutor(wfId));
                 wfJob.setParentId(action.getId());
-                WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_PARENT_MODIFIED, wfJob);
+                jpaService.execute(new WorkflowJobUpdateJPAExecutor(wfJob));
             }
         }
         catch (JPAExecutorException je) {
@@ -633,7 +623,7 @@ public abstract class XDataTestCase exte
         try {
             JPAService jpaService = Services.get().get(JPAService.class);
             assertNotNull(jpaService);
-            WorkflowJobQueryExecutor.getInstance().executeUpdate(WorkflowJobQuery.UPDATE_WORKFLOW_PARENT_MODIFIED, subwfBean);
+            jpaService.execute(new WorkflowJobUpdateJPAExecutor(subwfBean));
         }
         catch (JPAExecutorException je) {
             je.printStackTrace();
@@ -778,80 +768,6 @@ public abstract class XDataTestCase exte
     }
 
     /**
-     * Insert sla summary for test
-     * @param appName application name
-     * @param status  sla status
-     * @return
-     * @throws Exception
-     */
-    protected SLASummaryBean addRecordToSLASummaryTable(String appName, SLAStatus status)
-            throws Exception {
-        SLASummaryBean sla = new SLASummaryBean();
-        Date today = new Date();
-        sla.setId(Services.get().get(UUIDService.class).generateId(ApplicationType.COORDINATOR));
-        sla.setAppName(appName);
-        sla.setAppType(AppType.COORDINATOR_JOB);
-        sla.setNominalTime(today);
-        sla.setExpectedStart(today);
-        sla.setExpectedEnd(today);
-        sla.setExpectedDuration(100);
-        sla.setJobStatus("RUNNING");
-        sla.setSLAStatus(status);
-        sla.setEventStatus(EventStatus.START_MET);
-        sla.setLastModifiedTime(today);
-        sla.setUser("oozie");
-        sla.setParentId(Services.get().get(UUIDService.class).generateId(ApplicationType.BUNDLE));
-        sla.setEventProcessed(1);
-        sla.setActualStart(today);
-        sla.setActualEnd(today);
-        sla.setActualDuration(100);
-        try {
-            SLASummaryQueryExecutor.getInstance().insert(sla);
-        }
-        catch (JPAExecutorException je) {
-            je.printStackTrace();
-            fail("Unable to insert the test sla event record to table");
-            throw je;
-        }
-        return sla;
-    }
-
-    /**
-     * Insert sla registration for test
-     * @param appName application name
-     * @param status  sla status
-     * @return
-     * @throws Exception
-     */
-    protected SLARegistrationBean addRecordToSLARegistrationTable(String appName, SLAStatus status)
-            throws Exception {
-        SLARegistrationBean sla = new SLARegistrationBean();
-        Date today = new Date();
-        sla.setId(Services.get().get(UUIDService.class).generateId(ApplicationType.COORDINATOR));
-        sla.setAppName(appName);
-        sla.setAppType(AppType.COORDINATOR_JOB);
-        sla.setExpectedDuration(100);
-        sla.setExpectedEnd(today);
-        sla.setExpectedStart(today);
-        sla.setJobData("test-job-data");
-        sla.setNominalTime(today);
-        sla.setNotificationMsg("test-sla-notification-msg");
-        sla.setParentId(Services.get().get(UUIDService.class).generateId(ApplicationType.BUNDLE));
-        sla.setSlaConfig("alert-events");
-        sla.setUpstreamApps("test-upstream-apps");
-        sla.setUser("oozie");
-        try {
-            SLARegistrationQueryExecutor.getInstance().insert(sla);
-        }
-        catch (JPAExecutorException je) {
-            je.printStackTrace();
-            fail("Unable to insert the test sla registration record to table");
-            throw je;
-        }
-        return sla;
-    }
-
-    /**
      * Insert bundle job for testing.
      *
      * @param jobStatus job status
@@ -950,7 +866,7 @@ public abstract class XDataTestCase exte
 
             CoordinatorJobBean coordJob = jpaService.execute(new CoordJobGetJPAExecutor(coordId));
             coordJob.setBundleId(jobId);
-            CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB_BUNDLEID, coordJob);
+            jpaService.execute(new CoordJobUpdateJPAExecutor(coordJob));
         }
         catch (JPAExecutorException ex) {
             ex.printStackTrace();
@@ -1538,14 +1454,14 @@ public abstract class XDataTestCase exte
         JPAService jpaService = Services.get().get(JPAService.class);
         CoordinatorActionBean action = jpaService.execute(new CoordActionGetJPAExecutor(actionId));
         action.setCreatedTime(new Date(actionCreationTime));
-        CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION, action);
+        jpaService.execute(new CoordActionUpdateJPAExecutor(action));
     }
 
     protected void setMissingDependencies(String actionId, String missingDependencies) throws Exception {
         JPAService jpaService = Services.get().get(JPAService.class);
         CoordinatorActionBean action = jpaService.execute(new CoordActionGetJPAExecutor(actionId));
         action.setMissingDependencies(missingDependencies);
-        CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION, action);
+        jpaService.execute(new CoordActionUpdateJPAExecutor(action));
     }
 
     protected void modifyCoordForRunning(CoordinatorJobBean coord) throws Exception {
@@ -1553,7 +1469,7 @@ public abstract class XDataTestCase exte
         writeToFile(wfXml, getFsTestCaseDir(), "workflow.xml");
         String coordXml = coord.getJobXml();
         coord.setJobXml(coordXml.replace("hdfs:///tmp/workflows/", getFsTestCaseDir() + "/workflow.xml"));
-        CoordJobQueryExecutor.getInstance().executeUpdate(CoordJobQuery.UPDATE_COORD_JOB, coord);
+        Services.get().get(JPAService.class).execute(new CoordJobUpdateJPAExecutor(coord));
     }
 
 }

Modified: oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/test/XTestCase.java Sun Sep  8 02:29:31 2013
@@ -58,15 +58,6 @@ import org.apache.oozie.WorkflowActionBe
 import org.apache.oozie.WorkflowJobBean;
 import org.apache.oozie.dependency.FSURIHandler;
 import org.apache.oozie.dependency.HCatURIHandler;
-import org.apache.oozie.executor.jpa.BatchQueryExecutor;
-import org.apache.oozie.executor.jpa.BundleActionQueryExecutor;
-import org.apache.oozie.executor.jpa.BundleJobQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordActionQueryExecutor;
-import org.apache.oozie.executor.jpa.CoordJobQueryExecutor;
-import org.apache.oozie.executor.jpa.SLARegistrationQueryExecutor;
-import org.apache.oozie.executor.jpa.SLASummaryQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowActionQueryExecutor;
-import org.apache.oozie.executor.jpa.WorkflowJobQueryExecutor;
 import org.apache.oozie.service.ConfigurationService;
 import org.apache.oozie.service.HCatAccessorService;
 import org.apache.oozie.service.HadoopAccessorService;
@@ -367,19 +358,6 @@ public abstract class XTestCase extends 
         super.tearDown();
         RUNNING_TESTCASES.decrementAndGet();
         LAST_TESTCASE_FINISHED.set(System.currentTimeMillis());
-        resetQueryExecutor();
-    }
-
-    private void resetQueryExecutor(){
-        BatchQueryExecutor.destroy();
-        WorkflowJobQueryExecutor.destroy();
-        WorkflowActionQueryExecutor.destroy();
-        CoordJobQueryExecutor.destroy();
-        CoordActionQueryExecutor.destroy();
-        BundleJobQueryExecutor.destroy();
-        BundleActionQueryExecutor.destroy();
-        SLARegistrationQueryExecutor.destroy();
-        SLASummaryQueryExecutor.destroy();
     }
 
     /**

Modified: oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1520828&r1=1520827&r2=1520828&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Sun Sep  8 02:29:31 2013
@@ -1,6 +1,5 @@
 -- Oozie 4.1.0 release (trunk - unreleased)
 
-OOZIE-1499 Update only necessary columns and consolidate JPA Executors (ryota)
 OOZIE-1522 SignalX may try to insert transition for a forked node twice (virag)
 OOZIE-1461 provide an option to auto-deploy launcher jar onto HDFS system libpath (ryota,virag via virag)
 OOZIE-1520 Sequencefile Reader fails to use doas for reading action data file (rohini,mona via mona)