Updated Branches:
  refs/heads/trunk 5ca0c22d4 -> 1f835e74a

AMBARI-3583 - Requests API should rollup tasks information


Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/1f835e74
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/1f835e74
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/1f835e74

Branch: refs/heads/trunk
Commit: 1f835e74a844dc84554058c168670e4b282e7a82
Parents: 5ca0c22
Author: tbeerbower <[email protected]>
Authored: Wed Oct 30 10:58:08 2013 -0400
Committer: tbeerbower <[email protected]>
Committed: Wed Oct 30 11:14:31 2013 -0400

----------------------------------------------------------------------
 .../internal/RequestResourceProvider.java       |  5 +++-
 .../internal/RequestResourceProviderTest.java   | 31 ++++++--------------
 2 files changed, 13 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/1f835e74/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
index b6b03b4..58d8311 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
@@ -213,6 +213,7 @@ class RequestResourceProvider extends 
AbstractControllerResourceProvider {
     int taskCount          = commands.size();
     int completedTaskCount = 0;
     int queuedTaskCount    = 0;
+    int pendingTaskCount   = 0;
     int failedTaskCount    = 0;
     int abortedTaskCount   = 0;
     int timedOutTaskCount  = 0;
@@ -235,10 +236,12 @@ class RequestResourceProvider extends 
AbstractControllerResourceProvider {
         }
       } else if (status.equals(HostRoleStatus.QUEUED)) {
         queuedTaskCount++;
+      } else if (status.equals(HostRoleStatus.PENDING)) {
+        pendingTaskCount++;
       }
     }
 
-    int inProgressTaskCount = taskCount - completedTaskCount - queuedTaskCount;
+    int inProgressTaskCount = taskCount - completedTaskCount - queuedTaskCount 
- pendingTaskCount;
 
     // determine request status
     HostRoleStatus requestStatus = failedTaskCount > 0             ? 
HostRoleStatus.FAILED :

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/1f835e74/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
index a613a0e..b453934 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
@@ -322,7 +322,7 @@ public class RequestResourceProviderTest {
     expect(hostRoleCommand2.getRequestId()).andReturn(101L).anyTimes();
     expect(hostRoleCommand3.getRequestId()).andReturn(101L).anyTimes();
     
expect(hostRoleCommand0.getStatus()).andReturn(HostRoleStatus.IN_PROGRESS).anyTimes();
-    
expect(hostRoleCommand1.getStatus()).andReturn(HostRoleStatus.COMPLETED).anyTimes();
+    
expect(hostRoleCommand1.getStatus()).andReturn(HostRoleStatus.PENDING).anyTimes();
     
expect(hostRoleCommand2.getStatus()).andReturn(HostRoleStatus.IN_PROGRESS).anyTimes();
     
expect(hostRoleCommand3.getStatus()).andReturn(HostRoleStatus.QUEUED).anyTimes();
 
@@ -342,6 +342,7 @@ public class RequestResourceProviderTest {
     propertyIds.add(RequestResourceProvider.REQUEST_TASK_CNT_ID);
     propertyIds.add(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID);
     propertyIds.add(RequestResourceProvider.REQUEST_FAILED_TASK_CNT_ID);
+    propertyIds.add(RequestResourceProvider.REQUEST_QUEUED_TASK_CNT_ID);
     propertyIds.add(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID);
 
     Predicate predicate = new 
PredicateBuilder().property(RequestResourceProvider.REQUEST_ID_PROPERTY_ID).equals("100").or().
@@ -358,12 +359,15 @@ public class RequestResourceProviderTest {
       Assert.assertEquals(0, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_FAILED_TASK_CNT_ID));
 
       if (id == 100L) {
-        Assert.assertEquals(1, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID));
-        Assert.assertEquals(67.5, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID));
+        Assert.assertEquals(0, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_QUEUED_TASK_CNT_ID));
+        int progressPercent = ((Double) 
resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID)).intValue();
+        Assert.assertEquals(17, progressPercent);
       } else {
-        Assert.assertEquals(0, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID));
-        Assert.assertEquals(21.999999999999996, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID));
+        Assert.assertEquals(1, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_QUEUED_TASK_CNT_ID));
+        int progressPercent = ((Double) 
resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID)).intValue();
+        Assert.assertEquals(21, progressPercent);
       }
+      Assert.assertEquals(0, 
resource.getPropertyValue(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID));
     }
 
     // verify
@@ -525,21 +529,4 @@ public class RequestResourceProviderTest {
     // verify
     verify(managementController);
   }
-
-//  public static RequestResourceProvider 
getServiceProvider(AmbariManagementController managementController) {
-//    Resource.Type type = Resource.Type.Request;
-//
-//    return (RequestResourceProvider) 
AbstractControllerResourceProvider.getResourceProvider(
-//        type,
-//        PropertyHelper.getPropertyIds(type),
-//        PropertyHelper.getKeyPropertyIds(type),
-//        managementController);
-//  }
-//
-//  public static Set<RequestStatusResponse> getRequestStatus(
-//      AmbariManagementController controller, RequestStatusRequest request)
-//      throws AmbariException {
-//    RequestResourceProvider provider = getServiceProvider(controller);
-//    return provider.getRequestStatus(request);
-//  }
 }

Reply via email to