KYLIN-1505 Combine guava filters with Predicates.and

Signed-off-by: Yang Li <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/6d368cda
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/6d368cda
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/6d368cda

Branch: refs/heads/master
Commit: 6d368cda47147b0dd04e87cbcada9218687f9dab
Parents: fb694a6
Author: Hao Chen <[email protected]>
Authored: Sun Mar 20 15:50:26 2016 +0800
Committer: Yang Li <[email protected]>
Committed: Sun Mar 20 15:50:26 2016 +0800

----------------------------------------------------------------------
 .../apache/kylin/rest/service/BasicService.java |  7 +++--
 .../apache/kylin/rest/service/JobService.java   | 29 +++++++++-----------
 2 files changed, 17 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/6d368cda/server/src/main/java/org/apache/kylin/rest/service/BasicService.java
----------------------------------------------------------------------
diff --git 
a/server/src/main/java/org/apache/kylin/rest/service/BasicService.java 
b/server/src/main/java/org/apache/kylin/rest/service/BasicService.java
index 5fea710..7696c59 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/BasicService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/BasicService.java
@@ -45,6 +45,7 @@ import org.apache.kylin.storage.hybrid.HybridManager;
 
 import com.google.common.base.Function;
 import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.Lists;
 
@@ -122,7 +123,7 @@ public abstract class BasicService {
             public CubingJob apply(AbstractExecutable executable) {
                 return (CubingJob) executable;
             }
-        }).filter(new Predicate<CubingJob>() {
+        }).filter(Predicates.and(new Predicate<CubingJob>() {
             @Override
             public boolean apply(CubingJob executable) {
                 if (null == projectName || null == 
getProjectManager().getProject(projectName)) {
@@ -132,12 +133,12 @@ public abstract class BasicService {
                     return project.containsRealization(RealizationType.CUBE, 
CubingExecutableUtil.getCubeName(executable.getParams()));
                 }
             }
-        }).filter(new Predicate<CubingJob>() {
+        }, new Predicate<CubingJob>() {
             @Override
             public boolean apply(CubingJob executable) {
                 return 
statusList.contains(allOutputs.get(executable.getId()).getState());
             }
-        }));
+        })));
         return results;
     }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/6d368cda/server/src/main/java/org/apache/kylin/rest/service/JobService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/JobService.java 
b/server/src/main/java/org/apache/kylin/rest/service/JobService.java
index d0c29a4..1a35d0d 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/JobService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/JobService.java
@@ -122,15 +122,7 @@ public class JobService extends BasicService {
     }
 
     private List<JobInstance> listCubeJobInstance(final String cubeName, final 
String projectName, List<JobStatusEnum> statusList, final long 
timeStartInMillis, final long timeEndInMillis) {
-        Set<ExecutableState> states;
-        if (statusList == null || statusList.isEmpty()) {
-            states = EnumSet.allOf(ExecutableState.class);
-        } else {
-            states = Sets.newHashSet();
-            for (JobStatusEnum status : statusList) {
-                states.add(parseToExecutableState(status));
-            }
-        }
+        Set<ExecutableState> states = convertStatusEnumToStates(statusList);
         final Map<String, Output> allOutputs = 
getExecutableManager().getAllOutputs(timeStartInMillis, timeEndInMillis);
         return 
Lists.newArrayList(FluentIterable.from(listAllCubingJobs(cubeName, projectName, 
states, timeStartInMillis, timeEndInMillis, allOutputs)).transform(new 
Function<CubingJob, JobInstance>() {
             @Override
@@ -141,6 +133,17 @@ public class JobService extends BasicService {
     }
 
     private List<JobInstance> listCubeJobInstance(final String cubeName, final 
String projectName, List<JobStatusEnum> statusList) {
+        Set<ExecutableState> states = convertStatusEnumToStates(statusList);
+        final Map<String, Output> allOutputs = 
getExecutableManager().getAllOutputs();
+        return 
Lists.newArrayList(FluentIterable.from(listAllCubingJobs(cubeName, projectName, 
states, allOutputs)).transform(new Function<CubingJob, JobInstance>() {
+            @Override
+            public JobInstance apply(CubingJob cubingJob) {
+                return parseToJobInstance(cubingJob, allOutputs);
+            }
+        }));
+    }
+
+    private Set<ExecutableState> convertStatusEnumToStates(List<JobStatusEnum> 
statusList) {
         Set<ExecutableState> states;
         if (statusList == null || statusList.isEmpty()) {
             states = EnumSet.allOf(ExecutableState.class);
@@ -150,13 +153,7 @@ public class JobService extends BasicService {
                 states.add(parseToExecutableState(status));
             }
         }
-        final Map<String, Output> allOutputs = 
getExecutableManager().getAllOutputs();
-        return 
Lists.newArrayList(FluentIterable.from(listAllCubingJobs(cubeName, projectName, 
states, allOutputs)).transform(new Function<CubingJob, JobInstance>() {
-            @Override
-            public JobInstance apply(CubingJob cubingJob) {
-                return parseToJobInstance(cubingJob, allOutputs);
-            }
-        }));
+        return states;
     }
 
     private long getTimeStartInMillis(Calendar calendar, JobTimeFilterEnum 
timeFilter) {

Reply via email to