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())));
}