Repository: ambari
Updated Branches:
  refs/heads/branch-1.5.0 075cec562 -> 982c6075d
  refs/heads/trunk 8d58c3262 -> a3410253c


AMBARI-5182. Retrieve registered host from API throws exception (dlysnichenko)


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

Branch: refs/heads/trunk
Commit: a3410253caaec3527792a71f02bdc5e5cecef29a
Parents: 8d58c32
Author: Lisnichenko Dmitro <dlysniche...@hortonworks.com>
Authored: Fri Mar 21 22:36:29 2014 +0200
Committer: Lisnichenko Dmitro <dlysniche...@hortonworks.com>
Committed: Fri Mar 21 22:36:29 2014 +0200

----------------------------------------------------------------------
 .../nagios/NagiosPropertyProvider.java          |  8 +++++--
 .../nagios/NagiosPropertyProviderTest.java      | 23 ++++++++++++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/a3410253/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
index f80d4a6..4dc8f16 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProvider.java
@@ -164,8 +164,12 @@ public class NagiosPropertyProvider extends BaseProvider 
implements PropertyProv
       
       if (null == matchValue)
         continue;
-      
-      String clusterName = 
res.getPropertyValue(clusterNameProperty).toString();
+
+      Object clusterPropertyValue = res.getPropertyValue(clusterNameProperty);
+      if (null == clusterPropertyValue)
+        continue;
+
+      String clusterName = clusterPropertyValue.toString();
       if (null == clusterName)
         continue;
       

http://git-wip-us.apache.org/repos/asf/ambari/blob/a3410253/ambari-server/src/test/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProviderTest.java
index 9c6977d..9f3ff85 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/nagios/NagiosPropertyProviderTest.java
@@ -120,6 +120,29 @@ public class NagiosPropertyProviderTest {
     
     Assert.assertFalse("Expected no alerts", values.containsKey("alerts"));
   }
+
+
+  @Test
+  public void testClusterDoesNotExistNPE() throws Exception {
+    TestStreamProvider streamProvider = new 
TestStreamProvider("nagios_alerts.txt");
+
+    NagiosPropertyProvider npp = new 
NagiosPropertyProvider(Resource.Type.Service,
+        streamProvider,
+        "ServiceInfo/cluster_name",
+        "ServiceInfo/service_name");
+
+    Resource resource = new ResourceImpl(Resource.Type.Service);
+    resource.setProperty("ServiceInfo/cluster_name", null);
+    resource.setProperty("ServiceInfo/service_name", "HBASE");
+
+    // request with an empty set should get all supported properties
+    Request request = 
PropertyHelper.getReadRequest(Collections.<String>emptySet(),
+            new HashMap<String, TemporalInfo>());
+
+    Set<Resource> set = npp.populateResources(Collections.singleton(resource), 
request, null);
+    Assert.assertEquals(1, set.size());
+
+  }
   
   @Test
   public void testNoNagiosServerCompoonent() throws Exception {

Reply via email to