Updated Branches: refs/heads/branch-1.2.3 ef2241907 -> 15a5078ea refs/heads/trunk 9ab6227eb -> 978f4cd86
AMBARI-2747 - NPE in GSInstaller provider Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/15a5078e Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/15a5078e Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/15a5078e Branch: refs/heads/branch-1.2.3 Commit: 15a5078eaf98fa001fdeafa05d28cacb3fdd2549 Parents: ef22419 Author: tbeerbower <tbeerbo...@hortonworks.com> Authored: Fri Jul 26 14:41:43 2013 -0400 Committer: tbeerbower <tbeerbo...@hortonworks.com> Committed: Fri Jul 26 14:44:08 2013 -0400 ---------------------------------------------------------------------- .../gsinstaller/GSInstallerNoOpProvider.java | 19 ++++++++++++++ .../GSInstallerNoOpProviderTest.java | 27 ++++++++++++++++++++ 2 files changed, 46 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/15a5078e/ambari-server/src/main/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProvider.java index 0272d76..948b7f5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProvider.java @@ -21,11 +21,18 @@ 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 java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + /** * A NO-OP resource provider for a gsInstaller defined cluster. */ public class GSInstallerNoOpProvider extends GSInstallerResourceProvider{ + private final Map<Resource.Type, String> keyPropertyIds = new HashMap<Resource.Type, String>(); + // ----- GSInstallerResourceProvider --------------------------------------- @Override @@ -37,5 +44,17 @@ public class GSInstallerNoOpProvider extends GSInstallerResourceProvider{ public GSInstallerNoOpProvider(Resource.Type type, ClusterDefinition clusterDefinition) { super(type, clusterDefinition); + keyPropertyIds.put(type, "id"); + } + + + @Override + public Map<Resource.Type, String> getKeyPropertyIds() { + return keyPropertyIds; + } + + @Override + public Set<String> checkPropertyIds(Set<String> propertyIds) { + return Collections.emptySet(); } } http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/15a5078e/ambari-server/src/test/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProviderTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProviderTest.java new file mode 100644 index 0000000..f0e66cd --- /dev/null +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/gsinstaller/GSInstallerNoOpProviderTest.java @@ -0,0 +1,27 @@ +package org.apache.ambari.server.controller.gsinstaller; + +import junit.framework.Assert; +import org.apache.ambari.server.controller.spi.Resource; +import org.junit.Test; + +import java.util.Collections; + +/** + * GSInstallerNoOpProvider tests. + */ +public class GSInstallerNoOpProviderTest { + + @Test + public void testGetKeyPropertyIds() throws Exception { + ClusterDefinition clusterDefinition = new ClusterDefinition(new TestGSInstallerStateProvider()); + GSInstallerNoOpProvider provider = new GSInstallerNoOpProvider(Resource.Type.Workflow, clusterDefinition); + Assert.assertNotNull(provider.getKeyPropertyIds()); + } + + @Test + public void testCheckPropertyIds() throws Exception { + ClusterDefinition clusterDefinition = new ClusterDefinition(new TestGSInstallerStateProvider()); + GSInstallerNoOpProvider provider = new GSInstallerNoOpProvider(Resource.Type.Workflow, clusterDefinition); + Assert.assertTrue(provider.checkPropertyIds(Collections.singleton("id")).isEmpty()); + } +}