You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2017/12/15 12:52:05 UTC
[05/53] [abbrv] ambari git commit: AMBARI-22353. Remove
properties.json And Switch To Adding Properties to ResourceProviders
Dynamically (dlysnichenko)
AMBARI-22353. Remove properties.json And Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e77a31ab
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e77a31ab
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e77a31ab
Branch: refs/heads/branch-3.0-perf
Commit: e77a31ab0aa7edbabba29ba8e4d40becf122deef
Parents: 24c64b4
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Mon Dec 4 18:20:26 2017 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Mon Dec 4 18:21:17 2017 +0200
----------------------------------------------------------------------
...xternalServerAuthenticationProviderTest.java | 1 -
.../controller/ResourceProviderFactory.java | 17 +-
.../AbstractAuthorizedResourceProvider.java | 12 +-
.../AbstractControllerResourceProvider.java | 83 ++--
.../internal/AbstractDRResourceProvider.java | 9 +-
.../internal/ActionResourceProvider.java | 34 +-
.../ActiveWidgetLayoutResourceProvider.java | 2 +-
.../AlertDefinitionResourceProvider.java | 2 +-
.../internal/AlertGroupResourceProvider.java | 2 +-
.../internal/AlertHistoryResourceProvider.java | 2 +-
.../internal/AlertNoticeResourceProvider.java | 2 +-
.../internal/AlertResourceProvider.java | 2 +-
.../internal/AlertTargetResourceProvider.java | 2 +-
.../AmbariPrivilegeResourceProvider.java | 36 +-
.../internal/BlueprintResourceProvider.java | 37 +-
.../internal/ClientConfigResourceProvider.java | 31 +-
...usterKerberosDescriptorResourceProvider.java | 2 +-
.../ClusterPrivilegeResourceProvider.java | 31 +-
.../internal/ClusterResourceProvider.java | 23 +-
.../ClusterStackVersionResourceProvider.java | 2 +-
.../internal/ConfigGroupResourceProvider.java | 39 +-
.../internal/ConfigurationResourceProvider.java | 2 +-
.../internal/CredentialResourceProvider.java | 2 +-
.../internal/DefaultProviderModule.java | 17 +-
.../internal/ExtensionLinkResourceProvider.java | 33 +-
.../internal/ExtensionResourceProvider.java | 27 +-
.../ExtensionVersionResourceProvider.java | 32 +-
.../internal/FeedResourceProvider.java | 41 +-
.../GroupPrivilegeResourceProvider.java | 42 +-
.../internal/GroupResourceProvider.java | 32 +-
.../HostComponentProcessResourceProvider.java | 38 +-
.../internal/HostComponentResourceProvider.java | 49 +-
.../HostKerberosIdentityResourceProvider.java | 2 +-
.../internal/HostResourceProvider.java | 51 +-
.../HostStackVersionResourceProvider.java | 2 +-
.../internal/InstanceResourceProvider.java | 35 +-
.../internal/JobResourceProvider.java | 57 ++-
.../KerberosDescriptorResourceProvider.java | 20 +-
.../internal/LdapSyncEventResourceProvider.java | 47 +-
.../internal/LoggingResourceProvider.java | 9 +-
.../internal/MemberResourceProvider.java | 29 +-
.../OperatingSystemResourceProvider.java | 2 +-
.../internal/PermissionResourceProvider.java | 25 +-
.../internal/PrivilegeResourceProvider.java | 2 +-
.../QuickLinkArtifactResourceProvider.java | 2 +-
.../internal/ReadOnlyResourceProvider.java | 7 -
.../RecommendationResourceProvider.java | 65 ++-
.../internal/RemoteClusterResourceProvider.java | 28 +-
.../internal/RequestResourceProvider.java | 25 +-
.../RequestScheduleResourceProvider.java | 55 ++-
.../RoleAuthorizationResourceProvider.java | 2 +-
...eComponentConfigurationResourceProvider.java | 2 +-
.../RootServiceComponentResourceProvider.java | 31 +-
...ootServiceHostComponentResourceProvider.java | 34 +-
.../internal/RootServiceResourceProvider.java | 26 +-
.../ServiceConfigVersionResourceProvider.java | 2 +-
.../internal/SettingResourceProvider.java | 2 +-
.../internal/StackAdvisorResourceProvider.java | 7 +-
.../internal/StackArtifactResourceProvider.java | 2 +-
...ConfigurationDependencyResourceProvider.java | 40 +-
.../StackConfigurationResourceProvider.java | 42 +-
.../StackDependencyResourceProvider.java | 41 +-
...StackLevelConfigurationResourceProvider.java | 40 +-
.../internal/StackResourceProvider.java | 28 +-
.../StackServiceComponentResourceProvider.java | 52 +-
.../internal/StackServiceResourceProvider.java | 45 +-
.../internal/StackVersionResourceProvider.java | 39 +-
.../internal/StageResourceProvider.java | 2 +-
.../internal/TargetClusterResourceProvider.java | 31 +-
.../internal/TaskAttemptResourceProvider.java | 53 +-
.../internal/TaskResourceProvider.java | 27 +-
.../internal/ThemeArtifactResourceProvider.java | 2 +-
.../internal/UpgradeGroupResourceProvider.java | 2 +-
.../internal/UpgradeItemResourceProvider.java | 2 +-
.../internal/UpgradeResourceProvider.java | 2 +-
.../UpgradeSummaryResourceProvider.java | 2 +-
.../UserAuthorizationResourceProvider.java | 2 +-
.../internal/UserPrivilegeResourceProvider.java | 40 +-
.../internal/UserResourceProvider.java | 33 +-
.../internal/ValidationResourceProvider.java | 86 +++-
.../VersionDefinitionResourceProvider.java | 2 +-
.../internal/ViewInstanceResourceProvider.java | 55 +--
.../ViewPermissionResourceProvider.java | 29 +-
.../internal/ViewPrivilegeResourceProvider.java | 36 +-
.../internal/ViewResourceProvider.java | 19 +-
.../internal/ViewURLResourceProvider.java | 25 +-
.../internal/ViewVersionResourceProvider.java | 45 +-
.../internal/WidgetLayoutResourceProvider.java | 2 +-
.../internal/WidgetResourceProvider.java | 2 +-
.../internal/WorkflowResourceProvider.java | 54 +-
.../controller/utilities/PropertyHelper.java | 6 +-
.../system/impl/AmbariMetricSinkImpl.java | 2 -
.../src/main/resources/key_properties.json | 161 ------
.../src/main/resources/properties.json | 487 -------------------
.../api/query/render/MinimalRendererTest.java | 6 +
.../AbstractControllerResourceProviderTest.java | 10 +-
.../AbstractDRResourceProviderTest.java | 2 -
.../internal/AbstractResourceProviderTest.java | 26 +-
.../internal/ActionResourceProviderTest.java | 4 -
.../ActiveWidgetLayoutResourceProviderTest.java | 2 -
.../internal/BlueprintResourceProviderTest.java | 21 +-
.../ClientConfigResourceProviderTest.java | 10 -
.../internal/ClusterControllerImplTest.java | 14 +-
...rKerberosDescriptorResourceProviderTest.java | 17 -
.../internal/ClusterResourceProviderTest.java | 14 -
...ClusterStackVersionResourceProviderTest.java | 12 +-
.../ConfigGroupResourceProviderTest.java | 2 -
.../ConfigurationResourceProviderTest.java | 6 -
.../CredentialResourceProviderTest.java | 23 -
.../internal/ExtensionResourceProviderTest.java | 2 -
.../internal/FeedResourceProviderTest.java | 29 +-
.../internal/GroupResourceProviderTest.java | 8 -
...ostComponentProcessResourceProviderTest.java | 2 -
.../HostComponentResourceProviderTest.java | 49 +-
.../internal/HostResourceProviderTest.java | 53 +-
.../HostStackVersionResourceProviderTest.java | 14 +-
.../internal/InstanceResourceProviderTest.java | 29 +-
.../internal/JMXHostProviderTest.java | 5 +-
.../internal/JobResourceProviderTest.java | 37 +-
.../KerberosDescriptorResourceProviderTest.java | 6 +-
.../internal/MemberResourceProviderTest.java | 25 +-
.../internal/RequestResourceProviderTest.java | 42 +-
.../RequestScheduleResourceProviderTest.java | 2 -
...ootServiceComponentResourceProviderTest.java | 2 -
...erviceHostComponentResourceProviderTest.java | 2 -
.../RootServiceResourceProviderTest.java | 2 -
.../StackAdvisorResourceProviderTest.java | 12 +-
.../StackArtifactResourceProviderTest.java | 2 -
...igurationDependencyResourceProviderTest.java | 2 -
.../StackConfigurationResourceProviderTest.java | 4 -
.../StackDependencyResourceProviderTest.java | 5 +-
...kLevelConfigurationResourceProviderTest.java | 4 -
.../internal/StackResourceProviderTest.java | 2 -
.../StackServiceResourceProviderTest.java | 4 -
.../TargetClusterResourceProviderTest.java | 28 +-
.../TaskAttemptResourceProviderTest.java | 2 +-
.../internal/TaskResourceProviderTest.java | 22 +-
.../internal/TestIvoryProviderModule.java | 6 +-
.../internal/UpgradeResourceProviderTest.java | 4 +-
.../internal/UserResourceProviderDBTest.java | 2 +-
.../internal/UserResourceProviderTest.java | 2 -
.../ValidationResourceProviderTest.java | 3 +-
.../internal/WorkflowResourceProviderTest.java | 30 +-
143 files changed, 1480 insertions(+), 1925 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProviderTest.java b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProviderTest.java
index b6464c2..7ec598d 100644
--- a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProviderTest.java
+++ b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/web/security/LogsearchExternalServerAuthenticationProviderTest.java
@@ -18,7 +18,6 @@
*/
package org.apache.ambari.logsearch.web.security;
-import com.google.common.collect.Lists;
import org.apache.ambari.logsearch.common.ExternalServerClient;
import org.apache.ambari.logsearch.conf.AuthPropsConfig;
import org.junit.Before;
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java
index f6ca16b..5b4967d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java
@@ -19,28 +19,21 @@
package org.apache.ambari.server.controller;
-import java.util.Map;
-import java.util.Set;
-
import javax.inject.Named;
import org.apache.ambari.server.controller.internal.AlertTargetResourceProvider;
import org.apache.ambari.server.controller.internal.ClusterStackVersionResourceProvider;
import org.apache.ambari.server.controller.internal.UpgradeResourceProvider;
import org.apache.ambari.server.controller.internal.ViewInstanceResourceProvider;
-import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.ResourceProvider;
public interface ResourceProviderFactory {
@Named("host")
- ResourceProvider getHostResourceProvider(Set<String> propertyIds, Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController);
+ ResourceProvider getHostResourceProvider(AmbariManagementController managementController);
@Named("hostComponent")
- ResourceProvider getHostComponentResourceProvider(Set<String> propertyIds, Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController);
+ ResourceProvider getHostComponentResourceProvider(AmbariManagementController managementController);
@Named("service")
ResourceProvider getServiceResourceProvider(AmbariManagementController managementController);
@@ -49,8 +42,7 @@ public interface ResourceProviderFactory {
ResourceProvider getComponentResourceProvider(AmbariManagementController managementController);
@Named("member")
- ResourceProvider getMemberResourceProvider(Set<String> propertyIds, Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController);
+ ResourceProvider getMemberResourceProvider(AmbariManagementController managementController);
@Named("hostKerberosIdentity")
ResourceProvider getHostKerberosIdentityResourceProvider(AmbariManagementController managementController);
@@ -62,8 +54,7 @@ public interface ResourceProviderFactory {
ResourceProvider getRepositoryVersionResourceProvider();
@Named("kerberosDescriptor")
- ResourceProvider getKerberosDescriptorResourceProvider(AmbariManagementController managementController, Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds);
+ ResourceProvider getKerberosDescriptorResourceProvider(AmbariManagementController managementController);
@Named("upgrade")
UpgradeResourceProvider getUpgradeResourceProvider(AmbariManagementController managementController);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractAuthorizedResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractAuthorizedResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractAuthorizedResourceProvider.java
index a24c639..8d92dd1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractAuthorizedResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractAuthorizedResourceProvider.java
@@ -82,16 +82,6 @@ public abstract class AbstractAuthorizedResourceProvider extends AbstractResourc
private Set<RoleAuthorization> requiredDeleteAuthorizations = Collections.emptySet();
/**
- * Constructor
- *
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
- */
- protected AbstractAuthorizedResourceProvider(Set<String> propertyIds, Map<Resource.Type, String> keyPropertyIds) {
- super(propertyIds, keyPropertyIds);
- }
-
- /**
* Create a new resource provider. This constructor will initialize the
* specified {@link Resource.Type} with the provided keys. It should be used
* in cases where the provider declares its own keys instead of reading them
@@ -106,7 +96,7 @@ public abstract class AbstractAuthorizedResourceProvider extends AbstractResourc
*/
AbstractAuthorizedResourceProvider(Resource.Type type, Set<String> propertyIds,
Map<Resource.Type, String> keyPropertyIds) {
- this(propertyIds, keyPropertyIds);
+ super(propertyIds, keyPropertyIds);
PropertyHelper.setPropertyIds(type, propertyIds);
PropertyHelper.setKeyPropertyIds(type, keyPropertyIds);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
index cc2548c..f5e61ef 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
@@ -27,7 +27,6 @@ import org.apache.ambari.server.controller.ResourceProviderFactory;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.utilities.ClusterControllerHelper;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.state.Cluster;
/**
@@ -45,20 +44,6 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori
// ----- Constructors ------------------------------------------------------
/**
- * Create a new resource provider for the given management controller.
- *
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
- * @param managementController the management controller
- */
- protected AbstractControllerResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds);
- this.managementController = managementController;
- }
-
- /**
* Create a new resource provider for the given management controller. This
* constructor will initialize the specified {@link Resource.Type} with the
* provided keys. It should be used in cases where the provider declares its
@@ -75,9 +60,8 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori
*/
AbstractControllerResourceProvider(Resource.Type type, Set<String> propertyIds,
Map<Resource.Type, String> keyPropertyIds, AmbariManagementController managementController) {
- this(propertyIds, keyPropertyIds, managementController);
- PropertyHelper.setPropertyIds(type, propertyIds);
- PropertyHelper.setKeyPropertyIds(type, keyPropertyIds);
+ super(type, propertyIds, keyPropertyIds);
+ this.managementController = managementController;
}
public static void init(ResourceProviderFactory factory) {
@@ -139,14 +123,11 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori
* Factory method for obtaining a resource provider based on a given type and management controller.
*
* @param type the resource type
- * @param propertyIds the property ids
* @param managementController the management controller
*
* @return a new resource provider
*/
public static ResourceProvider getResourceProvider(Resource.Type type,
- Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
AmbariManagementController managementController) {
switch (type.getInternalType()) {
@@ -157,75 +138,75 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori
case Component:
return resourceProviderFactory.getComponentResourceProvider(managementController);
case Host:
- return resourceProviderFactory.getHostResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return resourceProviderFactory.getHostResourceProvider(managementController);
case HostComponent:
- return resourceProviderFactory.getHostComponentResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return resourceProviderFactory.getHostComponentResourceProvider(managementController);
case Configuration:
return new ConfigurationResourceProvider(managementController);
case ServiceConfigVersion:
return new ServiceConfigVersionResourceProvider(managementController);
case Action:
- return new ActionResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ActionResourceProvider(managementController);
case Request:
- return new RequestResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new RequestResourceProvider(managementController);
case Task:
- return new TaskResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new TaskResourceProvider(managementController);
case User:
- return new UserResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new UserResourceProvider(managementController);
case Group:
- return new GroupResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new GroupResourceProvider(managementController);
case Member:
- return resourceProviderFactory.getMemberResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return resourceProviderFactory.getMemberResourceProvider(managementController);
case Upgrade:
return resourceProviderFactory.getUpgradeResourceProvider(managementController);
case Stack:
- return new StackResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackResourceProvider(managementController);
case StackVersion:
- return new StackVersionResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackVersionResourceProvider(managementController);
case ClusterStackVersion:
return resourceProviderFactory.getClusterStackVersionResourceProvider(managementController);
case HostStackVersion:
return new HostStackVersionResourceProvider(managementController);
case StackService:
- return new StackServiceResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackServiceResourceProvider(managementController);
case StackServiceComponent:
- return new StackServiceComponentResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackServiceComponentResourceProvider(managementController);
case StackConfiguration:
- return new StackConfigurationResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackConfigurationResourceProvider(managementController);
case StackConfigurationDependency:
- return new StackConfigurationDependencyResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackConfigurationDependencyResourceProvider(managementController);
case StackLevelConfiguration:
- return new StackLevelConfigurationResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new StackLevelConfigurationResourceProvider(managementController);
case ExtensionLink:
- return new ExtensionLinkResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ExtensionLinkResourceProvider(managementController);
case Extension:
- return new ExtensionResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ExtensionResourceProvider(managementController);
case ExtensionVersion:
- return new ExtensionVersionResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ExtensionVersionResourceProvider(managementController);
case RootService:
- return new RootServiceResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new RootServiceResourceProvider(managementController);
case RootServiceComponent:
- return new RootServiceComponentResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new RootServiceComponentResourceProvider(managementController);
case RootServiceComponentConfiguration:
return resourceProviderFactory.getRootServiceHostComponentConfigurationResourceProvider();
case RootServiceHostComponent:
- return new RootServiceHostComponentResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new RootServiceHostComponentResourceProvider(managementController);
case ConfigGroup:
- return new ConfigGroupResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ConfigGroupResourceProvider(managementController);
case RequestSchedule:
- return new RequestScheduleResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new RequestScheduleResourceProvider(managementController);
case HostComponentProcess:
- return new HostComponentProcessResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new HostComponentProcessResourceProvider(managementController);
case Blueprint:
- return new BlueprintResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new BlueprintResourceProvider(managementController);
case KerberosDescriptor:
- return resourceProviderFactory.getKerberosDescriptorResourceProvider(managementController, propertyIds, keyPropertyIds);
+ return resourceProviderFactory.getKerberosDescriptorResourceProvider(managementController);
case Recommendation:
- return new RecommendationResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new RecommendationResourceProvider(managementController);
case Validation:
- return new ValidationResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ValidationResourceProvider(managementController);
case ClientConfig:
- return new ClientConfigResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new ClientConfigResourceProvider(managementController);
case RepositoryVersion:
return resourceProviderFactory.getRepositoryVersionResourceProvider();
case CompatibleRepositoryVersion:
@@ -255,7 +236,7 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori
case ClusterKerberosDescriptor:
return new ClusterKerberosDescriptorResourceProvider(managementController);
case LoggingQuery:
- return new LoggingResourceProvider(propertyIds, keyPropertyIds, managementController);
+ return new LoggingResourceProvider(managementController);
case AlertTarget:
return resourceProviderFactory.getAlertTargetResourceProvider();
case ViewInstance:
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProvider.java
index 953a2a7..74fff00 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProvider.java
@@ -68,22 +68,19 @@ public abstract class AbstractDRResourceProvider extends AbstractResourceProvide
* Factory method for obtaining a resource provider based on a given Ivory service instance.
*
* @param type the resource type
- * @param propertyIds the property ids
* @param service the Ivory service
*
* @return a new resource provider
*/
public static ResourceProvider getResourceProvider(Resource.Type type,
- Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
IvoryService service) {
switch (type.getInternalType()) {
case DRFeed:
- return new FeedResourceProvider(service, propertyIds, keyPropertyIds);
+ return new FeedResourceProvider(service);
case DRTargetCluster:
- return new TargetClusterResourceProvider(service, propertyIds, keyPropertyIds);
+ return new TargetClusterResourceProvider(service);
case DRInstance:
- return new InstanceResourceProvider(service, propertyIds, keyPropertyIds);
+ return new InstanceResourceProvider(service);
default:
throw new IllegalArgumentException("Unknown type " + type);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActionResourceProvider.java
index 290931555..1adc55a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActionResourceProvider.java
@@ -19,7 +19,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -46,6 +45,9 @@ import org.apache.ambari.server.customactions.ActionDefinition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class ActionResourceProvider extends AbstractControllerResourceProvider {
private static final Logger LOG = LoggerFactory.getLogger(ActionResourceProvider.class);
@@ -66,13 +68,29 @@ public class ActionResourceProvider extends AbstractControllerResourceProvider {
.getPropertyId("Actions", "target_type");
public static final String DEFAULT_TIMEOUT_PROPERTY_ID = PropertyHelper
.getPropertyId("Actions", "default_timeout");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{ACTION_NAME_PROPERTY_ID}));
- public ActionResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a Action resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Action, ACTION_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Action resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ ACTION_NAME_PROPERTY_ID,
+ ACTION_TYPE_PROPERTY_ID,
+ INPUTS_PROPERTY_ID,
+ TARGET_SERVICE_PROPERTY_ID,
+ TARGET_COMPONENT_PROPERTY_ID,
+ DESCRIPTION_PROPERTY_ID,
+ TARGET_HOST_PROPERTY_ID,
+ DEFAULT_TIMEOUT_PROPERTY_ID);
+
+ public ActionResourceProvider(AmbariManagementController managementController) {
+ super(Type.Action, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -168,7 +186,7 @@ public class ActionResourceProvider extends AbstractControllerResourceProvider {
@Override
public Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
private ActionManager getActionManager() {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
index 389f0b2..2b1c671 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
@@ -126,7 +126,7 @@ public class ActiveWidgetLayoutResourceProvider extends AbstractControllerResour
*
*/
public ActiveWidgetLayoutResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Type.ActiveWidgetLayout, propertyIds, keyPropertyIds, managementController);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
index 9579dca..c98cc9d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertDefinitionResourceProvider.java
@@ -172,7 +172,7 @@ public class AlertDefinitionResourceProvider extends AbstractControllerResourceP
* @param controller
*/
AlertDefinitionResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.AlertDefinition, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java
index 0898bc3..e707496 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java
@@ -118,7 +118,7 @@ public class AlertGroupResourceProvider extends
* @param controller
*/
AlertGroupResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.AlertGroup, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java
index 8d716ea..759b5a8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertHistoryResourceProvider.java
@@ -118,7 +118,7 @@ public class AlertHistoryResourceProvider extends ReadOnlyResourceProvider imple
* Constructor.
*/
AlertHistoryResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.AlertHistory, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProvider.java
index 8ffd596..dae1f1e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertNoticeResourceProvider.java
@@ -105,7 +105,7 @@ public class AlertNoticeResourceProvider extends AbstractControllerResourceProvi
* Constructor.
*/
AlertNoticeResourceProvider(AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Resource.Type.AlertNotice, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertResourceProvider.java
index 4ab78b7..0f0c7b2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertResourceProvider.java
@@ -145,7 +145,7 @@ public class AlertResourceProvider extends ReadOnlyResourceProvider implements
* @param controller
*/
AlertResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.Alert, PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java
index c1e9eb4..4f1690c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java
@@ -130,7 +130,7 @@ public class AlertTargetResourceProvider extends
*/
@Inject
AlertTargetResourceProvider() {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS);
+ super(Resource.Type.AlertTarget, PROPERTY_IDS, KEY_PROPERTY_IDS);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.CLUSTER_MANAGE_ALERT_NOTIFICATIONS);
setRequiredCreateAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariPrivilegeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariPrivilegeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariPrivilegeResourceProvider.java
index 0ffceca..49b0d91 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariPrivilegeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariPrivilegeResourceProvider.java
@@ -24,7 +24,6 @@ import static org.apache.ambari.server.controller.internal.ViewPrivilegeResource
import java.util.EnumSet;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -45,6 +44,9 @@ import org.apache.ambari.server.security.authorization.ResourceType;
import org.apache.ambari.server.security.authorization.RoleAuthorization;
import org.apache.ambari.server.view.ViewRegistry;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for Ambari privileges.
*/
@@ -60,28 +62,24 @@ public class AmbariPrivilegeResourceProvider extends PrivilegeResourceProvider<O
/**
* The property ids for an Ambari privilege resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(PRIVILEGE_ID_PROPERTY_ID);
- propertyIds.add(PERMISSION_NAME_PROPERTY_ID);
- propertyIds.add(PERMISSION_LABEL_PROPERTY_ID);
- propertyIds.add(PRINCIPAL_NAME_PROPERTY_ID);
- propertyIds.add(PRINCIPAL_TYPE_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_VIEW_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_VIEW_VERSION_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_INSTANCE_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_CLUSTER_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_TYPE_PROPERTY_ID);
-
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ PRIVILEGE_ID_PROPERTY_ID,
+ PERMISSION_NAME_PROPERTY_ID,
+ PERMISSION_LABEL_PROPERTY_ID,
+ PRINCIPAL_NAME_PROPERTY_ID,
+ PRINCIPAL_TYPE_PROPERTY_ID,
+ PRIVILEGE_VIEW_NAME_PROPERTY_ID,
+ PRIVILEGE_VIEW_VERSION_PROPERTY_ID,
+ PRIVILEGE_INSTANCE_NAME_PROPERTY_ID,
+ PRIVILEGE_CLUSTER_NAME_PROPERTY_ID,
+ PRIVILEGE_TYPE_PROPERTY_ID);
/**
* The key property ids for a privilege resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.AmbariPrivilege, PRIVILEGE_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.AmbariPrivilege, PRIVILEGE_ID_PROPERTY_ID)
+ .build();
// ----- Constructors ------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
index 8f4d62e..c665aec 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
@@ -19,7 +19,6 @@
package org.apache.ambari.server.controller.internal;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -66,6 +65,8 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.gson.Gson;
@@ -119,10 +120,25 @@ public class BlueprintResourceProvider extends AbstractControllerResourceProvide
"Configuration elements must be Maps";
public static final String CONFIGURATION_MAP_SIZE_CHECK_ERROR_MESSAGE =
"Configuration Maps must hold a single configuration type each";
- // Primary Key Fields
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- BLUEPRINT_NAME_PROPERTY_ID}));
+
+ /**
+ * The key property ids for a Blueprint resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Blueprint, BLUEPRINT_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Blueprint resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ BLUEPRINT_NAME_PROPERTY_ID,
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ BLUEPRINT_SECURITY_PROPERTY_ID,
+ HOST_GROUP_PROPERTY_ID,
+ CONFIGURATION_PROPERTY_ID,
+ SETTING_PROPERTY_ID);
/**
* Used to create Blueprint instances
@@ -149,15 +165,10 @@ public class BlueprintResourceProvider extends AbstractControllerResourceProvide
/**
* Create a new resource provider for the given management controller.
*
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
* @param controller management controller
*/
- BlueprintResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController controller) {
-
- super(propertyIds, keyPropertyIds, controller);
+ BlueprintResourceProvider(AmbariManagementController controller) {
+ super(Resource.Type.Blueprint, propertyIds, keyPropertyIds, controller);
}
/**
@@ -180,7 +191,7 @@ public class BlueprintResourceProvider extends AbstractControllerResourceProvide
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
index f0ede5d..75f47ca 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
@@ -103,6 +103,8 @@ import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.gson.Gson;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
@@ -123,11 +125,24 @@ public class ClientConfigResourceProvider extends AbstractControllerResourceProv
private final Gson gson;
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
+ /**
+ * The key property ids for a ClientConfig resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, COMPONENT_CLUSTER_NAME_PROPERTY_ID)
+ .put(Resource.Type.Service, COMPONENT_SERVICE_NAME_PROPERTY_ID)
+ .put(Resource.Type.Component, COMPONENT_COMPONENT_NAME_PROPERTY_ID)
+ .put(Resource.Type.Host, HOST_COMPONENT_HOST_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a ClientConfig resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
COMPONENT_CLUSTER_NAME_PROPERTY_ID,
COMPONENT_SERVICE_NAME_PROPERTY_ID,
- COMPONENT_COMPONENT_NAME_PROPERTY_ID}));
+ COMPONENT_COMPONENT_NAME_PROPERTY_ID,
+ HOST_COMPONENT_HOST_NAME_PROPERTY_ID);
private MaintenanceStateHelper maintenanceStateHelper;
private static final Logger LOG = LoggerFactory.getLogger(ClientConfigResourceProvider.class);
@@ -137,15 +152,11 @@ public class ClientConfigResourceProvider extends AbstractControllerResourceProv
/**
* Create a new resource provider for the given management controller.
*
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
* @param managementController the management controller
*/
@AssistedInject
- ClientConfigResourceProvider(@Assisted Set<String> propertyIds,
- @Assisted Map<Resource.Type, String> keyPropertyIds,
- @Assisted AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ ClientConfigResourceProvider(@Assisted AmbariManagementController managementController) {
+ super(Resource.Type.ClientConfig, propertyIds, keyPropertyIds, managementController);
gson = new Gson();
}
@@ -890,7 +901,7 @@ public class ClientConfigResourceProvider extends AbstractControllerResourceProv
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProvider.java
index 2678d55..9dad423 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProvider.java
@@ -111,7 +111,7 @@ public class ClusterKerberosDescriptorResourceProvider extends ReadOnlyResourceP
* Create a new resource provider.
*/
public ClusterKerberosDescriptorResourceProvider(AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Type.ClusterKerberosDescriptor, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterPrivilegeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterPrivilegeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterPrivilegeResourceProvider.java
index 60cf783..a21de15 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterPrivilegeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterPrivilegeResourceProvider.java
@@ -20,7 +20,6 @@ package org.apache.ambari.server.controller.internal;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -38,6 +37,9 @@ import org.apache.ambari.server.orm.entities.ResourceEntity;
import org.apache.ambari.server.orm.entities.UserEntity;
import org.apache.ambari.server.security.authorization.RoleAuthorization;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for cluster privileges.
*/
@@ -56,25 +58,22 @@ public class ClusterPrivilegeResourceProvider extends PrivilegeResourceProvider<
/**
* The property ids for a privilege resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(PRIVILEGE_CLUSTER_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_ID_PROPERTY_ID);
- propertyIds.add(PERMISSION_NAME_PROPERTY_ID);
- propertyIds.add(PERMISSION_NAME_PROPERTY_ID);
- propertyIds.add(PERMISSION_LABEL_PROPERTY_ID);
- propertyIds.add(PRINCIPAL_NAME_PROPERTY_ID);
- propertyIds.add(PRINCIPAL_TYPE_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ PRIVILEGE_CLUSTER_NAME_PROPERTY_ID,
+ PRIVILEGE_ID_PROPERTY_ID,
+ PERMISSION_NAME_PROPERTY_ID,
+ PERMISSION_NAME_PROPERTY_ID,
+ PERMISSION_LABEL_PROPERTY_ID,
+ PRINCIPAL_NAME_PROPERTY_ID,
+ PRINCIPAL_TYPE_PROPERTY_ID);
/**
* The key property ids for a privilege resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.Cluster, PRIVILEGE_CLUSTER_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ClusterPrivilege, PRIVILEGE_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, PRIVILEGE_CLUSTER_NAME_PROPERTY_ID)
+ .put(Resource.Type.ClusterPrivilege, PRIVILEGE_ID_PROPERTY_ID)
+ .build();
// ----- Constructors ------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
index b9b3b56..16f04e4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
@@ -17,7 +17,6 @@
*/
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.EnumSet;
@@ -60,6 +59,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.Authentication;
+import com.google.common.collect.ImmutableMap;
import com.google.gson.Gson;
@@ -96,6 +96,7 @@ public class ClusterResourceProvider extends AbstractControllerResourceProvider
public static final String CLUSTER_TOTAL_HOSTS_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + TOTAL_HOSTS;
public static final String CLUSTER_HEALTH_REPORT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + HEALTH_REPORT;
public static final String CLUSTER_CREDENTIAL_STORE_PROPERTIES_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + CREDENTIAL_STORE_PROPERTIES;
+ public static final String CLUSTER_STATE_PROPERTY_ID = PropertyHelper.getPropertyId("Clusters","state");
static final String BLUEPRINT = "blueprint";
private static final String SECURITY = "security";
@@ -129,23 +130,16 @@ public class ClusterResourceProvider extends AbstractControllerResourceProvider
private static SecurityConfigurationFactory securityConfigurationFactory;
/**
- * The cluster primary key properties.
- */
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{CLUSTER_ID_PROPERTY_ID}));
-
- /**
* The key property ids for a cluster resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.Cluster, CLUSTER_NAME_PROPERTY_ID);
- }
+ protected static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, CLUSTER_NAME_PROPERTY_ID)
+ .build();
/**
* The property ids for a cluster resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
+ protected static Set<String> propertyIds = new HashSet<>();
/**
* Used to serialize to/from json.
@@ -169,6 +163,7 @@ public class ClusterResourceProvider extends AbstractControllerResourceProvider
propertyIds.add(SECURITY);
propertyIds.add(CREDENTIALS);
propertyIds.add(QUICKLINKS_PROFILE);
+ propertyIds.add(CLUSTER_STATE_PROPERTY_ID);
}
@@ -180,7 +175,7 @@ public class ClusterResourceProvider extends AbstractControllerResourceProvider
* @param managementController the management controller
*/
ClusterResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.Cluster, propertyIds, keyPropertyIds, managementController);
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_ADD_DELETE_CLUSTERS));
setRequiredDeleteAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_ADD_DELETE_CLUSTERS));
@@ -192,7 +187,7 @@ public class ClusterResourceProvider extends AbstractControllerResourceProvider
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(Collections.singletonList(CLUSTER_ID_PROPERTY_ID));
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
index 1c36c96..fa13116 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
@@ -219,7 +219,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou
@Inject
public ClusterStackVersionResourceProvider(
AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Type.ClusterStackVersion, propertyIds, keyPropertyIds, managementController);
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_STACK_VERSIONS, RoleAuthorization.CLUSTER_UPGRADE_DOWNGRADE_STACK));
setRequiredDeleteAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_STACK_VERSIONS, RoleAuthorization.CLUSTER_UPGRADE_DOWNGRADE_STACK));
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
index 737bfa4..33430a5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
@@ -67,6 +66,8 @@ import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
@StaticallyInject
@@ -102,8 +103,30 @@ public class ConfigGroupResourceProvider extends
public static final String CONFIGGROUP_VERSION_TAGS_PROPERTY_ID =
PropertyHelper.getPropertyId("ConfigGroup", "version_tags");
- private static Set<String> pkPropertyIds = new HashSet<>(Arrays
- .asList(new String[]{CONFIGGROUP_ID_PROPERTY_ID}));
+ /**
+ * The key property ids for a ConfigGroup resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, CONFIGGROUP_CLUSTER_NAME_PROPERTY_ID)
+ .put(Resource.Type.ConfigGroup, CONFIGGROUP_ID_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a ConfigGroup resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ CONFIGGROUP_CLUSTER_NAME_PROPERTY_ID,
+ CONFIGGROUP_ID_PROPERTY_ID,
+ CONFIGGROUP_NAME_PROPERTY_ID,
+ CONFIGGROUP_TAG_PROPERTY_ID,
+ CONFIGGROUP_SERVICENAME_PROPERTY_ID,
+ CONFIGGROUP_DESC_PROPERTY_ID,
+ CONFIGGROUP_SCV_NOTE_ID,
+ CONFIGGROUP_HOSTNAME_PROPERTY_ID,
+ CONFIGGROUP_HOSTS_HOSTNAME_PROPERTY_ID,
+ CONFIGGROUP_HOSTS_PROPERTY_ID,
+ CONFIGGROUP_CONFIGS_PROPERTY_ID,
+ CONFIGGROUP_VERSION_TAGS_PROPERTY_ID);
@Inject
private static HostDAO hostDAO;
@@ -117,14 +140,10 @@ public class ConfigGroupResourceProvider extends
/**
* Create a new resource provider for the given management controller.
*
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
* @param managementController the management controller
*/
- protected ConfigGroupResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected ConfigGroupResourceProvider(AmbariManagementController managementController) {
+ super(Resource.Type.ConfigGroup, propertyIds, keyPropertyIds, managementController);
EnumSet<RoleAuthorization> manageGroupsAuthSet =
EnumSet.of(RoleAuthorization.SERVICE_MANAGE_CONFIG_GROUPS, RoleAuthorization.CLUSTER_MANAGE_CONFIG_GROUPS);
@@ -141,7 +160,7 @@ public class ConfigGroupResourceProvider extends
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
index 0f26085..1ac7563 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java
@@ -103,7 +103,7 @@ public class ConfigurationResourceProvider extends
* @param managementController the associated management controller
*/
ConfigurationResourceProvider(AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Resource.Type.Configuration, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
// creating configs requires authorizations based on the type of changes being performed, therefore
// checks need to be performed inline.
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CredentialResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CredentialResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CredentialResourceProvider.java
index ebc7645..9e6fe3d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CredentialResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/CredentialResourceProvider.java
@@ -105,7 +105,7 @@ public class CredentialResourceProvider extends AbstractControllerResourceProvid
*/
@AssistedInject
public CredentialResourceProvider(@Assisted AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Type.Credential, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
EnumSet<RoleAuthorization> authorizations = EnumSet.of(
RoleAuthorization.CLUSTER_MANAGE_CREDENTIALS,
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java
index c3758b3..9f92cdd 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java
@@ -18,12 +18,8 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Map;
-import java.util.Set;
-
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,16 +46,14 @@ public class DefaultProviderModule extends AbstractProviderModule {
protected ResourceProvider createResourceProvider(Resource.Type type) {
LOGGER.debug("Creating resource provider for the type: {}", type);
- Set<String> propertyIds = PropertyHelper.getPropertyIds(type);
- Map<Resource.Type, String> keyPropertyIds = PropertyHelper.getKeyPropertyIds(type);
switch (type.getInternalType()) {
case Workflow:
- return new WorkflowResourceProvider(propertyIds, keyPropertyIds);
+ return new WorkflowResourceProvider();
case Job:
- return new JobResourceProvider(propertyIds, keyPropertyIds);
+ return new JobResourceProvider();
case TaskAttempt:
- return new TaskAttemptResourceProvider(propertyIds, keyPropertyIds);
+ return new TaskAttemptResourceProvider();
case View:
return new ViewResourceProvider();
case ViewVersion:
@@ -67,7 +61,7 @@ public class DefaultProviderModule extends AbstractProviderModule {
case ViewURL:
return new ViewURLResourceProvider();
case StackServiceComponentDependency:
- return new StackDependencyResourceProvider(propertyIds, keyPropertyIds);
+ return new StackDependencyResourceProvider();
case Permission:
return new PermissionResourceProvider();
case AmbariPrivilege:
@@ -118,8 +112,7 @@ public class DefaultProviderModule extends AbstractProviderModule {
return new RemoteClusterResourceProvider();
default:
LOGGER.debug("Delegating creation of resource provider for: {} to the AbstractControllerResourceProvider", type.getInternalType());
- return AbstractControllerResourceProvider.getResourceProvider(type, propertyIds,
- keyPropertyIds, managementController);
+ return AbstractControllerResourceProvider.getResourceProvider(type, managementController);
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java
index db904bf..1a4ffc2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionLinkResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
@@ -43,6 +42,8 @@ import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.orm.dao.ExtensionLinkDAO;
import org.apache.ambari.server.orm.entities.ExtensionLinkEntity;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
/**
@@ -68,16 +69,32 @@ public class ExtensionLinkResourceProvider extends AbstractControllerResourcePro
public static final String EXTENSION_VERSION_PROPERTY_ID = PropertyHelper
.getPropertyId("ExtensionLink", "extension_version");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{LINK_ID_PROPERTY_ID, STACK_NAME_PROPERTY_ID, STACK_VERSION_PROPERTY_ID, EXTENSION_NAME_PROPERTY_ID, EXTENSION_VERSION_PROPERTY_ID}));
+ /**
+ * The key property ids for a ExtensionLink resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.ExtensionLink, LINK_ID_PROPERTY_ID)
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .put(Type.Extension, EXTENSION_NAME_PROPERTY_ID)
+ .put(Type.ExtensionVersion, EXTENSION_VERSION_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a ExtensionLink resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ LINK_ID_PROPERTY_ID,
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ EXTENSION_NAME_PROPERTY_ID,
+ EXTENSION_VERSION_PROPERTY_ID);
@Inject
private static ExtensionLinkDAO dao;
- protected ExtensionLinkResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected ExtensionLinkResourceProvider(AmbariManagementController managementController) {
+ super(Type.ExtensionLink, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -259,6 +276,6 @@ public class ExtensionLinkResourceProvider extends AbstractControllerResourcePro
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionResourceProvider.java
index 53e44e1..9ec4bab 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
@@ -40,6 +39,9 @@ import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* An extension version is like a stack version but it contains custom services. Linking an extension
* version to the current stack version allows the cluster to install the custom services contained in
@@ -50,13 +52,22 @@ public class ExtensionResourceProvider extends ReadOnlyResourceProvider {
public static final String EXTENSION_NAME_PROPERTY_ID = PropertyHelper
.getPropertyId("Extensions", "extension_name");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{EXTENSION_NAME_PROPERTY_ID}));
- protected ExtensionResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a Extension resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Extension, EXTENSION_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Extension resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ EXTENSION_NAME_PROPERTY_ID);
+
+ protected ExtensionResourceProvider(AmbariManagementController managementController) {
+ super(Type.Extension, propertyIds, keyPropertyIds, managementController);
}
@@ -127,6 +138,6 @@ public class ExtensionResourceProvider extends ReadOnlyResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionVersionResourceProvider.java
index 4aa357c..0371058 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ExtensionVersionResourceProvider.java
@@ -19,7 +19,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
@@ -40,6 +39,9 @@ import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* An extension version is like a stack version but it contains custom services. Linking an extension
* version to the current stack version allows the cluster to install the custom services contained in
@@ -54,13 +56,27 @@ public class ExtensionVersionResourceProvider extends ReadOnlyResourceProvider {
public static final String EXTENSION_ERROR_SET = PropertyHelper.getPropertyId("Versions", "extension-errors");
public static final String EXTENSION_PARENT_PROPERTY_ID = PropertyHelper.getPropertyId("Versions", "parent_extension_version");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{EXTENSION_NAME_PROPERTY_ID, EXTENSION_VERSION_PROPERTY_ID}));
-
- protected ExtensionVersionResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
+ /**
+ * The key property ids for a ExtensionVersion resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Extension, EXTENSION_NAME_PROPERTY_ID)
+ .put(Type.ExtensionVersion, EXTENSION_VERSION_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a ExtensionVersion resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ EXTENSION_VERSION_PROPERTY_ID,
+ EXTENSION_NAME_PROPERTY_ID,
+ EXTENSION_VALID_PROPERTY_ID,
+ EXTENSION_ERROR_SET,
+ EXTENSION_PARENT_PROPERTY_ID);
+
+ protected ExtensionVersionResourceProvider(
AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Type.ExtensionVersion, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -121,7 +137,7 @@ public class ExtensionVersionResourceProvider extends ReadOnlyResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/FeedResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/FeedResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/FeedResourceProvider.java
index f9d75fd..82c781b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/FeedResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/FeedResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -39,6 +38,9 @@ import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* DR feed resource provider.
*/
@@ -62,20 +64,39 @@ public class FeedResourceProvider extends AbstractDRResourceProvider {
protected static final String FEED_TARGET_CLUSTER_ACTION_PROPERTY_ID = PropertyHelper.getPropertyId("Feed/targetCluster/retention", "action");
protected static final String FEED_PROPERTIES_PROPERTY_ID = PropertyHelper.getPropertyId("Feed", "properties");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- FEED_NAME_PROPERTY_ID}));
+ /**
+ * The key property ids for a Feed resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.DRFeed, FEED_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Feed resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ FEED_NAME_PROPERTY_ID,
+ FEED_DESCRIPTION_PROPERTY_ID,
+ FEED_STATUS_PROPERTY_ID,
+ FEED_SCHEDULE_PROPERTY_ID,
+ FEED_SOURCE_CLUSTER_NAME_PROPERTY_ID,
+ FEED_SOURCE_CLUSTER_START_PROPERTY_ID,
+ FEED_SOURCE_CLUSTER_END_PROPERTY_ID,
+ FEED_SOURCE_CLUSTER_LIMIT_PROPERTY_ID,
+ FEED_SOURCE_CLUSTER_ACTION_PROPERTY_ID,
+ FEED_TARGET_CLUSTER_NAME_PROPERTY_ID,
+ FEED_TARGET_CLUSTER_START_PROPERTY_ID,
+ FEED_TARGET_CLUSTER_END_PROPERTY_ID,
+ FEED_TARGET_CLUSTER_LIMIT_PROPERTY_ID,
+ FEED_TARGET_CLUSTER_ACTION_PROPERTY_ID,
+ FEED_PROPERTIES_PROPERTY_ID);
/**
* Construct a provider.
*
* @param ivoryService the ivory service
- * @param propertyIds the properties associated with this provider
- * @param keyPropertyIds the key property ids
*/
- public FeedResourceProvider(IvoryService ivoryService,
- Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds) {
+ public FeedResourceProvider(IvoryService ivoryService) {
super(propertyIds, keyPropertyIds, ivoryService);
}
@@ -201,7 +222,7 @@ public class FeedResourceProvider extends AbstractDRResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java
index f9f838f..18f3d0c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java
@@ -19,7 +19,6 @@ package org.apache.ambari.server.controller.internal;
import java.util.Collection;
import java.util.EnumSet;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -49,6 +48,8 @@ import org.apache.ambari.server.security.authorization.ResourceType;
import org.apache.ambari.server.security.authorization.RoleAuthorization;
import org.apache.ambari.server.security.authorization.Users;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
/**
@@ -96,21 +97,18 @@ public class GroupPrivilegeResourceProvider extends ReadOnlyResourceProvider {
/**
* The property ids for a privilege resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
-
- static {
- propertyIds.add(PRIVILEGE_PRIVILEGE_ID_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_PERMISSION_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_PERMISSION_LABEL_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_PRINCIPAL_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_PRINCIPAL_TYPE_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_VIEW_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_VIEW_VERSION_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_INSTANCE_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_CLUSTER_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_TYPE_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_GROUP_NAME_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ PRIVILEGE_PRIVILEGE_ID_PROPERTY_ID,
+ PRIVILEGE_PERMISSION_NAME_PROPERTY_ID,
+ PRIVILEGE_PERMISSION_LABEL_PROPERTY_ID,
+ PRIVILEGE_PRINCIPAL_NAME_PROPERTY_ID,
+ PRIVILEGE_PRINCIPAL_TYPE_PROPERTY_ID,
+ PRIVILEGE_VIEW_NAME_PROPERTY_ID,
+ PRIVILEGE_VIEW_VERSION_PROPERTY_ID,
+ PRIVILEGE_INSTANCE_NAME_PROPERTY_ID,
+ PRIVILEGE_CLUSTER_NAME_PROPERTY_ID,
+ PRIVILEGE_TYPE_PROPERTY_ID,
+ PRIVILEGE_GROUP_NAME_PROPERTY_ID);
/**
* Static initialization.
@@ -137,19 +135,17 @@ public class GroupPrivilegeResourceProvider extends ReadOnlyResourceProvider {
/**
* The key property ids for a privilege resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
-
- static {
- keyPropertyIds.put(Resource.Type.Group, PRIVILEGE_GROUP_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.GroupPrivilege, PRIVILEGE_PRIVILEGE_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Group, PRIVILEGE_GROUP_NAME_PROPERTY_ID)
+ .put(Resource.Type.GroupPrivilege, PRIVILEGE_PRIVILEGE_ID_PROPERTY_ID)
+ .build();
/**
* Constructor.
*/
public GroupPrivilegeResourceProvider() {
- super(propertyIds, keyPropertyIds, null);
+ super(Resource.Type.GroupPrivilege, propertyIds, keyPropertyIds, null);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_ASSIGN_ROLES);
setRequiredCreateAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java
index 6cdd24e..3da64ae 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupResourceProvider.java
@@ -17,7 +17,6 @@
*/
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Map;
@@ -41,6 +40,9 @@ import org.apache.ambari.server.security.authorization.RoleAuthorization;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for group resources.
*/
@@ -55,21 +57,29 @@ public class GroupResourceProvider extends AbstractControllerResourceProvider {
public static final String GROUP_LDAP_GROUP_PROPERTY_ID = PropertyHelper.getPropertyId("Groups", "ldap_group");
public static final String GROUP_GROUPTYPE_PROPERTY_ID = PropertyHelper.getPropertyId("Groups", "group_type");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- GROUP_GROUPNAME_PROPERTY_ID}));
+
+ /**
+ * The key property ids for a Group resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Group, GROUP_GROUPNAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Group resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ GROUP_GROUPNAME_PROPERTY_ID,
+ GROUP_LDAP_GROUP_PROPERTY_ID,
+ GROUP_GROUPTYPE_PROPERTY_ID);
/**
* Create a new resource provider for the given management controller.
*
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
* @param managementController the management controller
*/
- GroupResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ GroupResourceProvider(AmbariManagementController managementController) {
+ super(Resource.Type.Group, propertyIds, keyPropertyIds, managementController);
EnumSet<RoleAuthorization> manageUserAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_USERS);
setRequiredCreateAuthorizations(manageUserAuthorizations);
@@ -188,7 +198,7 @@ public class GroupResourceProvider extends AbstractControllerResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
private GroupRequest getRequest(Map<String, Object> properties) {