Updated Branches: refs/heads/branch-1.2.5 949047da2 -> bb2ef05c8
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/bb2ef05c Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/bb2ef05c Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/bb2ef05c Branch: refs/heads/branch-1.2.5 Commit: bb2ef05c86a25503a26026efed5c40b95e23595e Parents: 949047d Author: tbeerbower <[email protected]> Authored: Sat Jul 27 00:20:39 2013 -0400 Committer: tbeerbower <[email protected]> Committed: Sat Jul 27 00:21:36 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/bb2ef05c/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/bb2ef05c/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()); + } +}
