You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2014/02/10 07:19:18 UTC

git commit: AMBARI-4432. Expose server clock as top-level AMBARI_SERVER attribute. (Dmytro Shkvyra via mahadev)

Updated Branches:
  refs/heads/trunk 1f6bf6582 -> 9fe84f475


AMBARI-4432. Expose server clock as top-level AMBARI_SERVER attribute. (Dmytro Shkvyra via mahadev)


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

Branch: refs/heads/trunk
Commit: 9fe84f4756620a224f1c1fe125e3f384b5e887e6
Parents: 1f6bf65
Author: Mahadev Konar <ma...@apache.org>
Authored: Sun Feb 9 22:18:54 2014 -0800
Committer: Mahadev Konar <ma...@apache.org>
Committed: Sun Feb 9 22:18:54 2014 -0800

----------------------------------------------------------------------
 .../RootServiceComponentResourceProvider.java   | 12 ++++++++++--
 .../src/main/resources/properties.json          |  3 ++-
 ...ootServiceComponentResourceProviderTest.java | 20 ++++++++++++++------
 3 files changed, 26 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/9fe84f47/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
index 4c5320f..0f16966 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
@@ -23,19 +23,19 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.controller.RootServiceComponentRequest;
 import org.apache.ambari.server.controller.RootServiceComponentResponse;
+import org.apache.ambari.server.controller.RootServiceResponseFactory.Components;
 import org.apache.ambari.server.controller.spi.NoSuchParentResourceException;
 import org.apache.ambari.server.controller.spi.NoSuchResourceException;
 import org.apache.ambari.server.controller.spi.Predicate;
 import org.apache.ambari.server.controller.spi.Request;
 import org.apache.ambari.server.controller.spi.Resource;
+import org.apache.ambari.server.controller.spi.Resource.Type;
 import org.apache.ambari.server.controller.spi.SystemException;
 import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
-import org.apache.ambari.server.controller.spi.Resource.Type;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 
 public class RootServiceComponentResourceProvider extends
@@ -53,6 +53,9 @@ public class RootServiceComponentResourceProvider extends
   public static final String PROPERTIES_PROPERTY_ID = PropertyHelper
       .getPropertyId("RootServiceComponents", "properties");
   
+  public static final String PROPERTIES_SERVER_CLOCK = PropertyHelper
+      .getPropertyId("RootServiceComponents", "server_clock");
+  
   private Set<String> pkPropertyIds = new HashSet<String>(
       Arrays.asList(new String[] { SERVICE_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID }));
 
@@ -102,6 +105,11 @@ public class RootServiceComponentResourceProvider extends
       
       setResourceProperty(resource, COMPONENT_VERSION_PROPERTY_ID,
           response.getComponentVersion(), requestedIds);
+      
+      if(response.getComponentName().equals(Components.AMBARI_SERVER.name())){
+        setResourceProperty(resource, PROPERTIES_SERVER_CLOCK,
+            System.currentTimeMillis() / 1000L, requestedIds);
+      }      
 
       resources.add(resource);
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9fe84f47/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index 2cd5e35..f453e0d 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -293,7 +293,8 @@
         "RootServiceComponents/service_name",
         "RootServiceComponents/component_name",
         "RootServiceComponents/properties",
-        "RootServiceComponents/component_version"
+        "RootServiceComponents/component_version",
+        "RootServiceComponents/server_clock"
     ],
     "RootServiceHostComponent":[
         "RootServiceHostComponents/service_name",

http://git-wip-us.apache.org/repos/asf/ambari/blob/9fe84f47/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
index a49ad22..1b742af 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
@@ -18,18 +18,13 @@
 
 package org.apache.ambari.server.controller.internal;
 
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
-
 import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.controller.RootServiceComponentRequest;
 import org.apache.ambari.server.controller.RootServiceComponentResponse;
+import org.apache.ambari.server.controller.RootServiceResponseFactory;
 import org.apache.ambari.server.controller.spi.Predicate;
 import org.apache.ambari.server.controller.spi.Request;
 import org.apache.ambari.server.controller.spi.Resource;
@@ -37,6 +32,10 @@ import org.apache.ambari.server.controller.spi.ResourceProvider;
 import org.apache.ambari.server.controller.utilities.PredicateBuilder;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.easymock.EasyMock;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -52,6 +51,7 @@ public class RootServiceComponentResourceProviderTest {
     allResponse.add(new RootServiceComponentResponse("component1", "1.1.1", Collections.<String,String>emptyMap()));
     allResponse.add(new RootServiceComponentResponse("component2", "1.1.1", Collections.<String,String>emptyMap()));
     allResponse.add(new RootServiceComponentResponse("component3", "1.1.1", Collections.<String,String>emptyMap()));
+    allResponse.add(new RootServiceComponentResponse(RootServiceResponseFactory.Components.AMBARI_SERVER.name(), "1.1.1", Collections.<String,String>emptyMap()));
 
     Set<RootServiceComponentResponse> nameResponse = new HashSet<RootServiceComponentResponse>();
     nameResponse.add(new RootServiceComponentResponse("component4", "1.1.1", Collections.<String,String>emptyMap()));
@@ -75,6 +75,7 @@ public class RootServiceComponentResourceProviderTest {
     propertyIds.add(RootServiceComponentResourceProvider.COMPONENT_NAME_PROPERTY_ID);
     propertyIds.add(RootServiceComponentResourceProvider.PROPERTIES_PROPERTY_ID);
     propertyIds.add(RootServiceComponentResourceProvider.COMPONENT_VERSION_PROPERTY_ID);
+    propertyIds.add(RootServiceComponentResourceProvider.PROPERTIES_SERVER_CLOCK);
 
     // create the request
     Request request = PropertyHelper.getReadRequest(propertyIds);
@@ -86,6 +87,13 @@ public class RootServiceComponentResourceProviderTest {
     for (Resource resource : resources) {
       String componentName = (String) resource.getPropertyValue(RootServiceComponentResourceProvider.COMPONENT_NAME_PROPERTY_ID);
       String componentVersion = (String) resource.getPropertyValue(RootServiceComponentResourceProvider.COMPONENT_VERSION_PROPERTY_ID);
+      Long server_clock = (Long) resource.getPropertyValue(RootServiceComponentResourceProvider.PROPERTIES_SERVER_CLOCK);
+      if (componentName.equals(RootServiceResponseFactory.Components.AMBARI_SERVER.name())){
+        Assert.assertNotNull(server_clock);
+      } else {
+        Assert.assertNull(server_clock);
+      }
+      
       Assert.assertTrue(allResponse.contains(new RootServiceComponentResponse(componentName, componentVersion, Collections.<String,String>emptyMap())));
     }