You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by ka...@apache.org on 2011/10/08 00:57:11 UTC
svn commit: r1180273 - in /incubator/oozie/trunk: ./
client/src/main/java/org/apache/oozie/client/
core/src/main/java/org/apache/oozie/
core/src/main/java/org/apache/oozie/executor/jpa/
core/src/main/java/org/apache/oozie/store/ core/src/test/java/org/...
Author: kamrul
Date: Fri Oct 7 22:57:10 2011
New Revision: 1180273
URL: http://svn.apache.org/viewvc?rev=1180273&view=rev
Log:
OOZIE-554 New filters for all kinds of jobs.(Kiran via Mona via Mohammad)
Modified:
incubator/oozie/trunk/client/src/main/java/org/apache/oozie/client/OozieClient.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/BundleEngine.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorEngine.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/DagEngine.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowsJobGetJPAExecutor.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestBundleJobInfoGetJPAExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java
incubator/oozie/trunk/release-log.txt
Modified: incubator/oozie/trunk/client/src/main/java/org/apache/oozie/client/OozieClient.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/client/src/main/java/org/apache/oozie/client/OozieClient.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/client/src/main/java/org/apache/oozie/client/OozieClient.java (original)
+++ incubator/oozie/trunk/client/src/main/java/org/apache/oozie/client/OozieClient.java Fri Oct 7 22:57:10 2011
@@ -117,6 +117,10 @@ public class OozieClient {
public static final String FILTER_STATUS = "status";
+ public static final String FILTER_FREQUENCY = "frequency";
+
+ public static final String FILTER_ID = "id";
+
public static final String CHANGE_VALUE_ENDTIME = "endtime";
public static final String CHANGE_VALUE_PAUSETIME = "pausetime";
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/BundleEngine.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/BundleEngine.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/BundleEngine.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/BundleEngine.java Fri Oct 7 22:57:10 2011
@@ -288,6 +288,7 @@ public class BundleEngine extends BaseEn
FILTER_NAMES.add(OozieClient.FILTER_NAME);
FILTER_NAMES.add(OozieClient.FILTER_GROUP);
FILTER_NAMES.add(OozieClient.FILTER_STATUS);
+ FILTER_NAMES.add(OozieClient.FILTER_ID);
}
/**
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorEngine.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorEngine.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorEngine.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/CoordinatorEngine.java Fri Oct 7 22:57:10 2011
@@ -477,6 +477,8 @@ public class CoordinatorEngine extends B
FILTER_NAMES.add(OozieClient.FILTER_NAME);
FILTER_NAMES.add(OozieClient.FILTER_GROUP);
FILTER_NAMES.add(OozieClient.FILTER_STATUS);
+ FILTER_NAMES.add(OozieClient.FILTER_ID);
+ FILTER_NAMES.add(OozieClient.FILTER_FREQUENCY);
}
/**
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/DagEngine.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/DagEngine.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/DagEngine.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/DagEngine.java Fri Oct 7 22:57:10 2011
@@ -457,6 +457,7 @@ public class DagEngine extends BaseEngin
FILTER_NAMES.add(OozieClient.FILTER_NAME);
FILTER_NAMES.add(OozieClient.FILTER_GROUP);
FILTER_NAMES.add(OozieClient.FILTER_STATUS);
+ FILTER_NAMES.add(OozieClient.FILTER_ID);
}
/**
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowsJobGetJPAExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowsJobGetJPAExecutor.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowsJobGetJPAExecutor.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/executor/jpa/WorkflowsJobGetJPAExecutor.java Fri Oct 7 22:57:10 2011
@@ -74,6 +74,7 @@ public class WorkflowsJobGetJPAExecutor
boolean isAppName = false;
boolean isUser = false;
boolean isEnabled = false;
+ boolean isId = false;
int index = 0;
for (Map.Entry<String, List<String>> entry : filter.entrySet()) {
String colName = null;
@@ -206,6 +207,37 @@ public class WorkflowsJobGetJPAExecutor
}
}
}
+ if (entry.getKey().equals(OozieClient.FILTER_ID)) {
+ List<String> values = filter.get(OozieClient.FILTER_ID);
+ colName = "id";
+ for (int i = 0; i < values.size(); i++) {
+ colVar = "id";
+ colVar = colVar + index;
+ if (!isEnabled && !isId) {
+ sb.append(seletStr).append(" where w.id IN (:id" + index);
+ isId = true;
+ isEnabled = true;
+ }
+ else {
+ if (isEnabled && !isId) {
+ sb.append(" and w.id IN (:id" + index);
+ isId = true;
+ }
+ else {
+ if (isId) {
+ sb.append(", :id" + index);
+ }
+ }
+ }
+ if (i == values.size() - 1) {
+ sb.append(")");
+ }
+ index++;
+ valArray.add(values.get(i));
+ orArray.add(colName);
+ colArray.add(colVar);
+ }
+ }
}
}
}
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/store/StoreStatusFilter.java Fri Oct 7 22:57:10 2011
@@ -35,12 +35,15 @@ public class StoreStatusFilter {
public static final String bundleCountStr = "Select count(w) from BundleJobBean w";
- public static void filter(Map<String, List<String>> filter, List<String> orArray, List<String> colArray, List<String> valArray, StringBuilder sb, String seletStr, String countStr) {
+ public static void filter(Map<String, List<String>> filter, List<String> orArray, List<String> colArray,
+ List<String> valArray, StringBuilder sb, String seletStr, String countStr) {
boolean isStatus = false;
boolean isGroup = false;
boolean isAppName = false;
boolean isUser = false;
boolean isEnabled = false;
+ boolean isFrequency = false;
+ boolean isId = false;
int index = 0;
@@ -174,6 +177,68 @@ public class StoreStatusFilter {
colArray.add(colVar);
}
}
+ else if (entry.getKey().equals(OozieClient.FILTER_FREQUENCY)) {
+ List<String> values = filter.get(OozieClient.FILTER_FREQUENCY);
+ colName = "frequency";
+ for (int i = 0; i < values.size(); i++) {
+ colVar = "frequency";
+ colVar = colVar + index;
+ if (!isEnabled && !isFrequency) {
+ sb.append(seletStr).append(" where w.frequency IN (:frequency" + index);
+ isFrequency = true;
+ isEnabled = true;
+ }
+ else {
+ if (isEnabled && !isFrequency) {
+ sb.append(" and w.frequency IN (:frequency" + index);
+ isFrequency = true;
+ }
+ else {
+ if (isFrequency) {
+ sb.append(", :frequency" + index);
+ }
+ }
+ }
+ if (i == values.size() - 1) {
+ sb.append(")");
+ }
+ index++;
+ valArray.add(values.get(i));
+ orArray.add(colName);
+ colArray.add(colVar);
+ }
+ }
+ else if (entry.getKey().equals(OozieClient.FILTER_ID)) {
+ List<String> values = filter.get(OozieClient.FILTER_ID);
+ colName = "id";
+ for (int i = 0; i < values.size(); i++) {
+ colVar = "id";
+ colVar = colVar + index;
+ if (!isEnabled && !isId) {
+ sb.append(seletStr).append(" where w.id IN (:id" + index);
+ isId = true;
+ isEnabled = true;
+ }
+ else {
+ if (isEnabled && !isId) {
+ sb.append(" and w.id IN (:id" + index);
+ isId = true;
+ }
+ else {
+ if (isId) {
+ sb.append(", :id" + index);
+ }
+ }
+ }
+ if (i == values.size() - 1) {
+ sb.append(")");
+ }
+ index++;
+ valArray.add(values.get(i));
+ orArray.add(colName);
+ colArray.add(colVar);
+ }
+ }
}
}
}
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestBundleJobInfoGetJPAExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestBundleJobInfoGetJPAExecutor.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestBundleJobInfoGetJPAExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestBundleJobInfoGetJPAExecutor.java Fri Oct 7 22:57:10 2011
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.oozie.BundleJobBean;
import org.apache.oozie.BundleJobInfo;
import org.apache.oozie.client.Job;
import org.apache.oozie.client.OozieClient;
@@ -47,7 +48,7 @@ public class TestBundleJobInfoGetJPAExec
}
public void testBundleJobInfoGet() throws Exception {
- addRecordToBundleJobTable(Job.Status.PREP, false);
+ BundleJobBean bundleJob1 = addRecordToBundleJobTable(Job.Status.PREP, false);
addRecordToBundleJobTable(Job.Status.RUNNING, false);
_testGetJobInfoForStatus();
_testGetJobInfoForGroup();
@@ -56,6 +57,7 @@ public class TestBundleJobInfoGetJPAExec
_testGetJobInfoForAppName();
_testGetJobInfoForUser();
_testGetJobInfoForUserAndStatus();
+ _testGetJobInfoForId(bundleJob1.getId());
}
private void _testGetJobInfoForStatus() throws Exception {
@@ -132,4 +134,18 @@ public class TestBundleJobInfoGetJPAExec
assertEquals(1, ret.getBundleJobs().size());
}
+ private void _testGetJobInfoForId(String jobId) throws Exception {
+ JPAService jpaService = Services.get().get(JPAService.class);
+ assertNotNull(jpaService);
+ Map<String, List<String>> filter = new HashMap<String, List<String>>();
+ List<String> jobIdList = new ArrayList<String>();
+ jobIdList.add(jobId);
+ filter.put(OozieClient.FILTER_ID, jobIdList);
+
+ BundleJobInfoGetJPAExecutor bundleInfoGetCmd = new BundleJobInfoGetJPAExecutor(filter, 1, 20);
+ BundleJobInfo ret = jpaService.execute(bundleInfoGetCmd);
+ assertNotNull(ret);
+ assertEquals(ret.getBundleJobs().size(), 1);
+ }
+
}
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestCoordJobInfoGetJPAExecutor.java Fri Oct 7 22:57:10 2011
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.oozie.CoordinatorJobBean;
import org.apache.oozie.CoordinatorJobInfo;
import org.apache.oozie.client.CoordinatorJob;
import org.apache.oozie.client.OozieClient;
@@ -50,7 +51,7 @@ public class TestCoordJobInfoGetJPAExecu
}
public void testCoordJobGet() throws Exception {
- addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, false, false);
+ CoordinatorJobBean coordinatorJob1 = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, false, false);
addRecordToCoordJobTable(CoordinatorJob.Status.KILLED, false, false);
_testGetJobInfoForStatus();
_testGetJobInfoForGroup();
@@ -58,6 +59,8 @@ public class TestCoordJobInfoGetJPAExecu
_testGetJobInfoForAppName();
_testGetJobInfoForUser();
_testGetJobInfoForUserAndStatus();
+ _testGetJobInfoForFrequency();
+ _testGetJobInfoForId(coordinatorJob1.getId());
}
private void _testGetJobInfoForStatus() throws Exception {
@@ -134,4 +137,32 @@ public class TestCoordJobInfoGetJPAExecu
assertEquals(ret.getCoordJobs().size(), 2);
}
+ private void _testGetJobInfoForFrequency() throws Exception {
+ JPAService jpaService = Services.get().get(JPAService.class);
+ assertNotNull(jpaService);
+ Map<String, List<String>> filter = new HashMap<String, List<String>>();
+ List<String> frequencyList = new ArrayList<String>();
+ frequencyList.add("1");
+ filter.put(OozieClient.FILTER_FREQUENCY, frequencyList);
+
+ CoordJobInfoGetJPAExecutor coordInfoGetCmd = new CoordJobInfoGetJPAExecutor(filter, 1, 20);
+ CoordinatorJobInfo ret = jpaService.execute(coordInfoGetCmd);
+ assertNotNull(ret);
+ assertEquals(ret.getCoordJobs().size(), 3);
+ }
+
+ private void _testGetJobInfoForId(String jobId) throws Exception {
+ JPAService jpaService = Services.get().get(JPAService.class);
+ assertNotNull(jpaService);
+ Map<String, List<String>> filter = new HashMap<String, List<String>>();
+ List<String> jobIdList = new ArrayList<String>();
+ jobIdList.add(jobId);
+ filter.put(OozieClient.FILTER_ID, jobIdList);
+
+ CoordJobInfoGetJPAExecutor coordInfoGetCmd = new CoordJobInfoGetJPAExecutor(filter, 1, 20);
+ CoordinatorJobInfo ret = jpaService.execute(coordInfoGetCmd);
+ assertNotNull(ret);
+ assertEquals(ret.getCoordJobs().size(), 1);
+ }
+
}
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/executor/jpa/TestWorkflowsJobGetJPAExecutor.java Fri Oct 7 22:57:10 2011
@@ -17,12 +17,14 @@
*/
package org.apache.oozie.executor.jpa;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.oozie.WorkflowJobBean;
import org.apache.oozie.WorkflowsInfo;
+import org.apache.oozie.client.OozieClient;
import org.apache.oozie.client.WorkflowJob;
import org.apache.oozie.service.JPAService;
import org.apache.oozie.service.Services;
@@ -47,9 +49,10 @@ public class TestWorkflowsJobGetJPAExecu
}
public void testWfJobsGet() throws Exception {
- addRecordToWfJobTable(WorkflowJob.Status.PREP, WorkflowInstance.Status.PREP);
+ WorkflowJobBean workflowJob = addRecordToWfJobTable(WorkflowJob.Status.PREP, WorkflowInstance.Status.PREP);
addRecordToWfJobTable(WorkflowJob.Status.PREP, WorkflowInstance.Status.PREP);
_testGetWFInfos();
+ _testGetWFInfoForId(workflowJob.getId());
System.out.println("testWfJobsGet Successful");
}
@@ -70,4 +73,17 @@ public class TestWorkflowsJobGetJPAExecu
wfBeans = wfInfo.getWorkflows();
assertEquals(2, wfBeans.size());
}
+
+ private void _testGetWFInfoForId(String jobId) throws Exception {
+ JPAService jpaService = Services.get().get(JPAService.class);
+ assertNotNull(jpaService);
+ Map<String, List<String>> filter = new HashMap<String, List<String>>();
+ List<String> jobIdList = new ArrayList<String>();
+ jobIdList.add(jobId);
+ filter.put(OozieClient.FILTER_ID, jobIdList);
+ WorkflowsJobGetJPAExecutor wfGetCmd = new WorkflowsJobGetJPAExecutor(filter, 1, 1);
+ WorkflowsInfo wfInfo = jpaService.execute(wfGetCmd);
+ assertNotNull(wfInfo);
+ assertEquals(wfInfo.getWorkflows().size(), 1);
+ }
}
Modified: incubator/oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/release-log.txt?rev=1180273&r1=1180272&r2=1180273&view=diff
==============================================================================
--- incubator/oozie/trunk/release-log.txt (original)
+++ incubator/oozie/trunk/release-log.txt Fri Oct 7 22:57:10 2011
@@ -1,4 +1,5 @@
-- Oozie 3.1.1 release
+OOZIE-554 New filters for all kinds of jobs
OOZIE-556 Sort on Web Console for non-string data type
OOZIE-41 Usability improvement (Additional options) for coordinator job analysis on Web Console
OOZIE-568 distcp action return error code -1