You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rl...@apache.org on 2017/12/04 23:23:37 UTC
[01/13] ambari git commit: AMBARI-22485 : Allow Ambari to support
non-kerberos SASL mechanisms for Kafka - Addendum,
fix incorrect config tag (ydavis via mradhakrishnan)
Repository: ambari
Updated Branches:
refs/heads/branch-feature-AMBARI-20859 b6cf4325e -> de4deaf0b
AMBARI-22485 : Allow Ambari to support non-kerberos SASL mechanisms for Kafka - Addendum, fix incorrect config tag (ydavis via mradhakrishnan)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/47be7edc
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/47be7edc
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/47be7edc
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: 47be7edce686354c11b38d32f6bff3b4318bc611
Parents: 959ad90
Author: Madhuvanthi Radhakrishnan <mr...@hortonworks.com>
Authored: Fri Dec 1 13:44:12 2017 -0800
Committer: Madhuvanthi Radhakrishnan <mr...@hortonworks.com>
Committed: Fri Dec 1 13:45:46 2017 -0800
----------------------------------------------------------------------
.../common-services/KAFKA/0.10.0/configuration/kafka-broker.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/47be7edc/ambari-server/src/main/resources/common-services/KAFKA/0.10.0/configuration/kafka-broker.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.10.0/configuration/kafka-broker.xml b/ambari-server/src/main/resources/common-services/KAFKA/0.10.0/configuration/kafka-broker.xml
index da382d5..53c2ca3 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.10.0/configuration/kafka-broker.xml
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.10.0/configuration/kafka-broker.xml
@@ -22,7 +22,7 @@
<name>sasl.enabled.mechanisms</name>
<value>GSSAPI</value>
<description>The list of SASL mechanisms enabled in the Kafka server. The list may contain any mechanism for which a security provider is available. Only GSSAPI is enabled by default.</description>
- <on-ambari-upgrade add="upgrade"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>security.inter.broker.protocol</name>
[07/13] ambari git commit: AMBARI-22353. Remove properties.json And
Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
Posted by rl...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProvider.java
index 2a25bc4..db514de 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
@@ -39,6 +38,9 @@ import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.ServiceComponentHost;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource Provider for HostComponent process resources.
*/
@@ -54,22 +56,36 @@ public class HostComponentProcessResourceProvider extends ReadOnlyResourceProvid
public static final String HC_PROCESS_HOST_NAME_ID = "HostComponentProcess/host_name";
public static final String HC_PROCESS_COMPONENT_NAME_ID = "HostComponentProcess/component_name";
- // Primary Key Fields
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- HC_PROCESS_CLUSTER_NAME_ID, HC_PROCESS_HOST_NAME_ID, HC_PROCESS_COMPONENT_NAME_ID, HC_PROCESS_NAME_ID}));
+ /**
+ * The key property ids for a HostComponentProcess resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, HC_PROCESS_CLUSTER_NAME_ID)
+ .put(Resource.Type.Host, HC_PROCESS_HOST_NAME_ID)
+ .put(Resource.Type.Component, HC_PROCESS_COMPONENT_NAME_ID)
+ .put(Resource.Type.HostComponent, HC_PROCESS_COMPONENT_NAME_ID)
+ .put(Resource.Type.HostComponentProcess, HC_PROCESS_NAME_ID)
+ .build();
+
+ /**
+ * The property ids for a HostComponentProcess resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ HC_PROCESS_NAME_ID,
+ HC_PROCESS_STATUS_ID,
+ HC_PROCESS_CLUSTER_NAME_ID,
+ HC_PROCESS_HOST_NAME_ID,
+ HC_PROCESS_COMPONENT_NAME_ID);
// ----- Constructors ----------------------------------------------------
/**
* Create a new resource provider for the given management controller.
*
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
+ * @param amc the management controller
*/
- HostComponentProcessResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds, AmbariManagementController amc) {
- super(propertyIds, keyPropertyIds, amc);
+ HostComponentProcessResourceProvider(AmbariManagementController amc) {
+ super(Resource.Type.HostComponentProcess, propertyIds, keyPropertyIds, amc);
}
@@ -77,7 +93,7 @@ public class HostComponentProcessResourceProvider extends ReadOnlyResourceProvid
@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/HostComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
index 94766a5..cf58325 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
@@ -18,7 +18,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.EnumMap;
@@ -69,6 +68,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;
import com.google.inject.Injector;
import com.google.inject.assistedinject.Assisted;
@@ -84,6 +85,8 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
// ----- Property ID constants ---------------------------------------------
// Host Components
+ public static final String HOST_COMPONENT_ROLE_ID
+ = PropertyHelper.getPropertyId("HostRoles", "role_id");
public static final String HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID
= PropertyHelper.getPropertyId("HostRoles", "cluster_name");
public static final String HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID
@@ -120,12 +123,40 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
//Parameters from the predicate
private static final String QUERY_PARAMETERS_RUN_SMOKE_TEST_ID = "params/run_smoke_test";
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
+
+ /**
+ * The key property ids for a HostComponent resource.
+ */
+ public static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID)
+ .put(Resource.Type.Host, HOST_COMPONENT_HOST_NAME_PROPERTY_ID)
+ .put(Resource.Type.HostComponent, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID)
+ .put(Resource.Type.Component, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a HostComponent resource.
+ */
+ protected static Set<String> propertyIds = Sets.newHashSet(
+ HOST_COMPONENT_ROLE_ID,
HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID,
HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID,
HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID,
- HOST_COMPONENT_HOST_NAME_PROPERTY_ID}));
+ HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID,
+ HOST_COMPONENT_HOST_NAME_PROPERTY_ID,
+ HOST_COMPONENT_PUBLIC_HOST_NAME_PROPERTY_ID,
+ HOST_COMPONENT_STATE_PROPERTY_ID,
+ HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID,
+ HOST_COMPONENT_VERSION_PROPERTY_ID,
+ HOST_COMPONENT_DESIRED_STACK_ID_PROPERTY_ID,
+ HOST_COMPONENT_DESIRED_REPOSITORY_VERSION,
+ HOST_COMPONENT_ACTUAL_CONFIGS_PROPERTY_ID,
+ HOST_COMPONENT_STALE_CONFIGS_PROPERTY_ID,
+ HOST_COMPONENT_RELOAD_CONFIGS_PROPERTY_ID,
+ HOST_COMPONENT_DESIRED_ADMIN_STATE_PROPERTY_ID,
+ HOST_COMPONENT_MAINTENANCE_STATE_PROPERTY_ID,
+ HOST_COMPONENT_UPGRADE_STATE_PROPERTY_ID,
+ QUERY_PARAMETERS_RUN_SMOKE_TEST_ID);
/**
* maintenance state helper
@@ -141,16 +172,12 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
/**
* 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
- public HostComponentResourceProvider(@Assisted Set<String> propertyIds,
- @Assisted Map<Resource.Type, String> keyPropertyIds,
- @Assisted AmbariManagementController managementController,
+ public HostComponentResourceProvider(@Assisted AmbariManagementController managementController,
Injector injector) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.HostComponent, propertyIds, keyPropertyIds, managementController);
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.SERVICE_ADD_DELETE_SERVICES,RoleAuthorization.HOST_ADD_DELETE_COMPONENTS));
setRequiredDeleteAuthorizations(EnumSet.of(RoleAuthorization.SERVICE_ADD_DELETE_SERVICES,RoleAuthorization.HOST_ADD_DELETE_COMPONENTS));
@@ -662,7 +689,7 @@ public class HostComponentResourceProvider 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/HostKerberosIdentityResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostKerberosIdentityResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostKerberosIdentityResourceProvider.java
index 0672500..52ab9b5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostKerberosIdentityResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostKerberosIdentityResourceProvider.java
@@ -125,7 +125,7 @@ public class HostKerberosIdentityResourceProvider extends ReadOnlyResourceProvid
*/
@AssistedInject
HostKerberosIdentityResourceProvider(@Assisted AmbariManagementController managementController) {
- super(PROPERTY_IDS, PK_PROPERTY_MAP, managementController);
+ super(Resource.Type.HostKerberosIdentity, PROPERTY_IDS, PK_PROPERTY_MAP, managementController);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
index 5c740f1..f683afd 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
@@ -72,7 +72,8 @@ import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
@@ -114,6 +115,7 @@ public class HostResourceProvider extends AbstractControllerResourceProvider {
public static final String RECOVERY_SUMMARY_PROPERTY_ID = "recovery_summary";
public static final String STATE_PROPERTY_ID = "host_state";
public static final String TOTAL_MEM_PROPERTY_ID = "total_mem";
+ public static final String ATTRIBUTES_PROPERTY_ID = "attributes";
public static final String HOST_CLUSTER_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + CLUSTER_NAME_PROPERTY_ID;
public static final String HOST_CPU_COUNT_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + CPU_COUNT_PROPERTY_ID;
@@ -137,6 +139,7 @@ public class HostResourceProvider extends AbstractControllerResourceProvider {
public static final String HOST_RECOVERY_SUMMARY_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + RECOVERY_SUMMARY_PROPERTY_ID;
public static final String HOST_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + STATE_PROPERTY_ID;
public static final String HOST_TOTAL_MEM_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + TOTAL_MEM_PROPERTY_ID;
+ public static final String HOST_ATTRIBUTES_PROPERTY_ID = PropertyHelper.getPropertyId(RESPONSE_KEY,ATTRIBUTES_PROPERTY_ID);
public static final String BLUEPRINT_PROPERTY_ID = "blueprint";
public static final String HOST_GROUP_PROPERTY_ID = "host_group";
@@ -145,7 +148,41 @@ public class HostResourceProvider extends AbstractControllerResourceProvider {
//todo use the same json structure for cluster host addition (cluster template and upscale)
- private static final Set<String> PK_PROPERTY_IDS = ImmutableSet.of(HOST_HOST_NAME_PROPERTY_ID);
+ /**
+ * The key property ids for a Host resource.
+ */
+ public static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Host, HOST_HOST_NAME_PROPERTY_ID)
+ .put(Resource.Type.Cluster, HOST_CLUSTER_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Host resource.
+ */
+ public static Set<String> propertyIds = Sets.newHashSet(
+ HOST_CLUSTER_NAME_PROPERTY_ID,
+ HOST_CPU_COUNT_PROPERTY_ID,
+ HOST_DESIRED_CONFIGS_PROPERTY_ID,
+ HOST_DISK_INFO_PROPERTY_ID,
+ HOST_HOST_HEALTH_REPORT_PROPERTY_ID,
+ HOST_HOST_STATUS_PROPERTY_ID,
+ HOST_IP_PROPERTY_ID,
+ HOST_LAST_AGENT_ENV_PROPERTY_ID,
+ HOST_LAST_HEARTBEAT_TIME_PROPERTY_ID,
+ HOST_LAST_REGISTRATION_TIME_PROPERTY_ID,
+ HOST_MAINTENANCE_STATE_PROPERTY_ID,
+ HOST_HOST_NAME_PROPERTY_ID,
+ HOST_OS_ARCH_PROPERTY_ID,
+ HOST_OS_FAMILY_PROPERTY_ID,
+ HOST_OS_TYPE_PROPERTY_ID,
+ HOST_PHYSICAL_CPU_COUNT_PROPERTY_ID,
+ HOST_PUBLIC_NAME_PROPERTY_ID,
+ HOST_RACK_INFO_PROPERTY_ID,
+ HOST_RECOVERY_REPORT_PROPERTY_ID,
+ HOST_RECOVERY_SUMMARY_PROPERTY_ID,
+ HOST_STATE_PROPERTY_ID,
+ HOST_TOTAL_MEM_PROPERTY_ID,
+ HOST_ATTRIBUTES_PROPERTY_ID);
@Inject
private OsFamily osFamily;
@@ -158,15 +195,11 @@ public class HostResourceProvider extends AbstractControllerResourceProvider {
/**
* 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
- HostResourceProvider(@Assisted Set<String> propertyIds,
- @Assisted Map<Resource.Type, String> keyPropertyIds,
- @Assisted AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ HostResourceProvider(@Assisted AmbariManagementController managementController) {
+ super(Resource.Type.Host, propertyIds, keyPropertyIds, managementController);
Set<RoleAuthorization> authorizationsAddDelete = EnumSet.of(RoleAuthorization.HOST_ADD_DELETE_HOSTS);
@@ -354,7 +387,7 @@ public class HostResourceProvider extends AbstractControllerResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return PK_PROPERTY_IDS;
+ 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/HostStackVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java
index 48e9f59..5282ad4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java
@@ -166,7 +166,7 @@ public class HostStackVersionResourceProvider extends AbstractControllerResource
*/
public HostStackVersionResourceProvider(
AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Type.HostStackVersion, 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/InstanceResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/InstanceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/InstanceResourceProvider.java
index d3a695b..3d34982 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/InstanceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/InstanceResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
@@ -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 instance resource provider.
*/
@@ -54,21 +56,34 @@ public class InstanceResourceProvider extends AbstractDRResourceProvider {
protected static final String INSTANCE_DETAILS_PROPERTY_ID = PropertyHelper.getPropertyId("Instance", "details");
protected static final String INSTANCE_LOG_PROPERTY_ID = PropertyHelper.getPropertyId("Instance", "log");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
+
+
+ /**
+ * The key property ids for a Instance resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.DRInstance, INSTANCE_FEED_NAME_PROPERTY_ID)
+ .put(Resource.Type.Workflow, INSTANCE_ID_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Instance resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
INSTANCE_FEED_NAME_PROPERTY_ID,
- INSTANCE_ID_PROPERTY_ID}));
+ INSTANCE_ID_PROPERTY_ID,
+ INSTANCE_STATUS_PROPERTY_ID,
+ INSTANCE_START_TIME_PROPERTY_ID,
+ INSTANCE_END_TIME_PROPERTY_ID,
+ INSTANCE_DETAILS_PROPERTY_ID,
+ INSTANCE_LOG_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 InstanceResourceProvider(IvoryService ivoryService,
- Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds) {
+ public InstanceResourceProvider(IvoryService ivoryService) {
super(propertyIds, keyPropertyIds, ivoryService);
}
@@ -180,7 +195,7 @@ public class InstanceResourceProvider 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/JobResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/JobResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/JobResourceProvider.java
index e70c367..93bf42a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/JobResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/JobResourceProvider.java
@@ -22,7 +22,6 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -45,6 +44,9 @@ import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for job resources.
*/
@@ -81,22 +83,40 @@ public class JobResourceProvider extends
protected static final String JOB_WORKFLOW_ENTITY_NAME_PROPERTY_ID = PropertyHelper
.getPropertyId("Job", "workflow_entity_name");
- private static final Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{JOB_CLUSTER_NAME_PROPERTY_ID,
- JOB_WORKFLOW_ID_PROPERTY_ID, JOB_ID_PROPERTY_ID}));
-
protected JobFetcher jobFetcher;
/**
+ * The key property ids for a Job resource.
+ */
+ protected static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Cluster, JOB_CLUSTER_NAME_PROPERTY_ID)
+ .put(Type.Workflow, JOB_WORKFLOW_ID_PROPERTY_ID)
+ .put(Type.Job, JOB_ID_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Job resource.
+ */
+ protected static Set<String> propertyIds = Sets.newHashSet(
+ JOB_CLUSTER_NAME_PROPERTY_ID,
+ JOB_WORKFLOW_ID_PROPERTY_ID,
+ JOB_ID_PROPERTY_ID,
+ JOB_NAME_PROPERTY_ID,
+ JOB_STATUS_PROPERTY_ID,
+ JOB_USER_NAME_PROPERTY_ID,
+ JOB_SUBMIT_TIME_PROPERTY_ID,
+ JOB_ELAPSED_TIME_PROPERTY_ID,
+ JOB_MAPS_PROPERTY_ID,
+ JOB_REDUCES_PROPERTY_ID,
+ JOB_INPUT_BYTES_PROPERTY_ID,
+ JOB_OUTPUT_BYTES_PROPERTY_ID,
+ JOB_CONF_PATH_PROPERTY_ID,
+ JOB_WORKFLOW_ENTITY_NAME_PROPERTY_ID);
+
+ /**
* Create a new job resource provider.
- *
- * @param propertyIds
- * the property ids
- * @param keyPropertyIds
- * the key property ids
*/
- protected JobResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds) {
+ protected JobResourceProvider() {
super(propertyIds, keyPropertyIds);
jobFetcher = new PostgresJobFetcher(
new JobHistoryPostgresConnectionFactory());
@@ -105,15 +125,10 @@ public class JobResourceProvider extends
/**
* Create a new job resource provider.
*
- * @param propertyIds
- * the property ids
- * @param keyPropertyIds
- * the key property ids
* @param jobFetcher
* job fetcher
*/
- protected JobResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds, JobFetcher jobFetcher) {
+ protected JobResourceProvider(JobFetcher jobFetcher) {
super(propertyIds, keyPropertyIds);
this.jobFetcher = jobFetcher;
}
@@ -162,15 +177,11 @@ public class JobResourceProvider extends
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
@Override
public Map<Type,String> getKeyPropertyIds() {
- Map<Type,String> keyPropertyIds = new HashMap<>();
- keyPropertyIds.put(Type.Cluster, JOB_CLUSTER_NAME_PROPERTY_ID);
- keyPropertyIds.put(Type.Workflow, JOB_WORKFLOW_ID_PROPERTY_ID);
- keyPropertyIds.put(Type.Job, JOB_ID_PROPERTY_ID);
return keyPropertyIds;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProvider.java
index 9301341..773064d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProvider.java
@@ -26,6 +26,8 @@ import org.apache.ambari.server.topology.KerberosDescriptorFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.assistedinject.Assisted;
/**
@@ -55,6 +57,20 @@ public class KerberosDescriptorResourceProvider extends AbstractControllerResour
private static final String KERBEROS_DESCRIPTOR_TEXT_PROPERTY_ID =
PropertyHelper.getPropertyId("KerberosDescriptors", "kerberos_descriptor_text");
+ /**
+ * The key property ids for a KerberosDescriptor resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.KerberosDescriptor, KERBEROS_DESCRIPTOR_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a KerberosDescriptor resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ KERBEROS_DESCRIPTOR_NAME_PROPERTY_ID,
+ KERBEROS_DESCRIPTOR_TEXT_PROPERTY_ID);
+
private KerberosDescriptorDAO kerberosDescriptorDAO;
private KerberosDescriptorFactory kerberosDescriptorFactory;
@@ -63,10 +79,8 @@ public class KerberosDescriptorResourceProvider extends AbstractControllerResour
@Inject
KerberosDescriptorResourceProvider(KerberosDescriptorDAO kerberosDescriptorDAO,
KerberosDescriptorFactory kerberosDescriptorFactory,
- @Assisted Set<String> propertyIds,
- @Assisted Map<Resource.Type, String> keyPropertyIds,
@Assisted AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.KerberosDescriptor, propertyIds, keyPropertyIds, managementController);
this.kerberosDescriptorDAO = kerberosDescriptorDAO;
this.kerberosDescriptorFactory = kerberosDescriptorFactory;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LdapSyncEventResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LdapSyncEventResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LdapSyncEventResourceProvider.java
index fc409a3..ad7562a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LdapSyncEventResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LdapSyncEventResourceProvider.java
@@ -60,6 +60,9 @@ import org.apache.ambari.server.security.ldap.LdapBatchDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for ldap sync events.
*/
@@ -97,33 +100,29 @@ public class LdapSyncEventResourceProvider extends AbstractControllerResourcePro
/**
* The key property ids for a event resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.LdapSyncEvent, EVENT_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.LdapSyncEvent, EVENT_ID_PROPERTY_ID)
+ .build();
/**
* The property ids for a event resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
-
- static {
- propertyIds.add(EVENT_ID_PROPERTY_ID);
- propertyIds.add(EVENT_STATUS_PROPERTY_ID);
- propertyIds.add(EVENT_STATUS_DETAIL_PROPERTY_ID);
- propertyIds.add(EVENT_START_TIME_PROPERTY_ID);
- propertyIds.add(EVENT_END_TIME_PROPERTY_ID);
- propertyIds.add(USERS_CREATED_PROPERTY_ID);
- propertyIds.add(USERS_UPDATED_PROPERTY_ID);
- propertyIds.add(USERS_REMOVED_PROPERTY_ID);
- propertyIds.add(USERS_SKIPPED_PROPERTY_ID);
- propertyIds.add(GROUPS_CREATED_PROPERTY_ID);
- propertyIds.add(GROUPS_UPDATED_PROPERTY_ID);
- propertyIds.add(GROUPS_REMOVED_PROPERTY_ID);
- propertyIds.add(MEMBERSHIPS_CREATED_PROPERTY_ID);
- propertyIds.add(MEMBERSHIPS_REMOVED_PROPERTY_ID);
- propertyIds.add(EVENT_SPECS_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ EVENT_ID_PROPERTY_ID,
+ EVENT_STATUS_PROPERTY_ID,
+ EVENT_STATUS_DETAIL_PROPERTY_ID,
+ EVENT_START_TIME_PROPERTY_ID,
+ EVENT_END_TIME_PROPERTY_ID,
+ USERS_CREATED_PROPERTY_ID,
+ USERS_UPDATED_PROPERTY_ID,
+ USERS_REMOVED_PROPERTY_ID,
+ USERS_SKIPPED_PROPERTY_ID,
+ GROUPS_CREATED_PROPERTY_ID,
+ GROUPS_UPDATED_PROPERTY_ID,
+ GROUPS_REMOVED_PROPERTY_ID,
+ MEMBERSHIPS_CREATED_PROPERTY_ID,
+ MEMBERSHIPS_REMOVED_PROPERTY_ID,
+ EVENT_SPECS_PROPERTY_ID);
/**
* Spec property keys.
@@ -164,7 +163,7 @@ public class LdapSyncEventResourceProvider extends AbstractControllerResourcePro
* Construct a event resource provider.
*/
public LdapSyncEventResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.LdapSyncEvent, propertyIds, keyPropertyIds, managementController);
EnumSet<RoleAuthorization> roleAuthorizations =
EnumSet.of(RoleAuthorization.AMBARI_MANAGE_GROUPS, RoleAuthorization.AMBARI_MANAGE_USERS);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LoggingResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LoggingResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LoggingResourceProvider.java
index d6afe7b..01766ed 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LoggingResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/LoggingResourceProvider.java
@@ -66,13 +66,8 @@ public class LoggingResourceProvider extends AbstractControllerResourceProvider
}
- public LoggingResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController controller) {
-
-
-
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ public LoggingResourceProvider(AmbariManagementController controller) {
+ super(Resource.Type.LoggingQuery, 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/MemberResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java
index 3cecddb..d4c1e03 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MemberResourceProvider.java
@@ -17,7 +17,6 @@
*/
package org.apache.ambari.server.controller.internal;
-import java.util.Arrays;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
@@ -42,6 +41,8 @@ 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;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import com.google.inject.persist.Transactional;
@@ -59,23 +60,29 @@ public class MemberResourceProvider extends AbstractControllerResourceProvider {
public static final String MEMBER_GROUP_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("MemberInfo", "group_name");
public static final String MEMBER_USER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("MemberInfo", "user_name");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
+ /**
+ * The key property ids for a Member resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Group, MEMBER_GROUP_NAME_PROPERTY_ID)
+ .put(Resource.Type.Member, MEMBER_USER_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Member resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
MEMBER_GROUP_NAME_PROPERTY_ID,
- MEMBER_USER_NAME_PROPERTY_ID}));
+ MEMBER_USER_NAME_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
*/
@AssistedInject
- public MemberResourceProvider(@Assisted Set<String> propertyIds,
- @Assisted Map<Resource.Type, String> keyPropertyIds,
- @Assisted AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ public MemberResourceProvider(@Assisted AmbariManagementController managementController) {
+ super(Resource.Type.Member, propertyIds, keyPropertyIds, managementController);
EnumSet<RoleAuthorization> manageUserAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_USERS);
setRequiredCreateAuthorizations(manageUserAuthorizations);
@@ -193,7 +200,7 @@ public class MemberResourceProvider extends AbstractControllerResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
private MemberRequest getRequest(Map<String, Object> properties) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
index 174fdf6..2310a28 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperatingSystemResourceProvider.java
@@ -74,7 +74,7 @@ public class OperatingSystemResourceProvider extends ReadOnlyResourceProvider {
};
protected OperatingSystemResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.OperatingSystem, 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/PermissionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PermissionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PermissionResourceProvider.java
index 43cdf2b..dd9fa16 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PermissionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PermissionResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -35,6 +34,9 @@ import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.orm.dao.PermissionDAO;
import org.apache.ambari.server.orm.entities.PermissionEntity;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for permission instances.
*/
@@ -58,22 +60,19 @@ public class PermissionResourceProvider extends AbstractResourceProvider {
/**
* The key property ids for a permission resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.Permission, PERMISSION_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Permission, PERMISSION_ID_PROPERTY_ID)
+ .build();
/**
* The property ids for a permission resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(PERMISSION_ID_PROPERTY_ID);
- propertyIds.add(PERMISSION_NAME_PROPERTY_ID);
- propertyIds.add(PERMISSION_LABEL_PROPERTY_ID);
- propertyIds.add(RESOURCE_NAME_PROPERTY_ID);
- propertyIds.add(SORT_ORDER_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ PERMISSION_ID_PROPERTY_ID,
+ PERMISSION_NAME_PROPERTY_ID,
+ PERMISSION_LABEL_PROPERTY_ID,
+ RESOURCE_NAME_PROPERTY_ID,
+ SORT_ORDER_PROPERTY_ID);
// ----- Constructors ------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PrivilegeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PrivilegeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PrivilegeResourceProvider.java
index fabce6b..717b83b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PrivilegeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PrivilegeResourceProvider.java
@@ -111,7 +111,7 @@ public abstract class PrivilegeResourceProvider<T> extends AbstractAuthorizedRes
public PrivilegeResourceProvider(Set<String> propertyIds,
Map<Resource.Type, String> keyPropertyIds,
Resource.Type resourceType) {
- super(propertyIds, keyPropertyIds);
+ super(resourceType, propertyIds, keyPropertyIds);
this.resourceType = resourceType;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/QuickLinkArtifactResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/QuickLinkArtifactResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/QuickLinkArtifactResourceProvider.java
index f293941..534c369 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/QuickLinkArtifactResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/QuickLinkArtifactResourceProvider.java
@@ -96,7 +96,7 @@ public class QuickLinkArtifactResourceProvider extends AbstractControllerResourc
* @param managementController the management controller
*/
protected QuickLinkArtifactResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.QuickLink, 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/ReadOnlyResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ReadOnlyResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ReadOnlyResourceProvider.java
index 505ec63..e0f95d6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ReadOnlyResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ReadOnlyResourceProvider.java
@@ -28,7 +28,6 @@ import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.RequestStatus;
import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
@@ -37,12 +36,6 @@ public abstract class ReadOnlyResourceProvider extends AbstractControllerResourc
private static final String READ_ONLY_MSG = "Read-only resource";
- protected ReadOnlyResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
- }
-
/**
* Create a new resource provider for the given management controller. This
* constructor will initialize the specified {@link Resource.Type} with the
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RecommendationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RecommendationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RecommendationResourceProvider.java
index 9c6259c..dcc6cb6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RecommendationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RecommendationResourceProvider.java
@@ -46,6 +46,9 @@ import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class RecommendationResourceProvider extends StackAdvisorResourceProvider {
private static final Logger LOG = LoggerFactory.getLogger(RecommendationResourceProvider.class);
@@ -56,10 +59,13 @@ public class RecommendationResourceProvider extends StackAdvisorResourceProvider
protected static final String HOSTS_PROPERTY_ID = "hosts";
protected static final String SERVICES_PROPERTY_ID = "services";
protected static final String RECOMMEND_PROPERTY_ID = "recommend";
+ protected static final String RECOMMENDATIONS_PROPERTY_ID = "recommendations";
protected static final String CONFIG_GROUPS_PROPERTY_ID = PropertyHelper
.getPropertyId("recommendations", "config-groups");
+ protected static final String BLUEPRINT_PROPERTY_ID = PropertyHelper
+ .getPropertyId("recommendations", "blueprint");
protected static final String BLUEPRINT_CONFIGURATIONS_PROPERTY_ID = PropertyHelper
.getPropertyId("recommendations/blueprint", "configurations");
@@ -72,13 +78,56 @@ public class RecommendationResourceProvider extends StackAdvisorResourceProvider
"recommendations/blueprint_cluster_binding", "host_groups");
protected static final String BINDING_HOST_GROUPS_NAME_PROPERTY_ID = "name";
protected static final String BINDING_HOST_GROUPS_HOSTS_PROPERTY_ID = "hosts";
-
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{RECOMMENDATION_ID_PROPERTY_ID}));
-
- protected RecommendationResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds, AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected static final String CHANGED_CONFIGURATIONS_PROPERTY_ID = "changed_configurations";
+ protected static final String BINDING_PROPERTY_ID = PropertyHelper
+ .getPropertyId("recommendations", "blueprint_cluster_binding");
+ protected static final String USER_CONTEXT_PROPERTY_ID = "user_context";
+ protected static final String USER_CONTEXT_OPERATION_PROPERTY_ID = PropertyHelper
+ .getPropertyId(USER_CONTEXT_PROPERTY_ID, "operation");
+ protected static final String USER_CONTEXT_OPERATION_DETAILS_PROPERTY_ID = PropertyHelper
+ .getPropertyId(USER_CONTEXT_PROPERTY_ID, "operation_details");
+
+
+ /**
+ * The key property ids for a Recommendation resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Recommendation, RECOMMENDATION_ID_PROPERTY_ID)
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Recommendation resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ RECOMMENDATION_ID_PROPERTY_ID,
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ RECOMMEND_PROPERTY_ID,
+ HOSTS_PROPERTY_ID,
+ SERVICES_PROPERTY_ID,
+ CONFIG_GROUPS_PROPERTY_ID,
+ CHANGED_CONFIGURATIONS_PROPERTY_ID,
+ USER_CONTEXT_PROPERTY_ID,
+ USER_CONTEXT_OPERATION_PROPERTY_ID,
+ USER_CONTEXT_OPERATION_DETAILS_PROPERTY_ID,
+ RECOMMENDATIONS_PROPERTY_ID,
+ BLUEPRINT_PROPERTY_ID,
+ BLUEPRINT_CONFIGURATIONS_PROPERTY_ID,
+ BLUEPRINT_HOST_GROUPS_PROPERTY_ID,
+ PropertyHelper.getPropertyId(BLUEPRINT_HOST_GROUPS_PROPERTY_ID, BLUEPRINT_HOST_GROUPS_NAME_PROPERTY_ID),
+ PropertyHelper.getPropertyId(BLUEPRINT_HOST_GROUPS_PROPERTY_ID, BLUEPRINT_HOST_GROUPS_COMPONENTS_PROPERTY_ID),
+ BINDING_PROPERTY_ID,
+ BINDING_HOST_GROUPS_PROPERTY_ID,
+ PropertyHelper.getPropertyId(BINDING_HOST_GROUPS_PROPERTY_ID, BINDING_HOST_GROUPS_NAME_PROPERTY_ID),
+ PropertyHelper.getPropertyId(BINDING_HOST_GROUPS_PROPERTY_ID, BINDING_HOST_GROUPS_HOSTS_PROPERTY_ID),
+ BINDING_HOST_GROUPS_NAME_PROPERTY_ID,
+ BINDING_HOST_GROUPS_HOSTS_PROPERTY_ID);
+
+
+ protected RecommendationResourceProvider(AmbariManagementController managementController) {
+ super(Type.Recommendation, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -155,7 +204,7 @@ public class RecommendationResourceProvider extends StackAdvisorResourceProvider
@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/RemoteClusterResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RemoteClusterResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RemoteClusterResourceProvider.java
index 0b2d2b3..312fcb4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RemoteClusterResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RemoteClusterResourceProvider.java
@@ -21,7 +21,6 @@ package org.apache.ambari.server.controller.internal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
@@ -52,6 +51,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
/**
@@ -78,23 +79,20 @@ public class RemoteClusterResourceProvider extends AbstractAuthorizedResourcePro
/**
* The key property ids for a Remote Cluster resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.RemoteCluster, CLUSTER_NAME_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.RemoteCluster, CLUSTER_NAME_PROPERTY_ID)
+ .build();
/**
* The property ids for a Remote Cluster resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(CLUSTER_NAME_PROPERTY_ID);
- propertyIds.add(CLUSTER_ID_PROPERTY_ID);
- propertyIds.add(CLUSTER_URL_PROPERTY_ID);
- propertyIds.add(USERNAME_PROPERTY_ID);
- propertyIds.add(PASSWORD_PROPERTY_ID);
- propertyIds.add(SERVICES_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ CLUSTER_NAME_PROPERTY_ID,
+ CLUSTER_ID_PROPERTY_ID,
+ CLUSTER_URL_PROPERTY_ID,
+ USERNAME_PROPERTY_ID,
+ PASSWORD_PROPERTY_ID,
+ SERVICES_PROPERTY_ID);
@Inject
private static RemoteAmbariClusterDAO remoteAmbariClusterDAO;
@@ -109,7 +107,7 @@ public class RemoteClusterResourceProvider extends AbstractAuthorizedResourcePro
* Create a new resource provider.
*/
protected RemoteClusterResourceProvider() {
- super(propertyIds, keyPropertyIds);
+ super(Resource.Type.RemoteCluster, propertyIds, keyPropertyIds);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_ADD_DELETE_CLUSTERS);
setRequiredCreateAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
index 26e3b86..eb8334b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
@@ -23,7 +23,6 @@ import static org.apache.ambari.server.controller.internal.HostComponentResource
import static org.apache.ambari.server.controller.internal.HostComponentResourceProvider.HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -74,6 +73,7 @@ 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;
@@ -135,13 +135,18 @@ public class RequestResourceProvider extends AbstractControllerResourceProvider
public static final String EXLUSIVE_ID = "exclusive";
public static final String HAS_RESOURCE_FILTERS = "HAS_RESOURCE_FILTERS";
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- REQUEST_ID_PROPERTY_ID}));
-
private PredicateCompiler predicateCompiler = new PredicateCompiler();
+ /**
+ * The key property ids for a Request resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Request, REQUEST_ID_PROPERTY_ID)
+ .put(Resource.Type.Cluster, REQUEST_CLUSTER_NAME_PROPERTY_ID)
+ .build();
+
static Set<String> PROPERTY_IDS = Sets.newHashSet(
+ REQUEST_ID_PROPERTY_ID,
REQUEST_CLUSTER_NAME_PROPERTY_ID,
REQUEST_CLUSTER_ID_PROPERTY_ID,
REQUEST_STATUS_PROPERTY_ID,
@@ -175,14 +180,10 @@ public class RequestResourceProvider extends AbstractControllerResourceProvider
/**
* 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
*/
- RequestResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ RequestResourceProvider(AmbariManagementController managementController) {
+ super(Resource.Type.Request, PROPERTY_IDS, keyPropertyIds, managementController);
}
// ----- ResourceProvider ------------------------------------------------
@@ -424,7 +425,7 @@ public class RequestResourceProvider extends AbstractControllerResourceProvider
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(Collections.singletonList(REQUEST_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/RequestScheduleResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java
index 4e25369..f556c9c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -53,6 +52,9 @@ import org.apache.ambari.server.state.scheduler.Schedule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class RequestScheduleResourceProvider extends AbstractControllerResourceProvider {
private static final Logger LOG = LoggerFactory.getLogger
(RequestScheduleResourceProvider.class);
@@ -115,27 +117,60 @@ public class RequestScheduleResourceProvider extends AbstractControllerResourceP
protected static final String SCHEDULE_END_TIME_PROPERTY_ID =
PropertyHelper.getPropertyId(REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID, "endTime");
- private static Set<String> pkPropertyIds = new HashSet<>(Arrays
- .asList(new String[]{REQUEST_SCHEDULE_ID_PROPERTY_ID}));
+ /**
+ * The key property ids for a RequestSchedule resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID)
+ .put(Resource.Type.RequestSchedule, REQUEST_SCHEDULE_ID_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a RequestSchedule resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ REQUEST_SCHEDULE_ID_PROPERTY_ID,
+ REQUEST_SCHEDULE_CLUSTER_NAME_PROPERTY_ID,
+ REQUEST_SCHEDULE_DESC_PROPERTY_ID,
+ REQUEST_SCHEDULE_STATUS_PROPERTY_ID,
+ REQUEST_SCHEDULE_LAST_STATUS_PROPERTY_ID,
+ REQUEST_SCHEDULE_BATCH_PROPERTY_ID,
+ REQUEST_SCHEDULE_SCHEDULE_PROPERTY_ID,
+ REQUEST_SCHEDULE_CREATE_USER_PROPERTY_ID,
+ REQUEST_SCHEDULE_AUTHENTICATED_USER_PROPERTY_ID,
+ REQUEST_SCHEDULE_UPDATE_USER_PROPERTY_ID,
+ REQUEST_SCHEDULE_CREATE_TIME_PROPERTY_ID,
+ REQUEST_SCHEDULE_UPDATE_TIME_PROPERTY_ID,
+ REQUEST_SCHEDULE_BATCH_SEPARATION_PROPERTY_ID,
+ REQUEST_SCHEDULE_BATCH_TOLERATION_PROPERTY_ID,
+ REQUEST_SCHEDULE_BATCH_REQUESTS_PROPERTY_ID,
+ BATCH_REQUEST_TYPE_PROPERTY_ID,
+ BATCH_REQUEST_URI_PROPERTY_ID,
+ BATCH_REQUEST_ORDER_ID_PROPERTY_ID,
+ BATCH_REQUEST_BODY_PROPERTY_ID,
+ SCHEDULE_DAYS_OF_MONTH_PROPERTY_ID,
+ SCHEDULE_MINUTES_PROPERTY_ID,
+ SCHEDULE_HOURS_PROPERTY_ID,
+ SCHEDULE_YEAR_PROPERTY_ID,
+ SCHEDULE_DAY_OF_WEEK_PROPERTY_ID,
+ SCHEDULE_MONTH_PROPERTY_ID,
+ SCHEDULE_START_TIME_PROPERTY_ID,
+ SCHEDULE_END_TIME_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
*/
- protected RequestScheduleResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected RequestScheduleResourceProvider(AmbariManagementController managementController) {
+ super(Resource.Type.RequestSchedule, propertyIds, keyPropertyIds, managementController);
}
@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/RoleAuthorizationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RoleAuthorizationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RoleAuthorizationResourceProvider.java
index 8dbe2bf..9ae1f47 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RoleAuthorizationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RoleAuthorizationResourceProvider.java
@@ -100,7 +100,7 @@ public class RoleAuthorizationResourceProvider extends ReadOnlyResourceProvider
* Create a new resource provider.
*/
public RoleAuthorizationResourceProvider(AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Type.RoleAuthorization, 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/RootServiceComponentConfigurationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
index b9e7d67..74f8a4d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
@@ -81,7 +81,7 @@ public class RootServiceComponentConfigurationResourceProvider extends AbstractA
private RootServiceComponentConfigurationHandlerFactory rootServiceComponentConfigurationHandlerFactory;
public RootServiceComponentConfigurationResourceProvider() {
- super(PROPERTIES, PK_PROPERTY_MAP);
+ super(Resource.Type.RootServiceComponentConfiguration, PROPERTIES, PK_PROPERTY_MAP);
Set<RoleAuthorization> authorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_CONFIGURATION);
setRequiredCreateAuthorizations(authorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
index dfca00e..3c7fb6d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProvider.java
@@ -38,7 +38,8 @@ 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.ImmutableSet;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
public class RootServiceComponentResourceProvider extends ReadOnlyResourceProvider {
@@ -57,12 +58,26 @@ public class RootServiceComponentResourceProvider extends ReadOnlyResourceProvid
public static final String PROPERTIES_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + PROPERTIES;
public static final String SERVER_CLOCK_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + SERVER_CLOCK;
- private static final Set<String> PK_PROPERTY_IDS = ImmutableSet.of(SERVICE_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID);
-
- protected RootServiceComponentResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a RootServiceComponent resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.RootService, SERVICE_NAME_PROPERTY_ID)
+ .put(Type.RootServiceComponent, COMPONENT_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a RootServiceComponent resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ SERVICE_NAME_PROPERTY_ID,
+ COMPONENT_NAME_PROPERTY_ID,
+ COMPONENT_VERSION_PROPERTY_ID,
+ PROPERTIES_PROPERTY_ID,
+ SERVER_CLOCK_PROPERTY_ID);
+
+ protected RootServiceComponentResourceProvider(AmbariManagementController managementController) {
+ super(Type.RootServiceComponent, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -116,7 +131,7 @@ public class RootServiceComponentResourceProvider extends ReadOnlyResourceProvid
@Override
protected Set<String> getPKPropertyIds() {
- return PK_PROPERTY_IDS;
+ 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/RootServiceHostComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java
index c37bb2e..94c870b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProvider.java
@@ -39,7 +39,8 @@ 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.ImmutableSet;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
public class RootServiceHostComponentResourceProvider extends ReadOnlyResourceProvider {
@@ -59,12 +60,29 @@ public class RootServiceHostComponentResourceProvider extends ReadOnlyResourcePr
public static final String COMPONENT_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + COMPONENT_STATE;
public static final String PROPERTIES_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + PROPERTIES;
- private static final Set<String> PK_PROPERTY_IDS = ImmutableSet.of(SERVICE_NAME_PROPERTY_ID, HOST_NAME_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID);
-
- public RootServiceHostComponentResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a RootServiceHostComponent resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.RootService, SERVICE_NAME_PROPERTY_ID)
+ .put(Type.Host, HOST_NAME_PROPERTY_ID)
+ .put(Type.RootServiceComponent, COMPONENT_NAME_PROPERTY_ID)
+ .put(Type.RootServiceHostComponent, COMPONENT_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a RootServiceHostComponent resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ SERVICE_NAME_PROPERTY_ID,
+ HOST_NAME_PROPERTY_ID,
+ COMPONENT_NAME_PROPERTY_ID,
+ COMPONENT_VERSION_PROPERTY_ID,
+ COMPONENT_STATE_PROPERTY_ID,
+ PROPERTIES_PROPERTY_ID);
+
+ public RootServiceHostComponentResourceProvider(AmbariManagementController managementController) {
+ super(Type.RootServiceHostComponent, propertyIds, keyPropertyIds, managementController);
}
@@ -118,7 +136,7 @@ public class RootServiceHostComponentResourceProvider extends ReadOnlyResourcePr
@Override
protected Set<String> getPKPropertyIds() {
- return PK_PROPERTY_IDS;
+ return new HashSet<>(keyPropertyIds.values());
}
// Get the root service host components for the given set of requests
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
index b24a94a..dcc8970 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceResourceProvider.java
@@ -37,7 +37,8 @@ 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.ImmutableSet;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
public class RootServiceResourceProvider extends ReadOnlyResourceProvider {
@@ -45,12 +46,21 @@ public class RootServiceResourceProvider extends ReadOnlyResourceProvider {
public static final String SERVICE_NAME = "service_name";
public static final String SERVICE_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + SERVICE_NAME;
- private static final Set<String> PK_PROPERTY_IDS = ImmutableSet.of(SERVICE_NAME_PROPERTY_ID);
-
- protected RootServiceResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a RootService resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.RootService, SERVICE_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a RootService resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ SERVICE_NAME_PROPERTY_ID);
+
+ protected RootServiceResourceProvider(AmbariManagementController managementController) {
+ super(Type.RootService, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -94,7 +104,7 @@ public class RootServiceResourceProvider extends ReadOnlyResourceProvider {
@Override
protected Set<String> getPKPropertyIds() {
- return PK_PROPERTY_IDS;
+ 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/ServiceConfigVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java
index e7dbbc0..1019e57 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceConfigVersionResourceProvider.java
@@ -115,7 +115,7 @@ public class ServiceConfigVersionResourceProvider extends
*/
ServiceConfigVersionResourceProvider(
AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Resource.Type.ServiceConfigVersion, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
setRequiredGetAuthorizations(EnumSet.of(RoleAuthorization.CLUSTER_VIEW_CONFIGS,
RoleAuthorization.SERVICE_VIEW_CONFIGS,
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/SettingResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/SettingResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/SettingResourceProvider.java
index 5235ef4..dd30904 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/SettingResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/SettingResourceProvider.java
@@ -103,7 +103,7 @@ public class SettingResourceProvider extends AbstractAuthorizedResourceProvider
}
protected SettingResourceProvider() {
- super(propertyIds, keyPropertyIds);
+ super(Resource.Type.Setting, propertyIds, keyPropertyIds);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_SETTINGS);
setRequiredCreateAuthorizations(requiredAuthorizations);
setRequiredDeleteAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProvider.java
index 67c177e..599b7c7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProvider.java
@@ -39,6 +39,7 @@ import org.apache.ambari.server.api.services.stackadvisor.recommendations.Recomm
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.spi.Request;
+import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.state.ChangedConfigInfo;
@@ -93,9 +94,9 @@ public abstract class StackAdvisorResourceProvider extends ReadOnlyResourceProvi
configuration = serverConfig;
}
- protected StackAdvisorResourceProvider(Set<String> propertyIds, Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected StackAdvisorResourceProvider(Resource.Type type, Set<String> propertyIds, Map<Type, String> keyPropertyIds,
+ AmbariManagementController managementController) {
+ super(type, propertyIds, keyPropertyIds, managementController);
}
protected abstract String getRequestTypePropertyId();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProvider.java
index d042f86..292d4c1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProvider.java
@@ -184,7 +184,7 @@ public class StackArtifactResourceProvider extends AbstractControllerResourcePro
* @param managementController ambari controller
*/
protected StackArtifactResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.StackArtifact, 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/StackConfigurationDependencyResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProvider.java
index 366b3ef..59341a0 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProvider.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;
@@ -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;
+
public class StackConfigurationDependencyResourceProvider extends
ReadOnlyResourceProvider {
@@ -60,15 +62,31 @@ public class StackConfigurationDependencyResourceProvider extends
public static final String DEPENDENCY_TYPE_PROPERTY_ID = PropertyHelper
.getPropertyId("StackConfigurationDependency", "dependency_type");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID,
- STACK_VERSION_PROPERTY_ID, SERVICE_NAME_PROPERTY_ID,
- PROPERTY_NAME_PROPERTY_ID, DEPENDENCY_NAME_PROPERTY_ID}));
-
- protected StackConfigurationDependencyResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a StackConfigurationDependency resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .put(Type.StackService, SERVICE_NAME_PROPERTY_ID)
+ .put(Type.StackConfiguration, PROPERTY_NAME_PROPERTY_ID)
+ .put(Type.StackLevelConfiguration, PROPERTY_NAME_PROPERTY_ID)
+ .put(Type.StackConfigurationDependency, DEPENDENCY_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a StackConfigurationDependency resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ SERVICE_NAME_PROPERTY_ID,
+ PROPERTY_NAME_PROPERTY_ID,
+ DEPENDENCY_NAME_PROPERTY_ID,
+ DEPENDENCY_TYPE_PROPERTY_ID);
+
+ protected StackConfigurationDependencyResourceProvider(AmbariManagementController managementController) {
+ super(Type.StackConfigurationDependency, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -137,7 +155,7 @@ public class StackConfigurationDependencyResourceProvider extends
@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/StackConfigurationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
index 6f5b0f8..7b6c658 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.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.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.commons.lang.StringUtils;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class StackConfigurationResourceProvider extends
ReadOnlyResourceProvider {
@@ -79,15 +81,35 @@ public class StackConfigurationResourceProvider extends
public static final String PROPERTY_FINAL_PROPERTY_ID = PropertyHelper
.getPropertyId("StackConfigurations", "final");
+ /**
+ * The key property ids for a StackConfiguration resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .put(Type.StackService, SERVICE_NAME_PROPERTY_ID)
+ .put(Type.StackConfiguration, PROPERTY_NAME_PROPERTY_ID)
+ .build();
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID,
- STACK_VERSION_PROPERTY_ID, SERVICE_NAME_PROPERTY_ID, PROPERTY_NAME_PROPERTY_ID}));
-
- protected StackConfigurationResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The property ids for a StackConfiguration resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ SERVICE_NAME_PROPERTY_ID,
+ PROPERTY_NAME_PROPERTY_ID,
+ PROPERTY_VALUE_PROPERTY_ID,
+ PROPERTY_VALUE_ATTRIBUTES_PROPERTY_ID,
+ PROPERTY_DEPENDS_ON_PROPERTY_ID,
+ PROPERTY_DESCRIPTION_PROPERTY_ID,
+ PROPERTY_DISPLAY_NAME_PROPERTY_ID,
+ PROPERTY_PROPERTY_TYPE_PROPERTY_ID,
+ PROPERTY_TYPE_PROPERTY_ID,
+ PROPERTY_FINAL_PROPERTY_ID);
+
+ protected StackConfigurationResourceProvider(AmbariManagementController managementController) {
+ super(Type.StackConfiguration, propertyIds, keyPropertyIds, managementController);
}
@@ -188,7 +210,7 @@ public class StackConfigurationResourceProvider extends
@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/StackDependencyResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProvider.java
index 8b69c6a..d28b5d9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProvider.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.HashSet;
import java.util.List;
@@ -42,6 +41,9 @@ import org.apache.ambari.server.state.AutoDeployInfo;
import org.apache.ambari.server.state.DependencyConditionInfo;
import org.apache.ambari.server.state.DependencyInfo;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for Stack Dependency resource.
*/
@@ -70,10 +72,31 @@ public class StackDependencyResourceProvider extends AbstractResourceProvider {
protected static final String AUTO_DEPLOY_LOCATION_ID = PropertyHelper
.getPropertyId("auto_deploy", "location");
- // Primary Key Fields
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- SERVICE_NAME_ID, COMPONENT_NAME_ID}));
+ /**
+ * The key property ids for a StackDependency resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Stack, STACK_NAME_ID)
+ .put(Resource.Type.StackVersion, STACK_VERSION_ID)
+ .put(Resource.Type.StackService, DEPENDENT_SERVICE_NAME_ID)
+ .put(Resource.Type.StackServiceComponent, DEPENDENT_COMPONENT_NAME_ID)
+ .put(Resource.Type.StackServiceComponentDependency, COMPONENT_NAME_ID)
+ .build();
+
+ /**
+ * The property ids for a StackDependency resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ STACK_NAME_ID,
+ STACK_VERSION_ID,
+ DEPENDENT_SERVICE_NAME_ID,
+ DEPENDENT_COMPONENT_NAME_ID,
+ SERVICE_NAME_ID,
+ COMPONENT_NAME_ID,
+ SCOPE_ID,
+ CONDITIONS_ID,
+ AUTO_DEPLOY_ENABLED_ID,
+ AUTO_DEPLOY_LOCATION_ID);
/**
* Provides stack information
@@ -85,12 +108,8 @@ public class StackDependencyResourceProvider extends AbstractResourceProvider {
/**
* Constructor.
- *
- * @param propertyIds the property ids
- * @param keyPropertyIds the key property ids
*/
- protected StackDependencyResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds) {
+ protected StackDependencyResourceProvider() {
super(propertyIds, keyPropertyIds);
}
@@ -108,7 +127,7 @@ public class StackDependencyResourceProvider extends AbstractResourceProvider {
@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/StackLevelConfigurationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java
index 819507b..7519da6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.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.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.commons.lang.StringUtils;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class StackLevelConfigurationResourceProvider extends
ReadOnlyResourceProvider {
@@ -76,15 +78,33 @@ public class StackLevelConfigurationResourceProvider extends
public static final String PROPERTY_FINAL_PROPERTY_ID = PropertyHelper
.getPropertyId("StackLevelConfigurations", "final");
+ /**
+ * The key property ids for a StackLevelConfiguration resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .put(Type.StackLevelConfiguration, PROPERTY_NAME_PROPERTY_ID)
+ .build();
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID,
- STACK_VERSION_PROPERTY_ID, PROPERTY_NAME_PROPERTY_ID}));
-
- protected StackLevelConfigurationResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The property ids for a StackLevelConfiguration resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ PROPERTY_NAME_PROPERTY_ID,
+ PROPERTY_DISPLAY_NAME_PROPERTY_ID,
+ PROPERTY_VALUE_PROPERTY_ID,
+ PROPERTY_VALUE_ATTRIBUTES_PROPERTY_ID,
+ DEPENDS_ON_PROPERTY_ID,
+ PROPERTY_DESCRIPTION_PROPERTY_ID,
+ PROPERTY_PROPERTY_TYPE_PROPERTY_ID,
+ PROPERTY_TYPE_PROPERTY_ID,
+ PROPERTY_FINAL_PROPERTY_ID);
+
+ protected StackLevelConfigurationResourceProvider(AmbariManagementController managementController) {
+ super(Type.StackLevelConfiguration, propertyIds, keyPropertyIds, managementController);
}
@@ -181,7 +201,7 @@ public class StackLevelConfigurationResourceProvider extends
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
}
[02/13] ambari git commit: AMBARI-22445. Warn the user appropriately
for default MySQL server install for Hive (Part 2) (vsubramanian)
Posted by rl...@apache.org.
AMBARI-22445. Warn the user appropriately for default MySQL server install for Hive (Part 2) (vsubramanian)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5caac19d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5caac19d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5caac19d
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: 5caac19def93748874f50661aabd87f5135d2a0f
Parents: 47be7ed
Author: Vivek Ratnavel Subramanian <vi...@gmail.com>
Authored: Fri Dec 1 16:34:33 2017 -0800
Committer: Vivek Ratnavel Subramanian <vi...@gmail.com>
Committed: Fri Dec 1 16:34:33 2017 -0800
----------------------------------------------------------------------
ambari-web/app/data/db_properties_info.js | 15 +++++--
ambari-web/app/messages.js | 3 ++
ambari-web/app/views/common/controls_view.js | 5 ++-
.../test/views/common/controls_view_test.js | 46 ++++++++------------
4 files changed, 36 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/5caac19d/ambari-web/app/data/db_properties_info.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/db_properties_info.js b/ambari-web/app/data/db_properties_info.js
index 6d93c2a..3b4b856 100644
--- a/ambari-web/app/data/db_properties_info.js
+++ b/ambari-web/app/data/db_properties_info.js
@@ -68,19 +68,28 @@ module.exports = {
},
'driver': 'com.mysql.jdbc.Driver',
'sql_jar_connector': '/usr/share/java/mysql-connector-java.jar',
- 'db_type': 'mysql'
+ 'db_type': 'mysql',
+ 'db_name': 'MySQL',
+ 'driver_download_url': 'https://dev.mysql.com/downloads/connector/j/',
+ 'driver_name': 'MySQL Connector/J JDBC Driver'
},
'POSTGRES': {
'connection_url': 'jdbc:postgresql://{0}:5432/{1}',
'driver': 'org.postgresql.Driver',
'sql_jar_connector': '/usr/share/java/postgresql.jar',
- 'db_type': 'postgres'
+ 'db_type': 'postgres',
+ 'db_name': 'PostgreSQL',
+ 'driver_download_url': 'https://jdbc.postgresql.org/',
+ 'driver_name': 'PostgreSQL JDBC Driver'
},
'ORACLE': {
'connection_url': 'jdbc:oracle:thin:@//{0}:1521/{1}',
'driver': 'oracle.jdbc.driver.OracleDriver',
'sql_jar_connector': '/usr/share/java/ojdbc6.jar',
- 'db_type': 'oracle'
+ 'db_type': 'oracle',
+ 'db_name': 'Oracle',
+ 'driver_download_url': 'http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html',
+ 'driver_name': 'Oracle JDBC Driver'
},
'MSSQL': {
'connection_url': 'jdbc:sqlserver://{0};databaseName={1}',
http://git-wip-us.apache.org/repos/asf/ambari/blob/5caac19d/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index b294877..06deecb 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -2262,6 +2262,9 @@ Em.I18n.translations = {
'services.service.config.configHistory.makeCurrent.message': 'Created from service config version {0}',
'services.service.config.configHistory.comparing': 'Comparing',
'services.service.config.setRecommendedValue': 'Set Recommended',
+ 'services.service.config.database.msg.jdbcSetup.detailed': 'To use {0} with Hive, you must <a href="{3}" target="_blank">' +
+ 'download the {4} from {0}</a>. Once downloaded to the Ambari Server host, run: <br/>' +
+ '<b>ambari-server setup --jdbc-db={1} --jdbc-driver=/path/to/{1}/{2}</b>',
'services.service.widgets.list-widget.nothingSelected': 'Nothing selected',
http://git-wip-us.apache.org/repos/asf/ambari/blob/5caac19d/ambari-web/app/views/common/controls_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/controls_view.js b/ambari-web/app/views/common/controls_view.js
index 63d08ce..747d96c 100644
--- a/ambari-web/app/views/common/controls_view.js
+++ b/ambari-web/app/views/common/controls_view.js
@@ -762,11 +762,14 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId,
var shouldAdditionalViewsBeSet = currentDB && checkDatabase && handledProperties.contains(this.get('serviceConfig.name')),
driver = this.getDefaultPropertyValue('sql_jar_connector') ? this.getDefaultPropertyValue('sql_jar_connector').split("/").pop() : 'driver.jar',
dbType = this.getDefaultPropertyValue('db_type'),
+ dbName = this.getDefaultPropertyValue('db_name'),
+ driverName = this.getDefaultPropertyValue('driver_name'),
+ driverDownloadUrl = this.getDefaultPropertyValue('driver_download_url'),
additionalView1 = shouldAdditionalViewsBeSet && !this.get('isNewDb') ? App.CheckDBConnectionView.extend({databaseName: dbType}) : null,
additionalView2 = shouldAdditionalViewsBeSet ? Ember.View.extend({
template: Ember.Handlebars.compile('<div class="alert alert-warning">{{{view.message}}}</div>'),
message: function() {
- return Em.I18n.t('services.service.config.database.msg.jdbcSetup').format(dbType, driver);
+ return Em.I18n.t('services.service.config.database.msg.jdbcSetup.detailed').format(dbName, dbType, driver, driverDownloadUrl, driverName);
}.property()
}) : null;
if (propertyAppendTo1) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/5caac19d/ambari-web/test/views/common/controls_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/controls_view_test.js b/ambari-web/test/views/common/controls_view_test.js
index 76742fa..b6f19ef 100644
--- a/ambari-web/test/views/common/controls_view_test.js
+++ b/ambari-web/test/views/common/controls_view_test.js
@@ -35,6 +35,9 @@ describe('App.ServiceConfigRadioButtons', function () {
{
dbType: 'mysql',
driver: 'mysql-connector-java.jar',
+ dbName: 'MySQL',
+ downloadUrl: 'https://dev.mysql.com/downloads/connector/j/',
+ driverName: 'MySQL Connector/J JDBC Driver',
serviceConfig: {
name: 'hive_database',
value: 'New MySQL Database',
@@ -65,6 +68,9 @@ describe('App.ServiceConfigRadioButtons', function () {
{
dbType: 'postgres',
driver: 'postgresql.jar',
+ dbName: 'PostgreSQL',
+ downloadUrl: 'https://jdbc.postgresql.org/',
+ driverName: 'PostgreSQL JDBC Driver',
serviceConfig: {
name: 'hive_database',
value: 'Existing PostgreSQL Database',
@@ -95,6 +101,9 @@ describe('App.ServiceConfigRadioButtons', function () {
{
dbType: 'derby',
driver: 'driver.jar',
+ dbName: 'Derby',
+ downloadUrl: 'http://',
+ driverName: 'Derby JDBC Driver',
serviceConfig: {
name: 'oozie_database',
value: 'New Derby Database',
@@ -125,6 +134,9 @@ describe('App.ServiceConfigRadioButtons', function () {
{
dbType: 'oracle',
driver: 'ojdbc6.jar',
+ dbName: 'Oracle',
+ downloadUrl: 'http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html',
+ driverName: 'Oracle JDBC Driver',
serviceConfig: {
name: 'oozie_database',
value: 'Existing Oracle Database',
@@ -155,6 +167,9 @@ describe('App.ServiceConfigRadioButtons', function () {
{
dbType: 'mysql',
driver: 'mysql-connector-java.jar',
+ dbName: 'MySQL',
+ downloadUrl: 'https://dev.mysql.com/downloads/connector/j/',
+ driverName: 'MySQL Connector/J JDBC Driver',
serviceConfig: {
name: 'DB_FLAVOR',
value: 'MYSQL',
@@ -179,34 +194,6 @@ describe('App.ServiceConfigRadioButtons', function () {
isAdditionalView1Null: true,
isAdditionalView2Null: true,
title: 'Ranger, HDP 2.2, external database'
- },
- {
- dbType: 'mssql',
- driver: 'sqljdbc4.jar',
- serviceConfig: {
- name: 'DB_FLAVOR',
- value: 'MSSQL',
- serviceName: 'RANGER'
- },
- controller: Em.Object.create({
- selectedService: {
- configs: [
- Em.Object.create({
- name: 'ranger.jpa.jdbc.url'
- }),
- Em.Object.create({
- name: 'DB_FLAVOR'
- })
- ]
- }
- }),
- currentStackVersion: 'HDP-2.3',
- rangerVersion: '0.5.0',
- propertyAppendTo1: 'ranger.jpa.jdbc.url',
- propertyAppendTo2: 'DB_FLAVOR',
- isAdditionalView1Null: false,
- isAdditionalView2Null: false,
- title: 'Ranger, HDP 2.3, external database'
}
];
var rangerVersion = '';
@@ -266,7 +253,8 @@ describe('App.ServiceConfigRadioButtons', function () {
if (!item.isAdditionalView2Null) {
it('additionalView2.message is valid', function () {
- expect(additionalView2.create().get('message')).to.equal(Em.I18n.t('services.service.config.database.msg.jdbcSetup').format(item.dbType, item.driver));
+ var message = Em.I18n.t('services.service.config.database.msg.jdbcSetup.detailed').format(item.dbName, item.dbType, item.driver, item.downloadUrl, item.driverName);
+ expect(additionalView2.create().get('message')).to.equal(message);
});
}
[06/13] ambari git commit: AMBARI-22353. Remove properties.json And
Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
Posted by rl...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java
index ead4f6d..59b42f1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackResourceProvider.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,18 +39,29 @@ 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;
+
public class StackResourceProvider extends ReadOnlyResourceProvider {
public static final String STACK_NAME_PROPERTY_ID = PropertyHelper
.getPropertyId("Stacks", "stack_name");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID}));
-
- protected StackResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a Stack resource.
+ */
+ protected static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Stack resource.
+ */
+ protected static Set<String> propertyIds = Sets.newHashSet(
+ STACK_NAME_PROPERTY_ID);
+
+ protected StackResourceProvider(AmbariManagementController managementController) {
+ super(Type.Stack, propertyIds, keyPropertyIds, managementController);
}
@@ -120,6 +130,6 @@ public class StackResourceProvider 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/StackServiceComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
index b9661bb..a221248 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.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;
@@ -39,6 +38,9 @@ import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.state.AutoDeployInfo;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class StackServiceComponentResourceProvider extends
ReadOnlyResourceProvider {
@@ -102,15 +104,43 @@ public class StackServiceComponentResourceProvider extends
private static final String AUTO_DEPLOY_LOCATION_ID = PropertyHelper.getPropertyId(
"auto_deploy", "location");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID,
- STACK_VERSION_PROPERTY_ID, SERVICE_NAME_PROPERTY_ID,
- COMPONENT_NAME_PROPERTY_ID}));
-
- protected StackServiceComponentResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a StackServiceComponent resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .put(Type.StackService, SERVICE_NAME_PROPERTY_ID)
+ .put(Type.StackServiceComponent, COMPONENT_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a StackServiceComponent resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ SERVICE_NAME_PROPERTY_ID,
+ COMPONENT_NAME_PROPERTY_ID,
+ COMPONENT_DISPLAY_NAME_PROPERTY_ID,
+ COMPONENT_CATEGORY_PROPERTY_ID,
+ IS_CLIENT_PROPERTY_ID,
+ IS_MASTER_PROPERTY_ID,
+ CARDINALITY_ID,
+ ADVERTISE_VERSION_ID,
+ DECOMISSION_ALLOWED_ID,
+ REASSIGN_ALLOWED_ID,
+ CUSTOM_COMMANDS_PROPERTY_ID,
+ HAS_BULK_COMMANDS_PROPERTY_ID,
+ BULK_COMMANDS_DISPLAY_NAME_PROPERTY_ID,
+ BULK_COMMANDS_MASTER_COMPONENT_NAME_PROPERTY_ID,
+ RECOVERY_ENABLED,
+ ROLLING_RESTART_SUPPORTED,
+ AUTO_DEPLOY_ENABLED_ID,
+ AUTO_DEPLOY_LOCATION_ID);
+
+ protected StackServiceComponentResourceProvider(AmbariManagementController managementController) {
+ super(Type.StackServiceComponent, propertyIds, keyPropertyIds, managementController);
}
@@ -222,7 +252,7 @@ public class StackServiceComponentResourceProvider extends
@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/StackServiceResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
index 8727741..a4bf32b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.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;
@@ -41,6 +40,8 @@ import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.state.kerberos.KerberosServiceDescriptorFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
@@ -101,9 +102,37 @@ public class StackServiceResourceProvider extends ReadOnlyResourceProvider {
private static final String SUPPORT_DELETE_VIA_UI = PropertyHelper.getPropertyId(
"StackServices", "support_delete_via_ui");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID,
- STACK_VERSION_PROPERTY_ID, SERVICE_NAME_PROPERTY_ID}));
+ /**
+ * The key property ids for a StackVersion resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .put(Type.StackService, SERVICE_NAME_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a StackVersion resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ SERVICE_NAME_PROPERTY_ID,
+ SERVICE_TYPE_PROPERTY_ID,
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ SERVICE_DISPLAY_NAME_PROPERTY_ID,
+ USER_NAME_PROPERTY_ID,
+ COMMENTS_PROPERTY_ID,
+ SELECTION_PROPERTY_ID,
+ VERSION_PROPERTY_ID,
+ CONFIG_TYPES,
+ REQUIRED_SERVICES_ID,
+ SERVICE_CHECK_SUPPORTED_PROPERTY_ID,
+ CUSTOM_COMMANDS_PROPERTY_ID,
+ SERVICE_PROPERTIES_PROPERTY_ID,
+ CREDENTIAL_STORE_SUPPORTED,
+ CREDENTIAL_STORE_REQUIRED,
+ CREDENTIAL_STORE_ENABLED,
+ SUPPORT_DELETE_VIA_UI);
/**
* KerberosServiceDescriptorFactory used to create KerberosServiceDescriptor instances
@@ -111,10 +140,8 @@ public class StackServiceResourceProvider extends ReadOnlyResourceProvider {
@Inject
private static KerberosServiceDescriptorFactory kerberosServiceDescriptorFactory;
- protected StackServiceResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected StackServiceResourceProvider(AmbariManagementController managementController) {
+ super(Type.StackService, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -226,7 +253,7 @@ public class StackServiceResourceProvider 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/StackVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
index 094c75b..f2e6d1a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackVersionResourceProvider.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;
+
@StaticallyInject
public class StackVersionResourceProvider extends ReadOnlyResourceProvider {
@@ -55,13 +57,32 @@ public class StackVersionResourceProvider extends ReadOnlyResourceProvider {
public static final String STACK_MIN_JDK = PropertyHelper.getPropertyId("Versions", "min_jdk");
public static final String STACK_MAX_JDK = PropertyHelper.getPropertyId("Versions", "max_jdk");
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{STACK_NAME_PROPERTY_ID, STACK_VERSION_PROPERTY_ID}));
-
- protected StackVersionResourceProvider(Set<String> propertyIds,
- Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ /**
+ * The key property ids for a StackVersion resource.
+ */
+ protected static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a StackVersion resource.
+ */
+ protected static Set<String> propertyIds = Sets.newHashSet(
+ STACK_VERSION_PROPERTY_ID,
+ STACK_NAME_PROPERTY_ID,
+ STACK_MIN_VERSION_PROPERTY_ID,
+ STACK_ACTIVE_PROPERTY_ID,
+ STACK_VALID_PROPERTY_ID,
+ STACK_ERROR_SET,
+ STACK_CONFIG_TYPES,
+ STACK_PARENT_PROPERTY_ID,
+ UPGRADE_PACKS_PROPERTY_ID,
+ STACK_MIN_JDK,
+ STACK_MAX_JDK);
+
+ protected StackVersionResourceProvider(AmbariManagementController managementController) {
+ super(Type.StackVersion, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -140,7 +161,7 @@ public class StackVersionResourceProvider 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/StageResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StageResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StageResourceProvider.java
index c4251c1..0b9cd79 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StageResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StageResourceProvider.java
@@ -150,7 +150,7 @@ public class StageResourceProvider extends AbstractControllerResourceProvider im
* @param managementController the Ambari management controller
*/
StageResourceProvider(AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Resource.Type.Stage, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
}
// ----- AbstractResourceProvider ------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProvider.java
index d0c37f5..be28b54 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProvider.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 target cluster resource provider.
*/
@@ -52,20 +54,29 @@ public class TargetClusterResourceProvider extends AbstractDRResourceProvider {
protected static final String CLUSTER_LOCATIONS_PROPERTY_ID = PropertyHelper.getPropertyId("Cluster", "locations");
protected static final String CLUSTER_PROPERTIES_PROPERTY_ID = PropertyHelper.getPropertyId("Cluster", "properties");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- CLUSTER_NAME_PROPERTY_ID}));
+ /**
+ * The key property ids for a TargetCluster resource.
+ */
+ private 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 TargetCluster resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ CLUSTER_NAME_PROPERTY_ID,
+ CLUSTER_COLO_PROPERTY_ID,
+ CLUSTER_INTERFACES_PROPERTY_ID,
+ CLUSTER_LOCATIONS_PROPERTY_ID,
+ CLUSTER_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 TargetClusterResourceProvider(IvoryService ivoryService,
- Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds) {
+ public TargetClusterResourceProvider(IvoryService ivoryService) {
super(propertyIds, keyPropertyIds, ivoryService);
}
@@ -151,7 +162,7 @@ public class TargetClusterResourceProvider 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/TaskAttemptResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProvider.java
index 3af7bb1..a6df9be 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProvider.java
@@ -22,7 +22,6 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -45,6 +44,9 @@ import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for task attempt resources.
*/
@@ -81,23 +83,41 @@ public class TaskAttemptResourceProvider extends
protected static final String TASK_ATTEMPT_LOCALITY_PROPERTY_ID = PropertyHelper
.getPropertyId("TaskAttempt", "locality");
- private static final Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{TASK_ATTEMPT_CLUSTER_NAME_PROPERTY_ID,
- TASK_ATTEMPT_WORKFLOW_ID_PROPERTY_ID,
- TASK_ATTEMPT_JOB_ID_PROPERTY_ID, TASK_ATTEMPT_ID_PROPERTY_ID}));
-
protected TaskAttemptFetcher taskAttemptFetcher;
/**
+ * The key property ids for a TaskAttempt resource.
+ */
+ protected static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Cluster, TASK_ATTEMPT_CLUSTER_NAME_PROPERTY_ID)
+ .put(Type.Workflow, TASK_ATTEMPT_WORKFLOW_ID_PROPERTY_ID)
+ .put(Type.Job, TASK_ATTEMPT_JOB_ID_PROPERTY_ID)
+ .put(Type.TaskAttempt, TASK_ATTEMPT_ID_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a TaskAttempt resource.
+ */
+ protected static Set<String> propertyIds = Sets.newHashSet(
+ TASK_ATTEMPT_CLUSTER_NAME_PROPERTY_ID,
+ TASK_ATTEMPT_WORKFLOW_ID_PROPERTY_ID,
+ TASK_ATTEMPT_JOB_ID_PROPERTY_ID,
+ TASK_ATTEMPT_ID_PROPERTY_ID,
+ TASK_ATTEMPT_TYPE_PROPERTY_ID,
+ TASK_ATTEMPT_START_TIME_PROPERTY_ID,
+ TASK_ATTEMPT_FINISH_TIME_PROPERTY_ID,
+ TASK_ATTEMPT_MAP_FINISH_TIME_PROPERTY_ID,
+ TASK_ATTEMPT_SHUFFLE_FINISH_TIME_PROPERTY_ID,
+ TASK_ATTEMPT_SORT_FINISH_TIME_PROPERTY_ID,
+ TASK_ATTEMPT_INPUT_BYTES_PROPERTY_ID,
+ TASK_ATTEMPT_OUTPUT_BYTES_PROPERTY_ID,
+ TASK_ATTEMPT_STATUS_PROPERTY_ID,
+ TASK_ATTEMPT_LOCALITY_PROPERTY_ID);
+
+ /**
* Create a new task attempt resource provider.
- *
- * @param propertyIds
- * the property ids
- * @param keyPropertyIds
- * the key property ids
*/
- protected TaskAttemptResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds) {
+ protected TaskAttemptResourceProvider() {
super(propertyIds, keyPropertyIds);
taskAttemptFetcher = new PostgresTaskAttemptFetcher(
new JobHistoryPostgresConnectionFactory());
@@ -166,16 +186,11 @@ public class TaskAttemptResourceProvider extends
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
@Override
public Map<Type,String> getKeyPropertyIds() {
- Map<Type,String> keyPropertyIds = new HashMap<>();
- keyPropertyIds.put(Type.Cluster, TASK_ATTEMPT_CLUSTER_NAME_PROPERTY_ID);
- keyPropertyIds.put(Type.Workflow, TASK_ATTEMPT_WORKFLOW_ID_PROPERTY_ID);
- keyPropertyIds.put(Type.Job, TASK_ATTEMPT_JOB_ID_PROPERTY_ID);
- keyPropertyIds.put(Type.TaskAttempt, TASK_ATTEMPT_ID_PROPERTY_ID);
return keyPropertyIds;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
index 39419ec..c81742f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/TaskResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashSet;
@@ -47,6 +46,7 @@ import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
/**
@@ -81,9 +81,6 @@ public class TaskResourceProvider extends AbstractControllerResourceProvider {
public static final String TASK_CUST_CMD_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("Tasks", "custom_command_name");
public static final String TASK_COMMAND_OPS_DISPLAY_NAME = PropertyHelper.getPropertyId("Tasks", "ops_display_name");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- TASK_ID_PROPERTY_ID}));
/**
* The property ids for a task resource.
@@ -116,6 +113,18 @@ public class TaskResourceProvider extends AbstractControllerResourceProvider {
}
/**
+ * The key property ids for a task resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.Cluster, TASK_CLUSTER_NAME_PROPERTY_ID)
+ .put(Resource.Type.Request, TASK_REQUEST_ID_PROPERTY_ID)
+ .put(Resource.Type.Upgrade, TASK_REQUEST_ID_PROPERTY_ID)
+ .put(Resource.Type.Stage, TASK_STAGE_ID_PROPERTY_ID)
+ .put(Resource.Type.UpgradeItem, TASK_STAGE_ID_PROPERTY_ID)
+ .put(Resource.Type.Task, TASK_ID_PROPERTY_ID)
+ .build();
+
+ /**
* Used for querying tasks.
*/
@Inject
@@ -140,14 +149,10 @@ public class TaskResourceProvider extends AbstractControllerResourceProvider {
/**
* 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
*/
- TaskResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ TaskResourceProvider(AmbariManagementController managementController) {
+ super(Resource.Type.Task, PROPERTY_IDS, keyPropertyIds, managementController);
}
// ----- ResourceProvider ------------------------------------------------
@@ -284,7 +289,7 @@ public class TaskResourceProvider extends AbstractControllerResourceProvider {
@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/ThemeArtifactResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java
index affd969..46dd914 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ThemeArtifactResourceProvider.java
@@ -93,7 +93,7 @@ public class ThemeArtifactResourceProvider extends AbstractControllerResourcePro
* @param managementController the management controller
*/
protected ThemeArtifactResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Resource.Type.Theme, 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/UpgradeGroupResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeGroupResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeGroupResourceProvider.java
index e6aafc1..913375a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeGroupResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeGroupResourceProvider.java
@@ -102,7 +102,7 @@ public class UpgradeGroupResourceProvider extends AbstractControllerResourceProv
* @param controller the controller
*/
UpgradeGroupResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.UpgradeGroup, 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/UpgradeItemResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java
index 93b3e46..02c9a99 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeItemResourceProvider.java
@@ -119,7 +119,7 @@ public class UpgradeItemResourceProvider extends ReadOnlyResourceProvider {
* @param controller the controller
*/
UpgradeItemResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.UpgradeItem, 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/UpgradeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
index bab5369..1fbf130 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
@@ -298,7 +298,7 @@ public class UpgradeResourceProvider extends AbstractControllerResourceProvider
*/
@Inject
public UpgradeResourceProvider(@Assisted AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.Upgrade, 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/UpgradeSummaryResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProvider.java
index 94b2b4a..db9ad2a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProvider.java
@@ -102,7 +102,7 @@ public class UpgradeSummaryResourceProvider extends AbstractControllerResourcePr
* @param controller the controller
*/
public UpgradeSummaryResourceProvider(AmbariManagementController controller) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, controller);
+ super(Resource.Type.UpgradeSummary, 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/UserAuthorizationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProvider.java
index 95550f0..c818846 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProvider.java
@@ -128,7 +128,7 @@ public class UserAuthorizationResourceProvider extends ReadOnlyResourceProvider
* Create a new resource provider.
*/
public UserAuthorizationResourceProvider(AmbariManagementController managementController) {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Type.UserAuthorization, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
clusterController = ClusterControllerHelper.getClusterController();
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java
index 614f7ab..1f43383 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.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;
@@ -57,6 +56,8 @@ import org.apache.ambari.server.security.authorization.Users;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
/**
* Resource provider for user privilege resources.
@@ -103,20 +104,18 @@ public class UserPrivilegeResourceProvider 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_USER_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_USER_NAME_PROPERTY_ID);
/**
* Static initialization.
@@ -145,11 +144,10 @@ public class UserPrivilegeResourceProvider extends ReadOnlyResourceProvider {
/**
* The key property ids for a privilege resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.User, PRIVILEGE_USER_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.UserPrivilege, PRIVILEGE_PRIVILEGE_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.User, PRIVILEGE_USER_NAME_PROPERTY_ID)
+ .put(Resource.Type.UserPrivilege, PRIVILEGE_PRIVILEGE_ID_PROPERTY_ID)
+ .build();
private ThreadLocal<LoadingCache<Long, ClusterEntity>> clusterCache =
new ThreadLocal<LoadingCache<Long, ClusterEntity>>(){
@@ -237,7 +235,7 @@ public class UserPrivilegeResourceProvider extends ReadOnlyResourceProvider {
* Constructor.
*/
public UserPrivilegeResourceProvider() {
- super(propertyIds, keyPropertyIds, null);
+ super(Resource.Type.UserPrivilege, 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/UserResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
index 698f419..f0709aa 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.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;
@@ -44,6 +43,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 user resources.
*/
@@ -63,17 +65,30 @@ public class UserResourceProvider extends AbstractControllerResourceProvider imp
public static final String USER_GROUPS_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "groups");
public static final String USER_ADMIN_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "admin");
- private static Set<String> pkPropertyIds =
- new HashSet<>(Arrays.asList(new String[]{
- USER_USERNAME_PROPERTY_ID}));
+ /**
+ * The key property ids for a User resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.User, USER_USERNAME_PROPERTY_ID)
+ .build();
/**
+ * The property ids for a User resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ USER_USERNAME_PROPERTY_ID,
+ USER_PASSWORD_PROPERTY_ID,
+ USER_OLD_PASSWORD_PROPERTY_ID,
+ USER_LDAP_USER_PROPERTY_ID,
+ USER_TYPE_PROPERTY_ID,
+ USER_ACTIVE_PROPERTY_ID,
+ USER_GROUPS_PROPERTY_ID,
+ USER_ADMIN_PROPERTY_ID);
+ /**
* Create a new resource provider for the given management controller.
*/
- UserResourceProvider(Set<String> propertyIds,
- Map<Resource.Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ UserResourceProvider(AmbariManagementController managementController) {
+ super(Resource.Type.User, propertyIds, keyPropertyIds, managementController);
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_USERS));
setRequiredDeleteAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_USERS));
@@ -224,7 +239,7 @@ public class UserResourceProvider extends AbstractControllerResourceProvider imp
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
private UserRequest getRequest(Map<String, Object> properties) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ValidationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ValidationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ValidationResourceProvider.java
index 5448784..7252212 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ValidationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ValidationResourceProvider.java
@@ -45,6 +45,9 @@ import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
public class ValidationResourceProvider extends StackAdvisorResourceProvider {
private static final Logger LOG = LoggerFactory.getLogger(ValidationResourceProvider.class);
@@ -54,20 +57,59 @@ public class ValidationResourceProvider extends StackAdvisorResourceProvider {
protected static final String VALIDATE_PROPERTY_ID = "validate";
protected static final String ITEMS_PROPERTY_ID = "items";
- protected static final String ITEMS_TYPE_PROPERTY_ID = "type";
- protected static final String ITEMS_LEVE_PROPERTY_ID = "level";
- protected static final String ITEMS_MESSAGE_PROPERTY_ID = "message";
- protected static final String ITEMS_COMPONENT_NAME_PROPERTY_ID = "component-name";
- protected static final String ITEMS_HOST_PROPERTY_ID = "host";
- protected static final String ITEMS_CONFIG_TYPE_PROPERTY_ID = "config-type";
- protected static final String ITEMS_CONFIG_NAME_PROPERTY_ID = "config-name";
-
- private static Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{VALIDATION_ID_PROPERTY_ID}));
-
- protected ValidationResourceProvider(Set<String> propertyIds, Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ protected static final String TYPE_PROPERTY_ID = "type";
+ protected static final String LEVE_PROPERTY_ID = "level";
+ protected static final String MESSAGE_PROPERTY_ID = "message";
+ protected static final String COMPONENT_NAME_PROPERTY_ID = "component-name";
+ protected static final String HOST_PROPERTY_ID = "host";
+ protected static final String CONFIG_TYPE_PROPERTY_ID = "config-type";
+ protected static final String CONFIG_NAME_PROPERTY_ID = "config-name";
+ protected static final String HOST_GROUP_PROPERTY_ID = "host-group";
+ protected static final String HOSTS_PROPERTY_ID = "hosts";
+ protected static final String SERVICES_PROPERTY_ID = "services";
+ protected static final String RECOMMENDATIONS_PROPERTY_ID = "recommendations";
+
+ protected static final String ITEMS_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, TYPE_PROPERTY_ID);
+ protected static final String ITEMS_LEVE_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, LEVE_PROPERTY_ID);
+ protected static final String ITEMS_MESSAGE_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, MESSAGE_PROPERTY_ID);
+ protected static final String ITEMS_COMPONENT_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, COMPONENT_NAME_PROPERTY_ID);
+ protected static final String ITEMS_HOST_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, HOST_PROPERTY_ID);
+ protected static final String ITEMS_CONFIG_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, CONFIG_TYPE_PROPERTY_ID);
+ protected static final String ITEMS_CONFIG_NAME_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, CONFIG_NAME_PROPERTY_ID);
+ protected static final String ITEMS_HOST_GROUP_PROPERTY_ID = PropertyHelper.getPropertyId(ITEMS_PROPERTY_ID, HOST_GROUP_PROPERTY_ID);
+
+ /**
+ * The key property ids for a Validation resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Validation, VALIDATION_ID_PROPERTY_ID)
+ .put(Type.Stack, STACK_NAME_PROPERTY_ID)
+ .put(Type.StackVersion, STACK_VERSION_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Validation resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ VALIDATION_ID_PROPERTY_ID,
+ VALIDATE_PROPERTY_ID,
+ ITEMS_PROPERTY_ID,
+ STACK_NAME_PROPERTY_ID,
+ STACK_VERSION_PROPERTY_ID,
+ ITEMS_TYPE_PROPERTY_ID,
+ ITEMS_LEVE_PROPERTY_ID,
+ ITEMS_MESSAGE_PROPERTY_ID,
+ ITEMS_COMPONENT_NAME_PROPERTY_ID,
+ ITEMS_HOST_PROPERTY_ID,
+ ITEMS_CONFIG_TYPE_PROPERTY_ID,
+ ITEMS_CONFIG_NAME_PROPERTY_ID,
+ ITEMS_HOST_GROUP_PROPERTY_ID,
+ HOSTS_PROPERTY_ID,
+ SERVICES_PROPERTY_ID,
+ RECOMMENDATIONS_PROPERTY_ID);
+
+ protected ValidationResourceProvider(AmbariManagementController managementController) {
+ super(Type.Validation, propertyIds, keyPropertyIds, managementController);
}
@Override
@@ -105,19 +147,19 @@ public class ValidationResourceProvider extends StackAdvisorResourceProvider {
Set<ValidationItem> items = response.getItems();
for (ValidationItem item : items) {
Map<String, Object> mapItemProps = new HashMap<>();
- mapItemProps.put(ITEMS_TYPE_PROPERTY_ID, item.getType());
- mapItemProps.put(ITEMS_LEVE_PROPERTY_ID, item.getLevel());
- mapItemProps.put(ITEMS_MESSAGE_PROPERTY_ID, item.getMessage());
+ mapItemProps.put(TYPE_PROPERTY_ID, item.getType());
+ mapItemProps.put(LEVE_PROPERTY_ID, item.getLevel());
+ mapItemProps.put(MESSAGE_PROPERTY_ID, item.getMessage());
if (item.getComponentName() != null) {
- mapItemProps.put(ITEMS_COMPONENT_NAME_PROPERTY_ID, item.getComponentName());
+ mapItemProps.put(COMPONENT_NAME_PROPERTY_ID, item.getComponentName());
}
if (item.getHost() != null) {
- mapItemProps.put(ITEMS_HOST_PROPERTY_ID, item.getHost());
+ mapItemProps.put(HOST_PROPERTY_ID, item.getHost());
}
if (item.getConfigType() != null) {
- mapItemProps.put(ITEMS_CONFIG_TYPE_PROPERTY_ID, item.getConfigType());
- mapItemProps.put(ITEMS_CONFIG_NAME_PROPERTY_ID, item.getConfigName());
+ mapItemProps.put(CONFIG_TYPE_PROPERTY_ID, item.getConfigType());
+ mapItemProps.put(CONFIG_NAME_PROPERTY_ID, item.getConfigName());
}
listItemProps.add(mapItemProps);
}
@@ -134,7 +176,7 @@ public class ValidationResourceProvider extends StackAdvisorResourceProvider {
@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/VersionDefinitionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java
index c34c94d..d7d5e30 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java
@@ -184,7 +184,7 @@ public class VersionDefinitionResourceProvider extends AbstractAuthorizedResourc
* Constructor.
*/
VersionDefinitionResourceProvider() {
- super(PROPERTY_IDS, KEY_PROPERTY_IDS);
+ super(Resource.Type.VersionDefinition, PROPERTY_IDS, KEY_PROPERTY_IDS);
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_STACK_VERSIONS));
setRequiredGetAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_STACK_VERSIONS));
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewInstanceResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewInstanceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewInstanceResourceProvider.java
index 9562782..f191255 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewInstanceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewInstanceResourceProvider.java
@@ -50,6 +50,8 @@ import org.apache.ambari.server.view.validation.ValidationResultImpl;
import org.apache.ambari.view.ClusterType;
import org.apache.ambari.view.validation.Validator;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
@@ -91,37 +93,34 @@ public class ViewInstanceResourceProvider extends AbstractAuthorizedResourceProv
/**
* The key property ids for a view instance resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.View, VIEW_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewVersion, VIEW_VERSION_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewInstance, INSTANCE_NAME_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.View, VIEW_NAME_PROPERTY_ID)
+ .put(Resource.Type.ViewVersion, VIEW_VERSION_PROPERTY_ID)
+ .put(Resource.Type.ViewInstance, INSTANCE_NAME_PROPERTY_ID)
+ .build();
/**
* The property ids for a view instance resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(VIEW_NAME_PROPERTY_ID);
- propertyIds.add(VIEW_VERSION_PROPERTY_ID);
- propertyIds.add(INSTANCE_NAME_PROPERTY_ID);
- propertyIds.add(LABEL_PROPERTY_ID);
- propertyIds.add(DESCRIPTION_PROPERTY_ID);
- propertyIds.add(VISIBLE_PROPERTY_ID);
- propertyIds.add(ICON_PATH_ID);
- propertyIds.add(ICON64_PATH_ID);
- propertyIds.add(PROPERTIES_PROPERTY_ID);
- propertyIds.add(DATA_PROPERTY_ID);
- propertyIds.add(CONTEXT_PATH_PROPERTY_ID);
- propertyIds.add(STATIC_PROPERTY_ID);
- propertyIds.add(CLUSTER_HANDLE_PROPERTY_ID);
- propertyIds.add(CLUSTER_TYPE_PROPERTY_ID);
- propertyIds.add(SHORT_URL_PROPERTY_ID);
- propertyIds.add(SHORT_URL_NAME_PROPERTY_ID);
- propertyIds.add(VALIDATION_RESULT_PROPERTY_ID);
- propertyIds.add(PROPERTY_VALIDATION_RESULTS_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ VIEW_NAME_PROPERTY_ID,
+ VIEW_VERSION_PROPERTY_ID,
+ INSTANCE_NAME_PROPERTY_ID,
+ LABEL_PROPERTY_ID,
+ DESCRIPTION_PROPERTY_ID,
+ VISIBLE_PROPERTY_ID,
+ ICON_PATH_ID,
+ ICON64_PATH_ID,
+ PROPERTIES_PROPERTY_ID,
+ DATA_PROPERTY_ID,
+ CONTEXT_PATH_PROPERTY_ID,
+ STATIC_PROPERTY_ID,
+ CLUSTER_HANDLE_PROPERTY_ID,
+ CLUSTER_TYPE_PROPERTY_ID,
+ SHORT_URL_PROPERTY_ID,
+ SHORT_URL_NAME_PROPERTY_ID,
+ VALIDATION_RESULT_PROPERTY_ID,
+ PROPERTY_VALIDATION_RESULTS_PROPERTY_ID);
// ----- Constructors ------------------------------------------------------
@@ -130,7 +129,7 @@ public class ViewInstanceResourceProvider extends AbstractAuthorizedResourceProv
*/
@Inject
public ViewInstanceResourceProvider() {
- super(propertyIds, keyPropertyIds);
+ super(Resource.Type.ViewInstance, propertyIds, keyPropertyIds);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_VIEWS);
setRequiredCreateAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java
index c1846bb..5b354c4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java
@@ -18,7 +18,6 @@
package org.apache.ambari.server.controller.internal;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -39,6 +38,9 @@ import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
import org.apache.ambari.server.orm.entities.ViewEntity;
import org.apache.ambari.server.view.ViewRegistry;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for custom view permissions.
*/
@@ -62,24 +64,21 @@ public class ViewPermissionResourceProvider extends AbstractResourceProvider {
/**
* The key property ids for a permission resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.View, VIEW_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewVersion, VIEW_VERSION_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewPermission, PERMISSION_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.View, VIEW_NAME_PROPERTY_ID)
+ .put(Resource.Type.ViewVersion, VIEW_VERSION_PROPERTY_ID)
+ .put(Resource.Type.ViewPermission, PERMISSION_ID_PROPERTY_ID)
+ .build();
/**
* The property ids for a permission resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(VIEW_NAME_PROPERTY_ID);
- propertyIds.add(VIEW_VERSION_PROPERTY_ID);
- propertyIds.add(PERMISSION_ID_PROPERTY_ID);
- propertyIds.add(PERMISSION_NAME_PROPERTY_ID);
- propertyIds.add(RESOURCE_NAME_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ VIEW_NAME_PROPERTY_ID,
+ VIEW_VERSION_PROPERTY_ID,
+ PERMISSION_ID_PROPERTY_ID,
+ PERMISSION_NAME_PROPERTY_ID,
+ RESOURCE_NAME_PROPERTY_ID);
// ----- Constructors ------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPrivilegeResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPrivilegeResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPrivilegeResourceProvider.java
index eb57759..2d6f119 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPrivilegeResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPrivilegeResourceProvider.java
@@ -38,6 +38,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 view privilege resources.
*/
@@ -53,28 +56,25 @@ public class ViewPrivilegeResourceProvider extends PrivilegeResourceProvider<Vie
/**
* The property ids for a privilege resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(PRIVILEGE_VIEW_NAME_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_VIEW_VERSION_PROPERTY_ID);
- propertyIds.add(PRIVILEGE_INSTANCE_NAME_PROPERTY_ID);
- 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);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ PRIVILEGE_VIEW_NAME_PROPERTY_ID,
+ PRIVILEGE_VIEW_VERSION_PROPERTY_ID,
+ PRIVILEGE_INSTANCE_NAME_PROPERTY_ID,
+ PRIVILEGE_ID_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.View, PRIVILEGE_VIEW_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewVersion, PRIVILEGE_VIEW_VERSION_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewInstance, PRIVILEGE_INSTANCE_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewPrivilege, PRIVILEGE_ID_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.View, PRIVILEGE_VIEW_NAME_PROPERTY_ID)
+ .put(Resource.Type.ViewVersion, PRIVILEGE_VIEW_VERSION_PROPERTY_ID)
+ .put(Resource.Type.ViewInstance, PRIVILEGE_INSTANCE_NAME_PROPERTY_ID)
+ .put(Resource.Type.ViewPrivilege, PRIVILEGE_ID_PROPERTY_ID)
+ .build();
/**
* The built-in VIEW.USER permission.
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewResourceProvider.java
index 7179b33..c8044c3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewResourceProvider.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.Map;
import java.util.Set;
@@ -38,6 +37,9 @@ import org.apache.ambari.server.orm.entities.ViewEntity;
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 view instances.
*/
@@ -52,18 +54,15 @@ public class ViewResourceProvider extends AbstractAuthorizedResourceProvider {
/**
* The key property ids for a view resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.View, VIEW_NAME_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.View, VIEW_NAME_PROPERTY_ID)
+ .build();
/**
* The property ids for a view resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(VIEW_NAME_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ VIEW_NAME_PROPERTY_ID);
// ----- Constructors ------------------------------------------------------
@@ -72,7 +71,7 @@ public class ViewResourceProvider extends AbstractAuthorizedResourceProvider {
* Construct a view resource provider.
*/
public ViewResourceProvider() {
- super(propertyIds, keyPropertyIds);
+ super(Resource.Type.View, propertyIds, keyPropertyIds);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_VIEWS);
setRequiredCreateAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewURLResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewURLResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewURLResourceProvider.java
index cb506be..ca9aadf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewURLResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewURLResourceProvider.java
@@ -19,7 +19,6 @@
package org.apache.ambari.server.controller.internal;
import java.util.EnumSet;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -48,6 +47,7 @@ import org.apache.ambari.server.view.validation.ValidationException;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
import com.google.inject.Inject;
@@ -70,22 +70,19 @@ public class ViewURLResourceProvider extends AbstractAuthorizedResourceProvider
/**
* The key property ids for a view URL resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.ViewURL, URL_NAME_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.ViewURL, URL_NAME_PROPERTY_ID)
+ .build();
/**
* The property ids for a view URL resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(URL_NAME_PROPERTY_ID);
- propertyIds.add(URL_SUFFIX_PROPERTY_ID);
- propertyIds.add(VIEW_INSTANCE_VERSION_PROPERTY_ID);
- propertyIds.add(VIEW_INSTANCE_NAME_PROPERTY_ID);
- propertyIds.add(VIEW_INSTANCE_COMMON_NAME_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ URL_NAME_PROPERTY_ID,
+ URL_SUFFIX_PROPERTY_ID,
+ VIEW_INSTANCE_VERSION_PROPERTY_ID,
+ VIEW_INSTANCE_NAME_PROPERTY_ID,
+ VIEW_INSTANCE_COMMON_NAME_PROPERTY_ID);
@Inject
private static ViewURLDAO viewURLDAO;
@@ -97,7 +94,7 @@ public class ViewURLResourceProvider extends AbstractAuthorizedResourceProvider
*/
public ViewURLResourceProvider() {
- super(propertyIds, keyPropertyIds);
+ super(Resource.Type.ViewURL, propertyIds, keyPropertyIds);
EnumSet<RoleAuthorization> requiredAuthorizations = EnumSet.of(RoleAuthorization.AMBARI_MANAGE_VIEWS);
setRequiredCreateAuthorizations(requiredAuthorizations);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
index e0812fa..58d4cf4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
@@ -19,7 +19,6 @@
package org.apache.ambari.server.controller.internal;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -40,6 +39,9 @@ import org.apache.ambari.server.view.ViewRegistry;
import org.apache.ambari.server.view.configuration.ParameterConfig;
import org.apache.ambari.view.ViewDefinition;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for view versions.
*/
@@ -66,32 +68,29 @@ public class ViewVersionResourceProvider extends AbstractResourceProvider {
/**
* The key property ids for a view resource.
*/
- private static Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
- static {
- keyPropertyIds.put(Resource.Type.View, VIEW_NAME_PROPERTY_ID);
- keyPropertyIds.put(Resource.Type.ViewVersion, VIEW_VERSION_PROPERTY_ID);
- }
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.View, VIEW_NAME_PROPERTY_ID)
+ .put(Resource.Type.ViewVersion, VIEW_VERSION_PROPERTY_ID)
+ .build();
/**
* The property ids for a view resource.
*/
- private static Set<String> propertyIds = new HashSet<>();
- static {
- propertyIds.add(VIEW_NAME_PROPERTY_ID);
- propertyIds.add(VIEW_VERSION_PROPERTY_ID);
- propertyIds.add(VIEW_BUILD_PROPERTY_ID);
- propertyIds.add(LABEL_PROPERTY_ID);
- propertyIds.add(DESCRIPTION_PROPERTY_ID);
- propertyIds.add(MIN_AMBARI_VERSION_PROPERTY_ID);
- propertyIds.add(MAX_AMBARI_VERSION_PROPERTY_ID);
- propertyIds.add(PARAMETERS_PROPERTY_ID);
- propertyIds.add(ARCHIVE_PROPERTY_ID);
- propertyIds.add(MASKER_CLASS_PROPERTY_ID);
- propertyIds.add(VIEW_STATUS_PROPERTY_ID);
- propertyIds.add(VIEW_STATUS_DETAIL_PROPERTY_ID);
- propertyIds.add(CLUSTER_CONFIG_PROPERTY_ID);
- propertyIds.add(SYSTEM_PROPERTY_ID);
- }
+ private static Set<String> propertyIds = Sets.newHashSet(
+ VIEW_NAME_PROPERTY_ID,
+ VIEW_VERSION_PROPERTY_ID,
+ VIEW_BUILD_PROPERTY_ID,
+ LABEL_PROPERTY_ID,
+ DESCRIPTION_PROPERTY_ID,
+ MIN_AMBARI_VERSION_PROPERTY_ID,
+ MAX_AMBARI_VERSION_PROPERTY_ID,
+ PARAMETERS_PROPERTY_ID,
+ ARCHIVE_PROPERTY_ID,
+ MASKER_CLASS_PROPERTY_ID,
+ VIEW_STATUS_PROPERTY_ID,
+ VIEW_STATUS_DETAIL_PROPERTY_ID,
+ CLUSTER_CONFIG_PROPERTY_ID,
+ SYSTEM_PROPERTY_ID);
// ----- Constructors ------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java
index 8c39fc4..5af2acc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java
@@ -119,7 +119,7 @@ public class WidgetLayoutResourceProvider extends AbstractControllerResourceProv
*
*/
public WidgetLayoutResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Type.WidgetLayout, 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/WidgetResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
index 03fd5d2..89a5aa4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java
@@ -123,7 +123,7 @@ public class WidgetResourceProvider extends AbstractControllerResourceProvider {
*
*/
public WidgetResourceProvider(AmbariManagementController managementController) {
- super(propertyIds, keyPropertyIds, managementController);
+ super(Type.Widget, 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/WorkflowResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WorkflowResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WorkflowResourceProvider.java
index 13cb8a4..af1085f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WorkflowResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WorkflowResourceProvider.java
@@ -22,7 +22,6 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -45,6 +44,9 @@ import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Sets;
+
/**
* Resource provider for workflow resources.
*/
@@ -79,22 +81,38 @@ public class WorkflowResourceProvider extends
protected static final String WORKFLOW_CONTEXT_PROPERTY_ID = PropertyHelper
.getPropertyId("Workflow", "context");
- private static final Set<String> pkPropertyIds = new HashSet<>(
- Arrays.asList(new String[]{WORKFLOW_CLUSTER_NAME_PROPERTY_ID,
- WORKFLOW_ID_PROPERTY_ID}));
-
protected WorkflowFetcher workflowFetcher;
/**
+ * The key property ids for a Workflow resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Type.Cluster, WORKFLOW_CLUSTER_NAME_PROPERTY_ID)
+ .put(Type.Workflow, WORKFLOW_ID_PROPERTY_ID)
+ .build();
+
+ /**
+ * The property ids for a Workflow resource.
+ */
+ private static Set<String> propertyIds = Sets.newHashSet(
+ WORKFLOW_CLUSTER_NAME_PROPERTY_ID,
+ WORKFLOW_ID_PROPERTY_ID,
+ WORKFLOW_NAME_PROPERTY_ID,
+ WORKFLOW_USER_NAME_PROPERTY_ID,
+ WORKFLOW_START_TIME_PROPERTY_ID,
+ WORKFLOW_LAST_UPDATE_TIME_PROPERTY_ID,
+ WORKFLOW_ELAPSED_TIME_PROPERTY_ID,
+ WORKFLOW_INPUT_BYTES_PROPERTY_ID,
+ WORKFLOW_OUTPUT_BYTES_PROPERTY_ID,
+ WORKFLOW_NUM_JOBS_TOTAL_PROPERTY_ID,
+ WORKFLOW_NUM_JOBS_COMPLETED_PROPERTY_ID,
+ WORKFLOW_PARENT_ID_PROPERTY_ID,
+ WORKFLOW_CONTEXT_PROPERTY_ID);
+
+ /**
* Create a new workflow resource provider.
- *
- * @param propertyIds
- * the property ids
- * @param keyPropertyIds
- * the key property ids
*/
- protected WorkflowResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds) {
+ protected WorkflowResourceProvider() {
super(propertyIds, keyPropertyIds);
this.workflowFetcher = new PostgresWorkflowFetcher(
new JobHistoryPostgresConnectionFactory());
@@ -103,15 +121,10 @@ public class WorkflowResourceProvider extends
/**
* Create a new workflow resource provider.
*
- * @param propertyIds
- * the property ids
- * @param keyPropertyIds
- * the key property ids
* @param workflowFetcher
* workflow fetcher
*/
- protected WorkflowResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds, WorkflowFetcher workflowFetcher) {
+ protected WorkflowResourceProvider(WorkflowFetcher workflowFetcher) {
super(propertyIds, keyPropertyIds);
this.workflowFetcher = workflowFetcher;
}
@@ -159,14 +172,11 @@ public class WorkflowResourceProvider extends
@Override
protected Set<String> getPKPropertyIds() {
- return pkPropertyIds;
+ return new HashSet<>(keyPropertyIds.values());
}
@Override
public Map<Type,String> getKeyPropertyIds() {
- Map<Type,String> keyPropertyIds = new HashMap<>();
- keyPropertyIds.put(Type.Cluster, WORKFLOW_CLUSTER_NAME_PROPERTY_ID);
- keyPropertyIds.put(Type.Workflow, WORKFLOW_ID_PROPERTY_ID);
return keyPropertyIds;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
index 8939780..a63983c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/PropertyHelper.java
@@ -44,11 +44,9 @@ import org.codehaus.jackson.type.TypeReference;
*/
public class PropertyHelper {
- private static final String PROPERTIES_FILE = "properties.json";
private static final String GANGLIA_PROPERTIES_FILE = "ganglia_properties.json";
private static final String SQLSERVER_PROPERTIES_FILE = "sqlserver_properties.json";
private static final String JMX_PROPERTIES_FILE = "jmx_properties.json";
- private static final String KEY_PROPERTIES_FILE = "key_properties.json";
public static final char EXTERNAL_PATH_SEP = '/';
/**
@@ -60,11 +58,11 @@ public class PropertyHelper {
private static final List<Resource.InternalType> REPORT_METRIC_RESOURCES =
Arrays.asList(Resource.InternalType.Cluster, Resource.InternalType.Host);
- private static final Map<Resource.InternalType, Set<String>> PROPERTY_IDS = readPropertyIds(PROPERTIES_FILE);
+ private static final Map<Resource.InternalType, Set<String>> PROPERTY_IDS = new HashMap<>();
private static final Map<Resource.InternalType, Map<String, Map<String, PropertyInfo>>> JMX_PROPERTY_IDS = readPropertyProviderIds(JMX_PROPERTIES_FILE);
private static final Map<Resource.InternalType, Map<String, Map<String, PropertyInfo>>> GANGLIA_PROPERTY_IDS = readPropertyProviderIds(GANGLIA_PROPERTIES_FILE);
private static final Map<Resource.InternalType, Map<String, Map<String, PropertyInfo>>> SQLSERVER_PROPERTY_IDS = readPropertyProviderIds(SQLSERVER_PROPERTIES_FILE);
- private static final Map<Resource.InternalType, Map<Resource.Type, String>> KEY_PROPERTY_IDS = readKeyPropertyIds(KEY_PROPERTIES_FILE);
+ private static final Map<Resource.InternalType, Map<Resource.Type, String>> KEY_PROPERTY_IDS = new HashMap<>();
// Suffixes to add for Namenode rpc metrics prefixes
private static final Map<String, List<String>> RPC_METRIC_SUFFIXES = new HashMap<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
index 5c5801d..6cd7059 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
@@ -139,8 +139,6 @@ public class AmbariMetricSinkImpl extends AbstractTimelineMetricsSink implements
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
ambariManagementController);
try {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/resources/key_properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/key_properties.json b/ambari-server/src/main/resources/key_properties.json
deleted file mode 100644
index 5d76062..0000000
--- a/ambari-server/src/main/resources/key_properties.json
+++ /dev/null
@@ -1,161 +0,0 @@
-{
- "Cluster": {
- "Cluster": "Clusters/cluster_name"
- },
- "Host": {
- "Cluster": "Hosts/cluster_name",
- "Host": "Hosts/host_name"
- },
- "HostComponent": {
- "Cluster": "HostRoles/cluster_name",
- "Host": "HostRoles/host_name",
- "HostComponent": "HostRoles/component_name",
- "Component": "HostRoles/component_name"
- },
- "Action": {
- "Action": "Actions/action_name"
- },
- "Request": {
- "Cluster": "Requests/cluster_name",
- "Request": "Requests/id"
- },
- "Task": {
- "Cluster": "Tasks/cluster_name",
- "Request": "Tasks/request_id",
- "Upgrade": "Tasks/request_id",
- "Stage": "Tasks/stage_id",
- "UpgradeItem": "Tasks/stage_id",
- "Task": "Tasks/id"
- },
- "User": {
- "User": "Users/user_name"
- },
- "Group": {
- "Group": "Groups/group_name"
- },
- "Member": {
- "Group": "MemberInfo/group_name",
- "Member": "MemberInfo/user_name"
- },
- "Stack": {
- "Stack": "Stacks/stack_name"
- },
- "StackVersion": {
- "Stack": "Versions/stack_name",
- "StackVersion": "Versions/stack_version"
- },
- "StackService": {
- "Stack": "StackServices/stack_name",
- "StackVersion": "StackServices/stack_version",
- "StackService": "StackServices/service_name"
- },
- "StackConfiguration": {
- "Stack": "StackConfigurations/stack_name",
- "StackVersion": "StackConfigurations/stack_version",
- "StackService": "StackConfigurations/service_name",
- "StackConfiguration": "StackConfigurations/property_name"
- },
- "StackConfigurationDependency": {
- "Stack": "StackConfigurationDependency/stack_name",
- "StackVersion": "StackConfigurationDependency/stack_version",
- "StackService": "StackConfigurationDependency/service_name",
- "StackConfiguration": "StackConfigurationDependency/property_name",
- "StackLevelConfiguration": "StackConfigurationDependency/property_name",
- "StackConfigurationDependency": "StackConfigurationDependency/dependency_name"
- },
- "StackServiceComponent": {
- "Stack": "StackServiceComponents/stack_name",
- "StackVersion": "StackServiceComponents/stack_version",
- "StackService": "StackServiceComponents/service_name",
- "StackServiceComponent": "StackServiceComponents/component_name"
- },
- "StackServiceComponentDependency": {
- "Stack": "Dependencies/stack_name",
- "StackVersion": "Dependencies/stack_version",
- "StackService": "Dependencies/dependent_service_name",
- "StackServiceComponent": "Dependencies/dependent_component_name",
- "StackServiceComponentDependency": "Dependencies/component_name"
- },
- "ExtensionLink": {
- "ExtensionLink": "ExtensionLink/link_id",
- "Stack": "ExtensionLink/stack_name",
- "StackVersion": "ExtensionLink/stack_version",
- "Extension": "ExtensionLink/extension_name",
- "ExtensionVersion": "ExtensionLink/extension_version"
- },
- "Extension": {
- "Extension": "Extensions/extension_name"
- },
- "ExtensionVersion": {
- "Extension": "Versions/extension_name",
- "ExtensionVersion": "Versions/extension_version"
- },
- "DRFeed": {
- "DRFeed": "Feed/name"
- },
- "DRTargetCluster": {
- "DRTargetCluster": "Cluster/name"
- },
- "DRInstance": {
- "DRFeed": "Instance/feedName",
- "DRInstance": "Instance/id"
- },
- "RootService": {
- "RootService": "RootService/service_name"
- },
- "RootServiceComponent": {
- "RootService": "RootServiceComponents/service_name",
- "RootServiceComponent": "RootServiceComponents/component_name"
- },
- "RootServiceHostComponent": {
- "RootService": "RootServiceHostComponents/service_name",
- "Host": "RootServiceHostComponents/host_name",
- "RootServiceComponent": "RootServiceHostComponents/component_name",
- "RootServiceHostComponent": "RootServiceHostComponents/component_name"
- },
- "ConfigGroup": {
- "Cluster": "ConfigGroup/cluster_name",
- "ConfigGroup": "ConfigGroup/id"
- },
- "RequestSchedule" : {
- "Cluster": "RequestSchedule/cluster_name",
- "RequestSchedule": "RequestSchedule/id"
- },
- "Blueprint": {
- "Blueprint": "Blueprints/blueprint_name"
- },
- "Recommendation": {
- "Recommendation": "Recommendation/id",
- "Stack": "Versions/stack_name",
- "StackVersion": "Versions/stack_version"
- },
- "Validation": {
- "Validation": "Validation/id",
- "Stack": "Versions/stack_name",
- "StackVersion": "Versions/stack_version"
- },
- "HostComponentProcess": {
- "Cluster": "HostComponentProcess/cluster_name",
- "Host": "HostComponentProcess/host_name",
- "Component": "HostComponentProcess/component_name",
- "HostComponent": "HostComponentProcess/component_name",
- "HostComponentProcess": "HostComponentProcess/name"
- },
- "ClientConfig": {
- "Cluster": "ServiceComponentInfo/cluster_name",
- "Service": "ServiceComponentInfo/service_name",
- "Component": "ServiceComponentInfo/component_name",
- "Host": "HostRoles/host_name"
- },
- "StackLevelConfiguration": {
- "Stack": "StackLevelConfigurations/stack_name",
- "StackVersion": "StackLevelConfigurations/stack_version",
- "StackLevelConfiguration": "StackLevelConfigurations/property_name"
- },
- "KerberosDescriptor": {
- "KerberosDescriptor": "KerberosDescriptors/kerberos_descriptor_name"
- },
- "LoggingQuery": {
- "Cluster" : "logging/cluster_name"
- }
-}
[13/13] ambari git commit: Merge branch 'trunk' into
branch-feature-AMBARI-20859
Posted by rl...@apache.org.
Merge branch 'trunk' into branch-feature-AMBARI-20859
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/de4deaf0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/de4deaf0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/de4deaf0
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: de4deaf0b04f69692c5226c31ad11deb228b367c
Parents: b6cf432 c7cc560
Author: Robert Levas <rl...@hortonworks.com>
Authored: Mon Dec 4 18:23:25 2017 -0500
Committer: Robert Levas <rl...@hortonworks.com>
Committed: Mon Dec 4 18:23:25 2017 -0500
----------------------------------------------------------------------
...xternalServerAuthenticationProviderTest.java | 1 -
.../controller/ResourceProviderFactory.java | 17 +-
.../AbstractAuthorizedResourceProvider.java | 12 +-
.../AbstractControllerResourceProvider.java | 81 +-
.../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 | 23 +-
.../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 -
.../KAFKA/0.10.0/configuration/kafka-broker.xml | 2 +-
.../src/main/resources/key_properties.json | 161 ----
.../src/main/resources/properties.json | 476 ------------
.../HDP/2.0.6/properties/stack_packages.json | 10 +-
.../2.6/services/TEZ/configuration/tez-site.xml | 8 +
.../HDP/3.0/properties/stack_packages.json | 9 -
.../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 +-
.../ValidationResourceProviderTest.java | 3 +-
.../internal/WorkflowResourceProviderTest.java | 30 +-
ambari-web/app/assets/test/tests.js | 2 +-
.../controllers/main/service/info/configs.js | 5 +
ambari-web/app/data/db_properties_info.js | 15 +-
ambari-web/app/messages.js | 6 +-
.../mixins/common/configs/configs_comparator.js | 6 +-
ambari-web/app/styles/application.less | 24 +-
ambari-web/app/styles/bootstrap_overrides.less | 2 +-
ambari-web/app/styles/config_history_flow.less | 414 ----------
.../app/styles/config_versions_control.less | 144 ++++
ambari-web/app/styles/widgets.less | 7 +-
.../configs/config_history_dropdown_row.hbs | 24 -
.../common/configs/config_history_flow.hbs | 148 ----
.../common/configs/config_versions_control.hbs | 42 ++
.../common/configs/config_versions_dropdown.hbs | 69 ++
.../templates/common/configs/service_config.hbs | 97 ++-
ambari-web/app/views.js | 3 +-
.../views/common/configs/config_history_flow.js | 644 ----------------
.../configs/config_versions_control_view.js | 235 ++++++
.../configs/config_versions_dropdown_view.js | 52 ++
.../views/common/configs/service_config_view.js | 66 ++
ambari-web/app/views/common/controls_view.js | 5 +-
.../common/configs/config_history_flow_test.js | 756 -------------------
.../config_versions_control_view_test.js | 152 ++++
.../common/configs/service_config_view_test.js | 52 +-
.../test/views/common/controls_view_test.js | 46 +-
.../host_progress_popup_body_view_test.js | 9 +-
171 files changed, 2407 insertions(+), 4025 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/de4deaf0/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java
----------------------------------------------------------------------
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java
index 523e21c,5b4967d..5849212
--- 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
@@@ -49,15 -42,8 +42,14 @@@ public interface ResourceProviderFactor
ResourceProvider getComponentResourceProvider(AmbariManagementController managementController);
@Named("member")
- ResourceProvider getMemberResourceProvider(Set<String> propertyIds, Map<Type, String> keyPropertyIds,
- AmbariManagementController managementController);
+ ResourceProvider getMemberResourceProvider(AmbariManagementController managementController);
+ @Named("user")
+ ResourceProvider getUserResourceProvider(AmbariManagementController managementController);
+
+ @Named("userAuthenticationSource")
+ ResourceProvider getUserAuthenticationSourceResourceProvider();
+
@Named("hostKerberosIdentity")
ResourceProvider getHostKerberosIdentityResourceProvider(AmbariManagementController managementController);
http://git-wip-us.apache.org/repos/asf/ambari/blob/de4deaf0/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
----------------------------------------------------------------------
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
index a0a6eb1,f5e61ef..15006b0
--- 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
@@@ -165,19 -146,17 +146,19 @@@ public abstract class AbstractControlle
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(managementController);
+ return resourceProviderFactory.getUserResourceProvider(managementController);
+ case UserAuthenticationSource:
+ return resourceProviderFactory.getUserAuthenticationSourceResourceProvider();
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:
http://git-wip-us.apache.org/repos/asf/ambari/blob/de4deaf0/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/de4deaf0/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/de4deaf0/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
----------------------------------------------------------------------
diff --cc ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
index 90effac,f0709aa..6c26c9d
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserResourceProvider.java
@@@ -58,10 -44,7 +58,10 @@@ import org.slf4j.Logger
import org.slf4j.LoggerFactory;
import com.google.common.collect.ImmutableMap;
- import com.google.common.collect.ImmutableSet;
+ import com.google.common.collect.Sets;
+import com.google.inject.Inject;
+import com.google.inject.assistedinject.Assisted;
+import com.google.inject.assistedinject.AssistedInject;
/**
* Resource provider for user resources.
@@@ -72,80 -55,40 +72,81 @@@ public class UserResourceProvider exten
// ----- Property ID constants ---------------------------------------------
+ public static final String USER_RESOURCE_CATEGORY = "Users";
+
// Users
- public static final String USER_USERNAME_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "user_name");
- public static final String USER_PASSWORD_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "password");
- public static final String USER_OLD_PASSWORD_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "old_password");
- public static final String USER_LDAP_USER_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "ldap_user");
- public static final String USER_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "user_type");
- public static final String USER_ACTIVE_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "active");
- public static final String USER_GROUPS_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "groups");
- public static final String USER_ADMIN_PROPERTY_ID = PropertyHelper.getPropertyId("Users", "admin");
+ public static final String USERNAME_PROPERTY_ID = "user_name";
+ public static final String DISPLAY_NAME_PROPERTY_ID = "display_name";
+ public static final String LOCAL_USERNAME_PROPERTY_ID = "local_user_name";
+ public static final String ACTIVE_PROPERTY_ID = "active";
+ public static final String CREATE_TIME_PROPERTY_ID = "created";
+ public static final String CONSECUTIVE_FAILURES_PROPERTY_ID = "consecutive_failures";
+ public static final String ADMIN_PROPERTY_ID = "admin";
+ public static final String GROUPS_PROPERTY_ID = "groups";
+
+ public static final String USER_USERNAME_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + USERNAME_PROPERTY_ID;
+ public static final String USER_DISPLAY_NAME_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + DISPLAY_NAME_PROPERTY_ID;
+ public static final String USER_LOCAL_USERNAME_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + LOCAL_USERNAME_PROPERTY_ID;
+ public static final String USER_ACTIVE_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + ACTIVE_PROPERTY_ID;
+ public static final String USER_CREATE_TIME_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + CREATE_TIME_PROPERTY_ID;
+ public static final String USER_CONSECUTIVE_FAILURES_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + CONSECUTIVE_FAILURES_PROPERTY_ID;
+ public static final String USER_ADMIN_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + ADMIN_PROPERTY_ID;
+ public static final String USER_GROUPS_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + GROUPS_PROPERTY_ID;
+
+ /* *******************************************************
+ * Deprecated properties, kept for backwards compatibility and to maintain API V1 contract.
+ * These properties are related to a user's authentication resource.
+ * ******************************************************* */
+ @Deprecated
+ public static final String PASSWORD_PROPERTY_ID = "password";
+ @Deprecated
+ public static final String OLD_PASSWORD_PROPERTY_ID = "old_password";
+ @Deprecated
+ public static final String LDAP_USER_PROPERTY_ID = "ldap_user";
+ @Deprecated
+ public static final String USER_TYPE_PROPERTY_ID = "user_type";
+
+ @Deprecated
+ public static final String USER_PASSWORD_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + PASSWORD_PROPERTY_ID;
+ @Deprecated
+ public static final String USER_OLD_PASSWORD_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + OLD_PASSWORD_PROPERTY_ID;
+ @Deprecated
+ public static final String USER_LDAP_USER_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + LDAP_USER_PROPERTY_ID;
+ @Deprecated
+ public static final String USER_USER_TYPE_PROPERTY_ID = USER_RESOURCE_CATEGORY + "/" + USER_TYPE_PROPERTY_ID;
+ /* ******************************************************* */
- private static final Set<String> PK_PROPERTY_IDS = ImmutableSet.of(
- USER_USERNAME_PROPERTY_ID
- );
- private static final Set<String> PROPERTY_IDS = ImmutableSet.of(
+ /**
+ * The key property ids for a User resource.
+ */
+ private static Map<Resource.Type, String> keyPropertyIds = ImmutableMap.<Resource.Type, String>builder()
+ .put(Resource.Type.User, USER_USERNAME_PROPERTY_ID)
+ .build();
+
- /**
- * The property ids for a User resource.
- */
+ private static Set<String> propertyIds = Sets.newHashSet(
USER_USERNAME_PROPERTY_ID,
+ USER_DISPLAY_NAME_PROPERTY_ID,
+ USER_LOCAL_USERNAME_PROPERTY_ID,
+ USER_ACTIVE_PROPERTY_ID,
+ USER_CREATE_TIME_PROPERTY_ID,
+ USER_CONSECUTIVE_FAILURES_PROPERTY_ID,
+ USER_GROUPS_PROPERTY_ID,
USER_PASSWORD_PROPERTY_ID,
USER_OLD_PASSWORD_PROPERTY_ID,
USER_LDAP_USER_PROPERTY_ID,
- USER_TYPE_PROPERTY_ID,
- USER_ACTIVE_PROPERTY_ID,
- USER_GROUPS_PROPERTY_ID,
- USER_ADMIN_PROPERTY_ID);
+ USER_USER_TYPE_PROPERTY_ID,
+ USER_ADMIN_PROPERTY_ID
+ );
- private static final Map<Resource.Type, String> KEY_PROPERTY_IDS = ImmutableMap.of(
- Resource.Type.User, USER_USERNAME_PROPERTY_ID
- );
+
+ @Inject
+ private Users users;
+
/**
* Create a new resource provider for the given management controller.
*/
- UserResourceProvider(AmbariManagementController managementController) {
+ @AssistedInject
+ UserResourceProvider(@Assisted AmbariManagementController managementController) {
- super(Resource.Type.User, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
+ super(Resource.Type.User, propertyIds, keyPropertyIds, managementController);
setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_USERS));
setRequiredDeleteAuthorizations(EnumSet.of(RoleAuthorization.AMBARI_MANAGE_USERS));
@@@ -337,348 -260,6 +338,346 @@@
request.setAdmin(Boolean.valueOf(properties.get(USER_ADMIN_PROPERTY_ID).toString()));
}
+ if (null != properties.get(USER_CONSECUTIVE_FAILURES_PROPERTY_ID)) {
+ request.setConsecutiveFailures(Integer.parseInt(properties.get(USER_CONSECUTIVE_FAILURES_PROPERTY_ID).toString()));
+ }
+
return request;
}
+
+
+ /**
+ * Creates users.
+ *
+ * @param requests the request objects which define the user.
+ * @throws AmbariException when the user cannot be created.
+ */
+ private void createUsers(Set<UserRequest> requests) throws AmbariException, ResourceAlreadyExistsException, AuthorizationException {
+ // First check for obvious issues... then try to create the accounts. This will help to avoid
+ // some accounts being created and some not due to an issue with one or more of the users.
+ for (UserRequest request : requests) {
+ String username = request.getUsername();
+
+ if (StringUtils.isEmpty(username)) {
+ throw new AmbariException("Username must be supplied.");
+ }
+
+ if (users.getUser(username) != null) {
+ String message;
+ if (requests.size() == 1) {
+ message = "The requested username already exists.";
+ } else {
+ message = "One or more of the requested usernames already exists.";
+ }
+ throw new ResourceAlreadyExistsException(message);
+ }
+ }
+
+ for (UserRequest request : requests) {
+ String username = request.getUsername();
+ String displayName = StringUtils.defaultIfEmpty(request.getDisplayName(), username);
+ String localUserName = StringUtils.defaultIfEmpty(request.getLocalUserName(), username);
+
+ UserEntity userEntity = users.createUser(username, localUserName, displayName, request.isActive());
+ if (userEntity != null) {
+ if (Boolean.TRUE.equals(request.isAdmin())) {
+ users.grantAdminPrivilege(userEntity);
+ }
+
+ // Setting a user's the password here is to allow for backward compatibility with pre-Ambari-3.0
+ // versions so that the contract for REST API V1 is maintained.
+ if (!StringUtils.isEmpty(request.getPassword())) {
+ // This is performed as a user administrator since the authorization check was done prior
+ // to executing #createResourcesAuthorized.
+ addOrUpdateLocalAuthenticationSource(true, userEntity, request.getPassword(), null);
+ }
+ }
+ }
+ }
+
+ /**
+ * Updates the users specified.
+ *
+ * @param requests the users to modify
+ * @throws AmbariException if the resources cannot be updated
+ * @throws IllegalArgumentException if the authenticated user is not authorized to update all of
+ * the requested properties
+ */
+ private void updateUsers(Set<UserRequest> requests) throws AmbariException, AuthorizationException {
+ boolean asUserAdministrator = AuthorizationHelper.isAuthorized(ResourceType.AMBARI, null,
+ RoleAuthorization.AMBARI_MANAGE_USERS);
+ String authenticatedUsername = AuthorizationHelper.getAuthenticatedName();
+
+ for (final UserRequest request : requests) {
+ String requestedUsername = request.getUsername();
+
+ // An administrator can modify any user, else a user can only modify themself.
+ if (!asUserAdministrator && (!authenticatedUsername.equalsIgnoreCase(requestedUsername))) {
+ throw new AuthorizationException();
+ }
+
+ UserEntity userEntity = users.getUserEntity(requestedUsername);
+ if (null == userEntity) {// Only an user with the privs to manage users can update a user's active status
+ continue;
+ }
+
+ boolean hasUpdates = false;
+ if (isValueChanged(request.isActive(), userEntity.getActive())) {
+ // If this value is being set, make sure the authenticated user is an administrator before
+ // allowing to change it. Only administrators should be able to change a user's active state
+ if (!asUserAdministrator) {
+ throw new AuthorizationException("The authenticated user is not authorized to update the requested user's active property");
+ }
+
+ hasUpdates = true;
+ }
+
+ // Only an user with the privs to manage users can update a user's local username
+ if (isValueChanged(request.getLocalUserName(), userEntity.getLocalUsername())) {
+ // If this value is being set, make sure the authenticated user is an administrator before
+ // allowing to change it. Only administrators should be able to change a user's active state
+ if (!asUserAdministrator) {
+ throw new AuthorizationException("The authenticated user is not authorized to update the requested user's local username property");
+ }
+
+ hasUpdates = true;
+ }
+
+ hasUpdates = hasUpdates || isValueChanged(request.getDisplayName(), userEntity.getDisplayName());
+
+ if (hasUpdates) {
+ users.safelyUpdateUserEntity(userEntity,
+ new Users.Command() {
+ @Override
+ public void perform(UserEntity userEntity) {
+ if (isValueChanged(request.isActive(), userEntity.getActive())) {
+ userEntity.setActive(request.isActive());
+ }
+
+ if (isValueChanged(request.getLocalUserName(), userEntity.getLocalUsername())) {
+ userEntity.setLocalUsername(request.getLocalUserName());
+ }
+
+ if (isValueChanged(request.getDisplayName(), userEntity.getDisplayName())) {
+ userEntity.setDisplayName(request.getDisplayName());
+ }
+ }
+ });
+ }
+
+ // Only an user with the privs to manage users can update a user's roles
+ if (null != request.isAdmin()) {
+ // If this value is being set, make sure the authenticated user is an administrator before
+ // allowing to change it. Only administrators should be able to change a user's administrative
+ // privileges
+ if (!asUserAdministrator) {
+ throw new AuthorizationException("The authenticated user is not authorized to update the requested resource property");
+ }
+
+ if (request.isAdmin()) {
+ users.grantAdminPrivilege(userEntity);
+ } else {
+ users.revokeAdminPrivilege(userEntity);
+ }
+ }
+
+ // Setting/Changing a user's password here is for backward compatibility to maintain API V1 contract
+ if (request.getPassword() != null) {
+ addOrUpdateLocalAuthenticationSource(asUserAdministrator, userEntity, request.getPassword(), request.getOldPassword());
+ }
+
+ if (request.getConsecutiveFailures() != null) {
+ if (!asUserAdministrator) {
+ throw new AuthorizationException("The authenticated user is not authorized to update the requested resource property");
+ }
+ users.safelyUpdateUserEntity(userEntity, user -> user.setConsecutiveFailures(request.getConsecutiveFailures()));
+ }
+ }
+ }
+
+ /**
+ * Adds to updates a user's local authentication source by issuing a call to the {@link UserAuthenticationSourceResourceProvider}.
+ * <p>
+ * This is for backward compatibility to maintain the contract for Ambari's REST API version V1.
+ *
+ * @param asUserAdministrator true if the authenticated user have privs to manage user; false otherwise
+ * @param subjectUserEntity the user to update
+ * @param password the password to set, it is expected that this value is not <code>null</code>
+ * @param oldPassword the old/current password to use for verification is needed, this value may be <code>null</code>
+ */
+ private void addOrUpdateLocalAuthenticationSource(boolean asUserAdministrator, UserEntity subjectUserEntity, String password, String oldPassword)
+ throws AuthorizationException, AmbariException {
+ ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(Resource.Type.UserAuthenticationSource,
- PropertyHelper.getPropertyIds(Resource.Type.UserAuthenticationSource),
- PropertyHelper.getKeyPropertyIds(Resource.Type.UserAuthenticationSource),
+ getManagementController());
+
+ if (provider != null) {
+ // Determine if the user already has an LOCAL authentication source setup...
+ UserAuthenticationEntity userAuthenticationEntity = null;
+ List<UserAuthenticationEntity> authenticationEntities = subjectUserEntity.getAuthenticationEntities();
+ for (UserAuthenticationEntity authenticationEntity : authenticationEntities) {
+ if (authenticationEntity.getAuthenticationType() == UserAuthenticationType.LOCAL) {
+ userAuthenticationEntity = authenticationEntity;
+ break;
+ }
+ }
+ if (userAuthenticationEntity == null) {
+ // a new authentication source needs to be create... only a privileged user can do this...
+ if (!asUserAdministrator) {
+ throw new AuthorizationException("The authenticated user is not authorized to create a local authentication source.");
+ } else {
+ Set<Map<String, Object>> propertiesSet = new HashSet<>();
+ Map<String, Object> properties;
+ properties = new LinkedHashMap<>();
+ properties.put(UserAuthenticationSourceResourceProvider.AUTHENTICATION_USER_NAME_PROPERTY_ID, subjectUserEntity.getUserName());
+ properties.put(UserAuthenticationSourceResourceProvider.AUTHENTICATION_AUTHENTICATION_TYPE_PROPERTY_ID, UserAuthenticationType.LOCAL.name());
+ properties.put(UserAuthenticationSourceResourceProvider.AUTHENTICATION_KEY_PROPERTY_ID, password);
+ propertiesSet.add(properties);
+
+ try {
+ provider.createResources(PropertyHelper.getCreateRequest(propertiesSet, null));
+ } catch (Exception e) {
+ throw new AmbariException(e.getMessage(), e);
+ }
+ }
+ } else {
+ Map<String, Object> properties = new LinkedHashMap<>();
+ properties.put(UserAuthenticationSourceResourceProvider.AUTHENTICATION_OLD_KEY_PROPERTY_ID, oldPassword);
+ properties.put(UserAuthenticationSourceResourceProvider.AUTHENTICATION_KEY_PROPERTY_ID, password);
+
+ Predicate predicate1 = new PredicateBuilder()
+ .property(UserAuthenticationSourceResourceProvider.AUTHENTICATION_USER_NAME_PROPERTY_ID)
+ .equals(subjectUserEntity.getUserName())
+ .toPredicate();
+ Predicate predicate2 = new PredicateBuilder()
+ .property(UserAuthenticationSourceResourceProvider.AUTHENTICATION_AUTHENTICATION_SOURCE_ID_PROPERTY_ID)
+ .equals(userAuthenticationEntity.getUserAuthenticationId())
+ .toPredicate();
+
+ try {
+ provider.updateResources(PropertyHelper.getUpdateRequest(properties, null), new AndPredicate(predicate1, predicate2));
+ } catch (Exception e) {
+ throw new AmbariException(e.getMessage(), e);
+ }
+ }
+ }
+ }
+
+ private boolean isValueChanged(Object newValue, Object currentValue) {
+ return (newValue != null) && !newValue.equals(currentValue);
+ }
+
+ /**
+ * Deletes the users specified.
+ *
+ * @param requests the users to delete
+ * @throws AmbariException if the resources cannot be deleted
+ */
+ private void deleteUsers(Set<UserRequest> requests)
+ throws AmbariException {
+
+ for (UserRequest r : requests) {
+ String username = r.getUsername();
+ if (!StringUtils.isEmpty(username)) {
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Received a delete user request, username= {}", username);
+ }
+
+ users.removeUser(users.getUserEntity(username));
+ }
+ }
+ }
+
+ /**
+ * Gets the users identified by the given request objects.
+ *
+ * @param requests the request objects
+ * @return a set of user responses
+ * @throws AmbariException if the users could not be read
+ */
+ private Set<UserResponse> getUsers(Set<UserRequest> requests)
+ throws AmbariException, AuthorizationException {
+
+ Set<UserResponse> responses = new HashSet<>();
+
+ for (UserRequest r : requests) {
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Received a getUsers request, userRequest={}", r.toString());
+ }
+
+ String requestedUsername = r.getUsername();
+ String authenticatedUsername = AuthorizationHelper.getAuthenticatedName();
+
+ // A user resource may be retrieved by an administrator or the same user.
+ if (!AuthorizationHelper.isAuthorized(ResourceType.AMBARI, null, RoleAuthorization.AMBARI_MANAGE_USERS)) {
+ if (null == requestedUsername) {
+ // Since the authenticated user is not the administrator, force only that user's resource
+ // to be returned
+ requestedUsername = authenticatedUsername;
+ } else if (!requestedUsername.equalsIgnoreCase(authenticatedUsername)) {
+ // Since the authenticated user is not the administrator and is asking for a different user,
+ // throw an AuthorizationException
+ throw new AuthorizationException();
+ }
+ }
+
+ // get them all
+ if (null == requestedUsername) {
+ for (UserEntity u : users.getAllUserEntities()) {
+ responses.add(createUserResponse(u));
+ }
+ } else {
+
+ UserEntity u = users.getUserEntity(requestedUsername);
+ if (null == u) {
+ if (requests.size() == 1) {
+ // only throw exceptin if there is a single request
+ // if there are multiple requests, this indicates an OR predicate
+ throw new ObjectNotFoundException("Cannot find user '"
+ + requestedUsername + "'");
+ }
+ } else {
+ responses.add(createUserResponse(u));
+ }
+ }
+ }
+
+ return responses;
+ }
+
+ private UserResponse createUserResponse(UserEntity userEntity) {
+ List<UserAuthenticationEntity> authenticationEntities = userEntity.getAuthenticationEntities();
+ boolean isLdapUser = false;
+ UserAuthenticationType userType = UserAuthenticationType.LOCAL;
+
+ for (UserAuthenticationEntity authenticationEntity : authenticationEntities) {
+ if (authenticationEntity.getAuthenticationType() == UserAuthenticationType.LDAP) {
+ isLdapUser = true;
+ userType = UserAuthenticationType.LDAP;
+ } else if (authenticationEntity.getAuthenticationType() == UserAuthenticationType.PAM) {
+ userType = UserAuthenticationType.PAM;
+ }
+ }
+
+ Set<String> groups = new HashSet<>();
+ for (MemberEntity memberEntity : userEntity.getMemberEntities()) {
+ groups.add(memberEntity.getGroup().getGroupName());
+ }
+
+ boolean isAdmin = users.hasAdminPrivilege(userEntity);
+
+ UserResponse userResponse = new UserResponse(userEntity.getUserName(),
+ userEntity.getDisplayName(),
+ userEntity.getLocalUsername(),
+ userType,
+ isLdapUser,
+ userEntity.getActive(),
+ isAdmin,
+ userEntity.getConsecutiveFailures(),
+ userEntity.getCreateTime());
+ userResponse.setGroups(groups);
+ return userResponse;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/de4deaf0/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
----------------------------------------------------------------------
[05/13] ambari git commit: AMBARI-22353. Remove properties.json And
Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
Posted by rl...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
deleted file mode 100644
index 1d12f83..0000000
--- a/ambari-server/src/main/resources/properties.json
+++ /dev/null
@@ -1,487 +0,0 @@
-{
- "Cluster":[
- "Clusters/cluster_id",
- "Clusters/cluster_name",
- "Clusters/provisioning_state",
- "Clusters/security_type",
- "Clusters/version",
- "Clusters/state",
- "Clusters/desired_configs",
- "Clusters/desired_service_config_versions",
- "Clusters/total_hosts",
- "Clusters/health_report",
- "_"
- ],
- "Host":[
- "Hosts/cluster_name",
- "Hosts/host_name",
- "Hosts/ip",
- "Hosts/attributes",
- "Hosts/total_mem",
- "Hosts/cpu_count",
- "Hosts/ph_cpu_count",
- "Hosts/os_arch",
- "Hosts/os_type",
- "Hosts/os_family",
- "Hosts/rack_info",
- "Hosts/last_heartbeat_time",
- "Hosts/last_agent_env",
- "Hosts/last_registration_time",
- "Hosts/disk_info",
- "Hosts/host_status",
- "Hosts/host_health_report",
- "Hosts/public_host_name",
- "Hosts/host_state",
- "Hosts/maintenance_state",
- "Hosts/desired_configs",
- "Hosts/recovery_report",
- "Hosts/recovery_summary",
- "_"
- ],
- "HostComponent":[
- "HostRoles/role_id",
- "HostRoles/cluster_name",
- "HostRoles/host_name",
- "HostRoles/public_host_name",
- "HostRoles/component_name",
- "HostRoles/display_name",
- "HostRoles/state",
- "HostRoles/desired_state",
- "HostRoles/version",
- "HostRoles/desired_stack_id",
- "HostRoles/desired_repository_version",
- "HostRoles/actual_configs",
- "params/run_smoke_test",
- "HostRoles/stale_configs",
- "HostRoles/reload_configs",
- "HostRoles/desired_admin_state",
- "HostRoles/maintenance_state",
- "HostRoles/service_name",
- "HostRoles/upgrade_state",
- "_"
- ],
- "ConfigGroup": [
- "ConfigGroup/id",
- "ConfigGroup/cluster_name",
- "ConfigGroup/group_name",
- "ConfigGroup/service_name",
- "ConfigGroup/tag",
- "ConfigGroup/description",
- "ConfigGroup/hosts",
- "ConfigGroup/desired_configs"
- ],
- "Action":[
- "Actions/action_name",
- "Actions/action_type",
- "Actions/inputs",
- "Actions/target_service",
- "Actions/target_component",
- "Actions/description",
- "Actions/target_type",
- "Actions/default_timeout",
- "_"
- ],
- "Request":[
- "Requests/id",
- "Requests/cluster_name",
- "Requests/request_status",
- "Requests/request_context",
- "Requests/request_schedule",
- "Requests/type",
- "Requests/inputs",
- "Requests/resource_filters",
- "Requests/operation_level",
- "Requests/create_time",
- "Requests/start_time",
- "Requests/end_time",
- "Requests/exclusive",
- "Requests/task_count",
- "Requests/failed_task_count",
- "Requests/aborted_task_count",
- "Requests/timed_out_task_count",
- "Requests/completed_task_count",
- "Requests/queued_task_count",
- "Requests/progress_percent",
- "Requests/abort_reason",
- "Requests/remove_pending_host_requests",
- "Requests/pending_host_request_count",
- "Requests/cluster_host_info",
- "_"
- ],
- "RequestSchedule" : [
- "RequestSchedule/id",
- "RequestSchedule/cluster_name",
- "RequestSchedule/description",
- "RequestSchedule/status",
- "RequestSchedule/last_execution_status",
- "RequestSchedule/batch",
- "RequestSchedule/schedule",
- "_"
- ],
- "Task":[
- "Tasks/id",
- "Tasks/request_id",
- "Tasks/cluster_name",
- "Tasks/stage_id",
- "Tasks/host_name",
- "Tasks/role",
- "Tasks/command",
- "Tasks/status",
- "Tasks/exit_code",
- "Tasks/stderr",
- "Tasks/stdout",
- "Tasks/output_log",
- "Tasks/error_log",
- "Tasks/start_time",
- "Tasks/end_time",
- "Tasks/structured_out",
- "Tasks/attempt_cnt",
- "Tasks/custom_command_name",
- "Tasks/command_detail",
- "Tasks/ops_display_name",
- "_"
- ],
- "User":[
- "Users/user_name",
- "Users/password",
- "Users/old_password",
- "Users/ldap_user",
- "Users/user_type",
- "Users/active",
- "Users/groups",
- "Users/admin",
- "_"
- ],
- "Group":[
- "Groups/group_name",
- "Groups/ldap_group",
- "Groups/group_type",
- "_"
- ],
- "Member":[
- "MemberInfo/group_name",
- "MemberInfo/user_name",
- "_"
- ],
- "Stack":[
- "Stacks/stack_name",
- "_"
- ],
- "StackVersion":[
- "Versions/stack_name",
- "Versions/stack_version",
- "Versions/min_upgrade_version",
- "Versions/active",
- "Versions/valid",
- "Versions/stack-errors",
- "Versions/parent_stack_version",
- "Versions/config_types",
- "Versions/upgrade_packs",
- "_"
- ],
- "StackService":[
- "StackServices/stack_name",
- "StackServices/stack_version",
- "StackServices/service_name",
- "StackServices/display_name",
- "StackServices/selection",
- "StackServices/user_name",
- "StackServices/comments",
- "StackServices/service_version",
- "StackServices/config_types",
- "StackServices/service_check_supported",
- "StackServices/custom_commands",
- "StackServices/required_services",
- "StackServices/credential_store_supported",
- "StackServices/credential_store_enabled",
- "StackServices/credential_store_required",
- "StackServices/properties",
- "StackServices/support_delete_via_ui",
- "_"
- ],
- "StackConfiguration":[
- "StackConfigurations/stack_name",
- "StackConfigurations/stack_version",
- "StackConfigurations/service_name",
- "StackConfigurations/property_name",
- "StackConfigurations/property_value",
- "StackConfigurations/property_value_attributes",
- "StackConfigurations/property_depends_on",
- "StackConfigurations/property_description",
- "StackConfigurations/property_display_name",
- "StackConfigurations/type",
- "StackConfigurations/final",
- "StackConfigurations/adding_forbidden",
- "StackConfigurations/do_not_extend",
- "StackConfigurations/property_type",
- "_"
- ],
- "StackServiceComponent":[
- "StackServiceComponents/stack_name",
- "StackServiceComponents/stack_version",
- "StackServiceComponents/service_name",
- "StackServiceComponents/component_name",
- "StackServiceComponents/display_name",
- "StackServiceComponents/component_category",
- "StackServiceComponents/is_client",
- "StackServiceComponents/is_master",
- "StackServiceComponents/cardinality",
- "StackServiceComponents/custom_commands",
- "StackServiceComponents/recovery_enabled",
- "StackServiceComponents/advertise_version",
- "StackServiceComponents/decommission_allowed",
- "StackServiceComponents/reassign_allowed",
- "StackServiceComponents/has_bulk_commands_definition",
- "StackServiceComponents/bulk_commands_display_name",
- "StackServiceComponents/bulk_commands_master_component_name",
- "StackServiceComponents/rolling_restart_supported",
- "auto_deploy/enabled",
- "auto_deploy/location",
- "_"
- ],
- "StackServiceComponentDependency" :[
- "Dependencies/stack_name",
- "Dependencies/stack_version",
- "Dependencies/dependent_service_name",
- "Dependencies/dependent_component_name",
- "Dependencies/service_name",
- "Dependencies/component_name",
- "Dependencies/scope",
- "Dependencies/conditions",
- "auto_deploy/enabled",
- "auto_deploy/location"
- ],
- "ExtensionLink": [
- "ExtensionLink/link_id",
- "ExtensionLink/stack_name",
- "ExtensionLink/stack_version",
- "ExtensionLink/extension_name",
- "ExtensionLink/extension_version",
- "_"
- ],
- "Extension":[
- "Extensions/extension_name",
- "_"
- ],
- "ExtensionVersion":[
- "Versions/extension_name",
- "Versions/extension_version",
- "Versions/valid",
- "Versions/extension-errors",
- "Versions/parent_extension_version",
- "_"
- ],
- "DRFeed":[
- "Feed/name",
- "Feed/description",
- "Feed/status",
- "Feed/frequency",
- "Feed/sourceCluster",
- "Feed/targetCluster",
- "Feed/properties"
- ],
- "DRTargetCluster":[
- "Cluster/name",
- "Cluster/colo",
- "Cluster/interfaces",
- "Cluster/locations",
- "Cluster/properties"
- ],
- "DRInstance":[
- "Instance/feedName",
- "Instance/id",
- "Instance/status",
- "Instance/startTime",
- "Instance/endTime",
- "Instance/details",
- "Instance/log"
- ],
- "Workflow":[
- "Workflow/cluster_name",
- "Workflow/workflow_id",
- "Workflow/name",
- "Workflow/user_name",
- "Workflow/start_time",
- "Workflow/last_update_time",
- "Workflow/elapsed_time",
- "Workflow/input_bytes",
- "Workflow/output_bytes",
- "Workflow/num_jobs_total",
- "Workflow/num_jobs_completed",
- "Workflow/parent_id",
- "Workflow/context"
- ],
- "Job":[
- "Job/cluster_name",
- "Job/workflow_id",
- "Job/job_id",
- "Job/name",
- "Job/status",
- "Job/user_name",
- "Job/submit_time",
- "Job/elapsed_time",
- "Job/maps",
- "Job/reduces",
- "Job/input_bytes",
- "Job/output_bytes",
- "Job/conf_path",
- "Job/workflow_entity_name"
- ],
- "TaskAttempt":[
- "TaskAttempt/cluster_name",
- "TaskAttempt/workflow_id",
- "TaskAttempt/job_id",
- "TaskAttempt/task_attempt_id",
- "TaskAttempt/type",
- "TaskAttempt/start_time",
- "TaskAttempt/finish_time",
- "TaskAttempt/map_finish_time",
- "TaskAttempt/shuffle_finish_time",
- "TaskAttempt/sort_finish_fime",
- "TaskAttempt/input_bytes",
- "TaskAttempt/output_bytes",
- "TaskAttempt/status",
- "TaskAttempt/locality"
- ],
- "RootService":[
- "RootService/service_name"
- ],
- "RootServiceComponent":[
- "RootServiceComponents/service_name",
- "RootServiceComponents/component_name",
- "RootServiceComponents/properties",
- "RootServiceComponents/component_version",
- "RootServiceComponents/server_clock"
- ],
- "RootServiceHostComponent":[
- "RootServiceHostComponents/service_name",
- "RootServiceHostComponents/component_name",
- "RootServiceHostComponents/host_name",
- "RootServiceHostComponents/component_state",
- "RootServiceHostComponents/component_version",
- "RootServiceHostComponents/properties"
- ],
- "Blueprint":[
- "Blueprints/blueprint_name",
- "Blueprints/stack_name",
- "Blueprints/stack_version",
- "Blueprints/security",
- "host_groups",
- "host_groups/components",
- "host_groups/cardinality",
- "configurations",
- "validate_topology",
- "settings"
- ],
- "Recommendation":[
- "Recommendation/id",
- "Versions/stack_name",
- "Versions/stack_version",
- "recommend",
- "hosts",
- "services",
- "changed_configurations",
- "user_context",
- "user_context/operation",
- "user_context/operation_details",
- "recommendations",
- "recommendations/blueprint",
- "recommendations/blueprint/configurations",
- "recommendations/blueprint/host_groups",
- "recommendations/blueprint/host_groups/name",
- "recommendations/blueprint/host_groups/components",
- "recommendations/blueprint_cluster_binding",
- "recommendations/blueprint_cluster_binding/host_groups",
- "recommendations/blueprint_cluster_binding/host_groups/name",
- "recommendations/blueprint_cluster_binding/host_groups/hosts",
- "recommendations/config_groups"
- ],
- "Validation":[
- "Validation/id",
- "Versions/stack_name",
- "Versions/stack_version",
- "items",
- "items/type",
- "items/level",
- "items/message",
- "items/component-name",
- "items/host",
- "items/config-type",
- "items/config-name",
- "items/host-group",
- "validate",
- "hosts",
- "services",
- "recommendations"
- ],
- "HostComponentProcess": [
- "HostComponentProcess/cluster_name",
- "HostComponentProcess/host_name",
- "HostComponentProcess/component_name",
- "HostComponentProcess/name",
- "HostComponentProcess/status"
- ],
- "ClientConfig":[
- "ServiceComponentInfo/service_name",
- "ServiceComponentInfo/component_name",
- "ServiceComponentInfo/cluster_name",
- "HostRoles/host_name",
- "_"
- ],
- "Widget":[
- "WidgetInfo/id",
- "WidgetInfo/cluster_name",
- "WidgetInfo/widget_name",
- "WidgetInfo/display_name",
- "WidgetInfo/widget_type",
- "WidgetInfo/time_created",
- "WidgetInfo/author",
- "WidgetInfo/description",
- "WidgetInfo/scope",
- "WidgetInfo/metrics",
- "WidgetInfo/values",
- "WidgetInfo/properties",
- "_"
- ],
- "WidgetLayout":[
- "WidgetLayoutInfo/id",
- "WidgetLayoutInfo/section_name",
- "WidgetLayoutInfo/cluster_name",
- "WidgetLayoutInfo/layout_name",
- "WidgetLayoutInfo/display_name",
- "WidgetLayoutInfo/scope",
- "WidgetLayoutInfo/user_name",
- "WidgetLayoutInfo/WidgetsInfo",
- "User/user_name",
- "_"
- ],
- "StackLevelConfiguration":[
- "StackLevelConfigurations/stack_name",
- "StackLevelConfigurations/stack_version",
- "StackLevelConfigurations/property_name",
- "StackLevelConfigurations/property_value",
- "StackLevelConfigurations/property_display_name",
- "StackLevelConfigurations/property_value_attributes",
- "StackLevelConfigurations/property_depends_on",
- "StackLevelConfigurations/property_description",
- "StackLevelConfigurations/type",
- "StackLevelConfigurations/final",
- "StackLevelConfigurations/property_type",
- "_"
- ],
- "StackConfigurationDependency":[
- "StackConfigurationDependency/stack_name",
- "StackConfigurationDependency/stack_version",
- "StackConfigurationDependency/service_name",
- "StackConfigurationDependency/property_name",
- "StackConfigurationDependency/dependency_type",
- "StackConfigurationDependency/dependency_name",
- "_"
- ],
- "KerberosDescriptor":[
- "KerberosDescriptors/kerberos_descriptor_name",
- "KerberosDescriptors/kerberos_descriptor_text",
- "_"
- ]
-
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/MinimalRendererTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/MinimalRendererTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/MinimalRendererTest.java
index 782f148..6f75bab 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/MinimalRendererTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/query/render/MinimalRendererTest.java
@@ -40,10 +40,13 @@ import org.apache.ambari.server.api.services.Result;
import org.apache.ambari.server.api.services.ResultImpl;
import org.apache.ambari.server.api.util.TreeNode;
import org.apache.ambari.server.api.util.TreeNodeImpl;
+import org.apache.ambari.server.controller.internal.HostComponentResourceProvider;
+import org.apache.ambari.server.controller.internal.HostResourceProvider;
import org.apache.ambari.server.controller.internal.ResourceImpl;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.Schema;
import org.apache.ambari.server.controller.spi.SchemaFactory;
+import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.junit.Test;
/**
@@ -496,6 +499,9 @@ public class MinimalRendererTest {
// host 1 : ambari host
Resource hostResource = new ResourceImpl(Resource.Type.Host);
+
+ PropertyHelper.setKeyPropertyIds(Resource.Type.Host,HostResourceProvider.keyPropertyIds);
+ PropertyHelper.setKeyPropertyIds(Resource.Type.HostComponent, HostComponentResourceProvider.keyPropertyIds);
hostResource.setProperty("Hosts/host_name", "testHost");
hostResource.setProperty("Hosts/cluster_name", "testCluster");
hostResource.setProperty("foo", "bar");
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
index a127de6..7f47ab2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
@@ -61,8 +61,6 @@ public class AbstractControllerResourceProviderTest {
AbstractResourceProvider provider =
(AbstractResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Service,
- null,
- null,
managementController);
Assert.assertTrue(provider instanceof ServiceResourceProvider);
@@ -73,7 +71,7 @@ public class AbstractControllerResourceProviderTest {
AmbariManagementController managementController = createMock(AmbariManagementController.class);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
- Resource.Type.StackArtifact, null, null, managementController);
+ Resource.Type.StackArtifact, managementController);
assertEquals(StackArtifactResourceProvider.class, provider.getClass());
}
@@ -85,7 +83,7 @@ public class AbstractControllerResourceProviderTest {
replay(managementController);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
- Resource.Type.RoleAuthorization, null, null, managementController);
+ Resource.Type.RoleAuthorization, managementController);
verify(managementController);
@@ -99,7 +97,7 @@ public class AbstractControllerResourceProviderTest {
replay(managementController);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
- Resource.Type.UserAuthorization, null, null, managementController);
+ Resource.Type.UserAuthorization, managementController);
verify(managementController);
@@ -113,7 +111,7 @@ public class AbstractControllerResourceProviderTest {
replay(managementController);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
- Resource.Type.ClusterKerberosDescriptor, null, null, managementController);
+ Resource.Type.ClusterKerberosDescriptor, managementController);
verify(managementController);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProviderTest.java
index 38e6d36..2aa6efa 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractDRResourceProviderTest.java
@@ -53,8 +53,6 @@ public class AbstractDRResourceProviderTest {
AbstractResourceProvider provider =
(AbstractResourceProvider) AbstractDRResourceProvider.getResourceProvider(
Resource.Type.DRFeed,
- propertyIds,
- keyPropertyIds,
ivoryService);
Assert.assertTrue(provider instanceof FeedResourceProvider);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
index 7165e48..0ed8fba 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
@@ -80,45 +80,41 @@ public class AbstractResourceProviderTest {
AmbariManagementController managementController = createMock(AmbariManagementController.class);
- AbstractResourceProvider provider = new HostComponentProcessResourceProvider(propertyIds,
- keyPropertyIds, managementController);
+ AbstractResourceProvider provider = new HostComponentProcessResourceProvider(managementController);
- Set<String> unsupported = provider.checkPropertyIds(Collections.singleton("foo"));
+ Set<String> unsupported = provider.checkPropertyIds(Collections.singleton("HostComponentProcess/host_name"));
Assert.assertTrue(unsupported.isEmpty());
// note that key is not in the set of known property ids. We allow it if its parent is a known property.
// this allows for Map type properties where we want to treat the entries as individual properties
- Assert.assertTrue(provider.checkPropertyIds(Collections.singleton("cat5/subcat5/map/key")).isEmpty());
+ Assert.assertTrue(provider.checkPropertyIds(Collections.singleton("HostComponentProcess/host_name/foo")).isEmpty());
unsupported = provider.checkPropertyIds(Collections.singleton("bar"));
Assert.assertEquals(1, unsupported.size());
Assert.assertTrue(unsupported.contains("bar"));
- unsupported = provider.checkPropertyIds(Collections.singleton("cat1/foo"));
+ unsupported = provider.checkPropertyIds(Collections.singleton("HostComponentProcess/status"));
Assert.assertTrue(unsupported.isEmpty());
- unsupported = provider.checkPropertyIds(Collections.singleton("cat1"));
+ unsupported = provider.checkPropertyIds(Collections.singleton("HostComponentProcess"));
Assert.assertTrue(unsupported.isEmpty());
}
@Test
public void testGetPropertyIds() {
Set<String> propertyIds = new HashSet<>();
- propertyIds.add("p1");
- propertyIds.add("foo");
- propertyIds.add("cat1/foo");
- propertyIds.add("cat2/bar");
- propertyIds.add("cat2/baz");
- propertyIds.add("cat3/sub1/bam");
- propertyIds.add("cat4/sub2/sub3/bat");
+ propertyIds.add("HostComponentProcess/name");
+ propertyIds.add("HostComponentProcess/status");
+ propertyIds.add("HostComponentProcess/cluster_name");
+ propertyIds.add("HostComponentProcess/host_name");
+ propertyIds.add("HostComponentProcess/component_name");
AmbariManagementController managementController = createMock(AmbariManagementController.class);
MaintenanceStateHelper maintenanceStateHelper = createNiceMock(MaintenanceStateHelper.class);
RepositoryVersionDAO repositoryVersionDAO = createNiceMock(RepositoryVersionDAO.class);
replay(maintenanceStateHelper, repositoryVersionDAO);
- AbstractResourceProvider provider = new HostComponentProcessResourceProvider(propertyIds,
- keyPropertyIds, managementController);
+ AbstractResourceProvider provider = new HostComponentProcessResourceProvider(managementController);
Set<String> supportedPropertyIds = provider.getPropertyIds();
Assert.assertTrue(supportedPropertyIds.containsAll(propertyIds));
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java
index ef56f9d..e53c534 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActionResourceProviderTest.java
@@ -65,8 +65,6 @@ public class ActionResourceProviderTest {
return (ActionResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
}
@@ -126,8 +124,6 @@ public class ActionResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
index 5221ecf..bfeecfe 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
@@ -338,8 +338,6 @@ public class ActiveWidgetLayoutResourceProviderTest extends EasyMockSupport {
return AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ActiveWidgetLayout,
- PropertyHelper.getPropertyIds(Resource.Type.ActiveWidgetLayout),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ActiveWidgetLayout),
managementController);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintResourceProviderTest.java
index f534411..c7b8d71 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintResourceProviderTest.java
@@ -61,7 +61,6 @@ import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
import org.apache.ambari.server.controller.spi.ResourceProvider;
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 org.apache.ambari.server.orm.dao.BlueprintDAO;
import org.apache.ambari.server.orm.dao.StackDAO;
import org.apache.ambari.server.orm.entities.BlueprintConfigEntity;
@@ -165,8 +164,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -202,8 +199,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
try {
@@ -245,8 +240,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -287,8 +280,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
createMock(AmbariManagementController.class));
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -334,8 +325,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -413,8 +402,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -541,8 +528,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -590,8 +575,6 @@ public class BlueprintResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Blueprint,
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -828,9 +811,7 @@ public class BlueprintResourceProviderTest {
}
private static BlueprintResourceProvider createProvider() {
- return new BlueprintResourceProvider(
- PropertyHelper.getPropertyIds(Resource.Type.Blueprint),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Blueprint), null);
+ return new BlueprintResourceProvider(null);
}
private BlueprintEntity createEntity(Map<String, Object> properties) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
index 6779e26f..c5994c5 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
@@ -102,8 +102,6 @@ public class ClientConfigResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -144,8 +142,6 @@ public class ClientConfigResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request.
@@ -214,8 +210,6 @@ public class ClientConfigResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
String clusterName = "C1";
@@ -461,8 +455,6 @@ public class ClientConfigResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// create the request
@@ -645,8 +637,6 @@ public class ClientConfigResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Predicate predicate = new PredicateBuilder().property(
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
index 7cbb4b7..686b5cd 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
@@ -935,7 +935,7 @@ public class ClusterControllerImplTest {
public TestProviderModule() {
for (Resource.Type type : Resource.Type.values()) {
- providers.put(type, new TestResourceProvider(type));
+ providers.put(type, new TestResourceProvider());
}
providers.put(Resource.Type.Cluster, new TestClusterResourceProvider());
providers.put(Resource.Type.Host, new TestHostResourceProvider());
@@ -965,8 +965,8 @@ public class ClusterControllerImplTest {
private static class TestResourceProvider extends AbstractResourceProvider {
- private TestResourceProvider(Resource.Type type) {
- super(PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type));
+ private TestResourceProvider() {
+ super(new HashSet<>(), new HashMap<>());
}
private TestResourceProvider(Set<String> propertyIds, Map<Resource.Type, String> keyPropertyIds) {
@@ -1029,7 +1029,7 @@ public class ClusterControllerImplTest {
private static class TestClusterResourceProvider extends TestResourceProvider {
private TestClusterResourceProvider() {
- super(Resource.Type.Cluster);
+ super(ClusterResourceProvider.propertyIds, ClusterResourceProvider.keyPropertyIds);
}
@Override
@@ -1048,7 +1048,7 @@ public class ClusterControllerImplTest {
private Predicate lastPredicate = null;
private TestHostResourceProvider() {
- super(Resource.Type.Host);
+ super(HostResourceProvider.propertyIds, HostResourceProvider.keyPropertyIds);
}
@Override
@@ -1143,7 +1143,7 @@ public class ClusterControllerImplTest {
private static class TestStackResourceProvider extends TestResourceProvider {
private TestStackResourceProvider() {
- super(Resource.Type.Stack);
+ super(StackResourceProvider.propertyIds, StackResourceProvider.keyPropertyIds);
}
@Override
@@ -1159,7 +1159,7 @@ public class ClusterControllerImplTest {
private static class TestStackVersionResourceProvider extends TestResourceProvider {
private TestStackVersionResourceProvider() {
- super(Resource.Type.StackVersion);
+ super(StackVersionResourceProvider.propertyIds, StackVersionResourceProvider.keyPropertyIds);
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProviderTest.java
index ac28475..e867af3 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterKerberosDescriptorResourceProviderTest.java
@@ -46,7 +46,6 @@ import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.utilities.PredicateBuilder;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.security.SecurePasswordHelper;
import org.apache.ambari.server.security.TestAuthenticationFactory;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
@@ -237,8 +236,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -299,8 +296,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
Predicate predicate = new PredicateBuilder()
@@ -379,8 +374,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
Predicate clusterPredicate = new PredicateBuilder()
@@ -497,8 +490,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
Predicate clusterPredicate = new PredicateBuilder()
@@ -620,8 +611,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
Predicate predicate1 = new PredicateBuilder()
@@ -688,8 +677,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
@@ -729,8 +716,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
provider.createResources(request);
@@ -767,8 +752,6 @@ public class ClusterKerberosDescriptorResourceProviderTest extends EasyMockSuppo
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.ClusterKerberosDescriptor,
- PropertyHelper.getPropertyIds(Resource.Type.ClusterKerberosDescriptor),
- PropertyHelper.getKeyPropertyIds(Resource.Type.ClusterKerberosDescriptor),
managementController);
Predicate predicate1 = new PredicateBuilder()
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
index 4a80893..e687983 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
@@ -275,8 +275,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -361,8 +359,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -536,8 +532,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -620,8 +614,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -710,8 +702,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Cluster,
- PropertyHelper.getPropertyIds(Resource.Type.Cluster),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Cluster),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -753,8 +743,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -801,8 +789,6 @@ public class ClusterResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
index a6fc919..51035ba 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
@@ -484,7 +484,7 @@ public class ClusterStackVersionResourceProviderTest {
EasyMock.anyObject(), anyObject(String.class))).
andReturn(packages).times(1); // only one host has the versionable component
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@ -555,8 +555,6 @@ public class ClusterStackVersionResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
injector.injectMembers(provider);
@@ -704,7 +702,7 @@ public class ClusterStackVersionResourceProviderTest {
EasyMock.anyObject(), anyObject(String.class))).
andReturn(packages).anyTimes(); // only one host has the versionable component
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(managementController.findConfigurationTagsWithOverrides(anyObject(Cluster.class), EasyMock.anyString()))
@@ -1362,8 +1360,7 @@ public class ClusterStackVersionResourceProviderTest {
EasyMock.anyObject(), anyObject(String.class))).andReturn(
packages).anyTimes(); // only one host has the versionable component
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(), eq(managementController))).andReturn(csvResourceProvider).anyTimes();
+ expect(resourceProviderFactory.getHostResourceProvider(eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
expect(clusters.getHostsForCluster(anyObject(String.class))).andReturn(
@@ -1535,7 +1532,7 @@ public class ClusterStackVersionResourceProviderTest {
.andReturn(new HashMap<String, Map<String, String>>()).anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(anyObject(Set.class), anyObject(Map.class),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@ -2173,7 +2170,6 @@ public class ClusterStackVersionResourceProviderTest {
Resource.Type type = Type.ClusterStackVersion;
return (ClusterStackVersionResourceProvider) AbstractControllerResourceProvider.getResourceProvider(type,
- PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type),
amc);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
index 78f79ea..82cdc19 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProviderTest.java
@@ -102,8 +102,6 @@ public class ConfigGroupResourceProviderTest {
return (ConfigGroupResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProviderTest.java
index 785ea23..17bc127 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProviderTest.java
@@ -188,8 +188,6 @@ public class ConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -297,8 +295,6 @@ public class ConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request.
@@ -332,8 +328,6 @@ public class ConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Predicate predicate = new PredicateBuilder().property(
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CredentialResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CredentialResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CredentialResourceProviderTest.java
index 89ed022..08c9839 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CredentialResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CredentialResourceProviderTest.java
@@ -43,7 +43,6 @@ import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.utilities.PredicateBuilder;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.security.SecurePasswordHelper;
import org.apache.ambari.server.security.TestAuthenticationFactory;
import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -151,8 +150,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
@@ -196,8 +193,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
try {
@@ -236,8 +231,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
try {
@@ -293,8 +286,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
@@ -359,8 +350,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
provider.createResources(request);
@@ -435,8 +424,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
provider.createResources(request);
@@ -512,8 +499,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
provider.createResources(request);
@@ -576,8 +561,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
@@ -634,8 +617,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
provider.createResources(request);
@@ -728,8 +709,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
provider.createResources(request);
@@ -797,8 +776,6 @@ public class CredentialResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Credential,
- PropertyHelper.getPropertyIds(Resource.Type.Credential),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Credential),
managementController);
provider.createResources(request);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java
index 5b6e830..6a5e96b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ExtensionResourceProviderTest.java
@@ -58,8 +58,6 @@ public class ExtensionResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/FeedResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/FeedResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/FeedResourceProviderTest.java
index 5cf9b05..09826f0 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/FeedResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/FeedResourceProviderTest.java
@@ -71,9 +71,7 @@ public class FeedResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- FeedResourceProvider provider = new FeedResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRFeed),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRFeed));
+ FeedResourceProvider provider = new FeedResourceProvider(service);
provider.createResources(request);
@@ -114,9 +112,7 @@ public class FeedResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- FeedResourceProvider provider = new FeedResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRFeed),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRFeed));
+ FeedResourceProvider provider = new FeedResourceProvider(service);
Set<Resource> resources = provider.getResources(request, null);
@@ -162,9 +158,7 @@ public class FeedResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- FeedResourceProvider provider = new FeedResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRFeed),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRFeed));
+ FeedResourceProvider provider = new FeedResourceProvider(service);
provider.updateResources(request, null);
@@ -193,9 +187,7 @@ public class FeedResourceProviderTest {
// replay
replay(service);
- FeedResourceProvider provider = new FeedResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRFeed),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRFeed));
+ FeedResourceProvider provider = new FeedResourceProvider(service);
Predicate predicate = new PredicateBuilder().property(FeedResourceProvider.FEED_NAME_PROPERTY_ID).equals("Feed1").toPredicate();
@@ -204,17 +196,4 @@ public class FeedResourceProviderTest {
// verify
verify(service);
}
-
- @Test
- public void testGetKeyPropertyIds() throws Exception {
- IvoryService service = createMock(IvoryService.class);
-
- Map<Resource.Type, String> keyPropertyIds = PropertyHelper.getKeyPropertyIds(Resource.Type.DRFeed);
-
- FeedResourceProvider provider = new FeedResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRFeed),
- keyPropertyIds);
-
- Assert.assertEquals(keyPropertyIds, provider.getKeyPropertyIds());
- }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupResourceProviderTest.java
index bbfa2d8..938564a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupResourceProviderTest.java
@@ -83,8 +83,6 @@ public class GroupResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -135,8 +133,6 @@ public class GroupResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -186,8 +182,6 @@ public class GroupResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Map<String, Object> properties = new LinkedHashMap<>();
@@ -227,8 +221,6 @@ public class GroupResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Predicate predicate = new PredicateBuilder().property(GroupResourceProvider.GROUP_GROUPNAME_PROPERTY_ID).
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProviderTest.java
index 5a7460d..d012601 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentProcessResourceProviderTest.java
@@ -161,8 +161,6 @@ public class HostComponentProcessResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
amc);
return provider;
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
index 7e32c15..650dc78 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
@@ -105,9 +105,7 @@ public class HostComponentResourceProviderTest {
ResourceProviderFactory resourceProviderFactory = createNiceMock(ResourceProviderFactory.class);
Injector injector = createNiceMock(Injector.class);
HostComponentResourceProvider hostComponentResourceProvider =
- new HostComponentResourceProvider(PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
- managementController, injector);
+ new HostComponentResourceProvider(managementController, injector);
AbstractControllerResourceProvider.init(resourceProviderFactory);
@@ -115,8 +113,7 @@ public class HostComponentResourceProviderTest {
AbstractResourceProviderTest.Matcher.getHostComponentRequestSet(
"Cluster100", "Service100", "Component100", "Host100", null, null));
- expect(resourceProviderFactory.getHostComponentResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostComponentResourceProvider(
eq(managementController))).
andReturn(hostComponentResourceProvider).anyTimes();
@@ -128,8 +125,6 @@ public class HostComponentResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -218,8 +213,7 @@ public class HostComponentResourceProviderTest {
// set expectations
- expect(resourceProviderFactory.getHostComponentResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostComponentResourceProvider(
eq(managementController))).
andReturn(hostComponentResourceProvider).anyTimes();
@@ -291,8 +285,6 @@ public class HostComponentResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
@@ -393,8 +385,7 @@ public class HostComponentResourceProviderTest {
provider.setFieldValue("maintenanceStateHelper", maintenanceStateHelper);
provider.setFieldValue("hostVersionDAO", hostVersionDAO);
- expect(resourceProviderFactory.getHostComponentResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostComponentResourceProvider(
eq(managementController))).
andReturn(provider).anyTimes();
@@ -451,9 +442,7 @@ public class HostComponentResourceProviderTest {
Injector injector = createNiceMock(Injector.class);
HostComponentResourceProvider provider =
- new HostComponentResourceProvider(PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
- managementController, injector);
+ new HostComponentResourceProvider(managementController, injector);
// set expectations
expect(managementController.deleteHostComponents(
@@ -488,40 +477,27 @@ public class HostComponentResourceProviderTest {
@Test
public void testCheckPropertyIds() throws Exception {
- Set<String> propertyIds = new HashSet<>();
- propertyIds.add("foo");
- propertyIds.add("cat1/foo");
- propertyIds.add("cat2/bar");
- propertyIds.add("cat2/baz");
- propertyIds.add("cat3/sub1/bam");
- propertyIds.add("cat4/sub2/sub3/bat");
- propertyIds.add("cat5/subcat5/map");
-
- Map<Resource.Type, String> keyPropertyIds = new HashMap<>();
-
AmbariManagementController managementController = createMock(AmbariManagementController.class);
Injector injector = createNiceMock(Injector.class);
HostComponentResourceProvider provider =
- new HostComponentResourceProvider(propertyIds,
- keyPropertyIds,
- managementController, injector);
+ new HostComponentResourceProvider(managementController, injector);
- Set<String> unsupported = provider.checkPropertyIds(Collections.singleton("foo"));
+ Set<String> unsupported = provider.checkPropertyIds(Collections.singleton(PropertyHelper.getPropertyId("HostRoles", "cluster_name")));
Assert.assertTrue(unsupported.isEmpty());
// note that key is not in the set of known property ids. We allow it if its parent is a known property.
// this allows for Map type properties where we want to treat the entries as individual properties
- Assert.assertTrue(provider.checkPropertyIds(Collections.singleton("cat5/subcat5/map/key")).isEmpty());
+ Assert.assertTrue(provider.checkPropertyIds(Collections.singleton(PropertyHelper.getPropertyId("HostRoles/service_name", "key"))).isEmpty());
unsupported = provider.checkPropertyIds(Collections.singleton("bar"));
Assert.assertEquals(1, unsupported.size());
Assert.assertTrue(unsupported.contains("bar"));
- unsupported = provider.checkPropertyIds(Collections.singleton("cat1/foo"));
+ unsupported = provider.checkPropertyIds(Collections.singleton(PropertyHelper.getPropertyId("HostRoles", "component_name")));
Assert.assertTrue(unsupported.isEmpty());
- unsupported = provider.checkPropertyIds(Collections.singleton("cat1"));
+ unsupported = provider.checkPropertyIds(Collections.singleton("HostRoles"));
Assert.assertTrue(unsupported.isEmpty());
unsupported = provider.checkPropertyIds(Collections.singleton("config"));
@@ -587,8 +563,7 @@ public class HostComponentResourceProviderTest {
provider.setFieldValue("maintenanceStateHelper", maintenanceStateHelper);
provider.setFieldValue("hostVersionDAO", hostVersionDAO);
- expect(resourceProviderFactory.getHostComponentResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostComponentResourceProvider(
eq(managementController))).
andReturn(provider).anyTimes();
@@ -657,7 +632,7 @@ public class HostComponentResourceProviderTest {
*/
public TestHostComponentResourceProvider(Set<String> propertyIds, Map<Resource.Type, String> keyPropertyIds,
AmbariManagementController managementController, Injector injector) throws Exception {
- super(propertyIds, keyPropertyIds, managementController, injector);
+ super(managementController, injector);
}
public void setFieldValue(String fieldName, Object fieldValue) throws Exception {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
index 5e6201b..fcf1950 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
@@ -153,8 +153,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(managementController.getClusters()).andReturn(clusters).atLeastOnce();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
// replay
@@ -164,8 +163,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -244,8 +241,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo).anyTimes();
expect(managementController.getHostComponents(EasyMock.anyObject()))
.andReturn(Collections.emptySet()).anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).
andReturn(hostResourceProvider).anyTimes();
@@ -277,8 +273,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
@@ -358,8 +352,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(componentInfo.getCategory()).andReturn("MASTER").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
Set<String> propertyIds = new HashSet<>();
@@ -378,8 +371,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<Resource> resources = provider.getResources(request, predicate);
@@ -453,8 +444,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(componentInfo.getCategory()).andReturn("MASTER").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
Set<String> propertyIds = new HashSet<>();
@@ -473,8 +463,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
@@ -550,8 +538,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(componentInfo.getCategory()).andReturn("MASTER").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
Set<String> propertyIds = new HashSet<>();
@@ -570,8 +557,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<Resource> resources = provider.getResources(request, predicate);
@@ -624,8 +609,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(hostResponse1.getHostname()).andReturn("Host100").anyTimes();
expect(hostResponse1.getStatus()).andReturn(HealthStatus.UNKNOWN.name()).anyTimes();
expect(hostResponse1.getHealthReport()).andReturn("UNKNOWN").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
Set<String> propertyIds = new HashSet<>();
@@ -644,8 +628,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<Resource> resources = provider.getResources(request, predicate);
@@ -728,8 +710,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(ambariMetaInfo.getComponent((String) anyObject(), (String) anyObject(),
(String) anyObject(), (String) anyObject())).andReturn(componentInfo).anyTimes();
expect(componentInfo.getCategory()).andReturn("SLAVE").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
@@ -750,8 +731,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<Resource> resources = provider.getResources(request, predicate);
@@ -824,8 +803,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(ambariMetaInfo.getComponent((String) anyObject(), (String) anyObject(),
(String) anyObject(), (String) anyObject())).andReturn(componentInfo).anyTimes();
expect(componentInfo.getCategory()).andReturn("SLAVE").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
@@ -845,8 +823,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
@@ -920,8 +896,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(hostResponse1.getClusterName()).andReturn("Cluster100").anyTimes();
expect(hostResponse1.getHostname()).andReturn("Host100").anyTimes();
expect(hostResponse1.getHealthReport()).andReturn("HEALTHY").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
// replay
@@ -945,8 +920,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.Host,
- PropertyHelper.getPropertyIds(Resource.Type.Host),
- PropertyHelper.getKeyPropertyIds(Resource.Type.Host),
managementController);
provider.updateResources(request, predicate);
@@ -1008,8 +981,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(hostResponse1.getClusterName()).andReturn("Cluster100").anyTimes();
expect(hostResponse1.getHostname()).andReturn("Host100").anyTimes();
expect(hostResponse1.getHealthReport()).andReturn("HEALTHY").anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(),
- EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(hostResourceProvider).anyTimes();
// replay
@@ -1019,8 +991,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request.
@@ -1106,8 +1076,7 @@ public class HostResourceProviderTest extends EasyMockSupport {
public static HostResourceProvider getHostProvider(AmbariManagementController managementController) {
Resource.Type type = Resource.Type.Host;
- return new HostResourceProvider(PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
+ return new HostResourceProvider(
managementController);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
index 6c95c53..670c187 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProviderTest.java
@@ -185,8 +185,6 @@ public class HostStackVersionResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(Collections.emptySet(), null);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
expect(hostVersionDAOMock.findByClusterAndHost(clustername, hostname)).andReturn(Collections.singletonList(hostVersionEntityMock));
@@ -234,7 +232,7 @@ public class HostStackVersionResourceProviderTest {
expect(managementController.getPackagesForServiceHost(anyObject(ServiceInfo.class),
EasyMock.anyObject(), anyObject(String.class))).andReturn(packages).anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@ -270,8 +268,6 @@ public class HostStackVersionResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
injector.injectMembers(provider);
@@ -330,7 +326,7 @@ public class HostStackVersionResourceProviderTest {
expect(managementController.getPackagesForServiceHost(anyObject(ServiceInfo.class),
anyObject(Map.class), anyObject(String.class))).andReturn(packages).anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(anyObject(Set.class), anyObject(Map.class),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@ -358,8 +354,6 @@ public class HostStackVersionResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
injector.injectMembers(provider);
@@ -428,7 +422,7 @@ public class HostStackVersionResourceProviderTest {
expect(managementController.getPackagesForServiceHost(anyObject(ServiceInfo.class),
EasyMock.anyObject(), anyObject(String.class))).andReturn(packages).anyTimes();
- expect(resourceProviderFactory.getHostResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(),
+ expect(resourceProviderFactory.getHostResourceProvider(
eq(managementController))).andReturn(csvResourceProvider).anyTimes();
expect(clusters.getCluster(anyObject(String.class))).andReturn(cluster);
@@ -464,8 +458,6 @@ public class HostStackVersionResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
injector.injectMembers(provider);
[10/13] ambari git commit: AMBARI-22582 Clean up Configs page.
(atkach)
Posted by rl...@apache.org.
AMBARI-22582 Clean up Configs page. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2e9c9646
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2e9c9646
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2e9c9646
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: 2e9c964650665028caa6351eebebe5f55e6d28ca
Parents: e77a31a
Author: Andrii Tkach <at...@apache.org>
Authored: Mon Dec 4 18:41:04 2017 +0200
Committer: Andrii Tkach <at...@apache.org>
Committed: Mon Dec 4 18:41:04 2017 +0200
----------------------------------------------------------------------
ambari-web/app/assets/test/tests.js | 2 +-
.../controllers/main/service/info/configs.js | 5 +
ambari-web/app/messages.js | 3 +-
.../mixins/common/configs/configs_comparator.js | 6 +-
ambari-web/app/styles/application.less | 24 +-
ambari-web/app/styles/bootstrap_overrides.less | 2 +-
ambari-web/app/styles/config_history_flow.less | 414 ----------
.../app/styles/config_versions_control.less | 144 ++++
ambari-web/app/styles/widgets.less | 7 +-
.../configs/config_history_dropdown_row.hbs | 24 -
.../common/configs/config_history_flow.hbs | 148 ----
.../common/configs/config_versions_control.hbs | 42 ++
.../common/configs/config_versions_dropdown.hbs | 69 ++
.../templates/common/configs/service_config.hbs | 97 ++-
ambari-web/app/views.js | 3 +-
.../views/common/configs/config_history_flow.js | 644 ----------------
.../configs/config_versions_control_view.js | 235 ++++++
.../configs/config_versions_dropdown_view.js | 52 ++
.../views/common/configs/service_config_view.js | 66 ++
.../common/configs/config_history_flow_test.js | 756 -------------------
.../config_versions_control_view_test.js | 152 ++++
.../common/configs/service_config_view_test.js | 52 +-
.../host_progress_popup_body_view_test.js | 9 +-
23 files changed, 896 insertions(+), 2060 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/assets/test/tests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js
index de81764..990c489 100644
--- a/ambari-web/app/assets/test/tests.js
+++ b/ambari-web/app/assets/test/tests.js
@@ -372,7 +372,7 @@ var files = [
'test/views/main/admin/highAvailability/nameNode/wizard_view_test',
'test/views/main/admin/highAvailability/progress_view_test',
'test/views/common/host_progress_popup_body_view_test',
- 'test/views/common/configs/config_history_flow_test',
+ 'test/views/common/configs/config_versions_control_view_test',
'test/views/common/configs/overriddenProperty_view_test',
'test/views/common/configs/service_config_view_test',
'test/views/common/configs/service_config_container_view_test',
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index 8436086..a3a4206 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -43,6 +43,11 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.AddSecurityConfi
selectedConfigGroup: null,
+ /**
+ * currently displayed service config version
+ */
+ displayedVersion: null,
+
groupsStore: App.ServiceConfigGroup.find(),
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 06deecb..8b6ce72 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -360,6 +360,7 @@ Em.I18n.translations = {
'common.express.downgrade': 'Express Downgrade',
'common.views': 'Views',
'common.critical.error': 'Critical',
+ 'common.with': 'with',
'models.alert_instance.tiggered.verbose': "Occurred on {0} <br> Checked on {1}",
'models.alert_definition.triggered.verbose': "Occurred on {0}",
@@ -2260,7 +2261,7 @@ Em.I18n.translations = {
'services.service.config.configHistory.leftArrow.tooltip': 'Show later versions',
'services.service.config.configHistory.dismissIcon.tooltip': 'Dismiss',
'services.service.config.configHistory.makeCurrent.message': 'Created from service config version {0}',
- 'services.service.config.configHistory.comparing': 'Comparing',
+ 'services.service.config.configHistory.comparing': 'Comparing Changes',
'services.service.config.setRecommendedValue': 'Set Recommended',
'services.service.config.database.msg.jdbcSetup.detailed': 'To use {0} with Hive, you must <a href="{3}" target="_blank">' +
'download the {4} from {0}</a>. Once downloaded to the Ambari Server host, run: <br/>' +
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/mixins/common/configs/configs_comparator.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/configs_comparator.js b/ambari-web/app/mixins/common/configs/configs_comparator.js
index 748e77e..45cd106 100644
--- a/ambari-web/app/mixins/common/configs/configs_comparator.js
+++ b/ambari-web/app/mixins/common/configs/configs_comparator.js
@@ -46,13 +46,11 @@ App.ConfigsComparator = Em.Mixin.create({
} else {
compareServiceVersions = [this.get('compareServiceVersion').get('version')];
}
+ this.set('isCompareMode', true);
this.getCompareVersionConfigs(compareServiceVersions).done(function (json) {
allConfigs.setEach('isEditable', false);
self.initCompareConfig(allConfigs, json);
- self.setProperties({
- compareServiceVersion: null,
- isCompareMode: true
- });
+ self.set('compareServiceVersion', null);
dfd.resolve(true);
}).fail(function () {
self.set('compareServiceVersion', null);
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 2a908b3..7629355 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -602,6 +602,8 @@ h1 {
}
#serviceConfig {
+ background: white;
+ padding: 15px;
.alert{
.glyphicon-refresh{
@@ -1768,7 +1770,7 @@ ul.inline li {
}
.full-width {
- width: 100%
+ width: 100% !important;
}
.rack-id {
@@ -2564,26 +2566,6 @@ input[type="radio"].align-checkbox, input[type="checkbox"].align-checkbox {
}
}
-.config-manage-nav {
- .config-groups-dropdown {
- display: inline-block;
- .btn.dropdown-toggle.first {
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
- .spinner {
- background-size: 20px;
- height: 20px;
- width: 20px;
- }
- }
- .filter-combobox {
- margin-bottom: 0;
- }
-}
-
.icon-undo {
color: #F3B20B;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/styles/bootstrap_overrides.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/bootstrap_overrides.less b/ambari-web/app/styles/bootstrap_overrides.less
index e1a5ab5..3637c6b 100644
--- a/ambari-web/app/styles/bootstrap_overrides.less
+++ b/ambari-web/app/styles/bootstrap_overrides.less
@@ -286,7 +286,7 @@ select.form-control {
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
- background-color: #f0f0f0;
+ background-color: transparent;
}
@media (max-width: 992px) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/styles/config_history_flow.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/config_history_flow.less b/ambari-web/app/styles/config_history_flow.less
deleted file mode 100644
index cc09d23..0000000
--- a/ambari-web/app/styles/config_history_flow.less
+++ /dev/null
@@ -1,414 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-@import 'common.less';
-
-#config_history_flow {
- margin-bottom: 10px;
- .version-slider {
- .flow-element {
- .version-box .box {
- font-size: 13px;
- .label-current {
- padding-top: 2px;
- }
- }
- .arrow-box {
- margin-left: 5px;
- }
- }
- }
- .version-info-bar {
- .label-current .glyphicon-ok {
- display: inline;
- color: #fff;
- }
- }
-}
-
-.dependencies-info-bar-wrapper {
- z-index: 100;
- margin: 0 0 20px;
- .alert {
- margin: 0;
- }
-}
-
-#config_history_flow {
- margin-top: -5px;
- .version-slider {
- width: 100%;
- height: 75px;
- margin: 5px 0;
- .flow-element {
- height: 75px;
- width: 15.2%;
- max-width: 146px;
- .version-box {
- position: relative;
- height: 90%;
- }
- .version-box .box {
- cursor: pointer;
- width: 92%;
- height: 100%;
- background-color: #fff;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- border: 1px solid #d2d9dd;
- font-size: 11px;
- .top-label {
- min-width: 20px;
- padding: 3px 2px 0 2px;
- }
- .author,
- .content {
- text-align: center;
- color: #555;
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .current-label {
- text-align: center;
- padding: 5px;
- }
- .stack-label {
- margin-right: 6px;
- text-align: right;
- line-height: 11px;
- }
- }
- .version-box .version-popover {
- display: none;
- position: absolute;
- bottom: 50px;
- left: -45px;
- z-index: 1000;
- float: left;
- width: 380px;
- padding: 8px;
- list-style: none;
- background-color: #fff;
- border: 1px solid #c3c3c3;
- -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding;
- background-clip: padding-box;
- font-size: 13px;
- .content {
- padding: 1px 5px 15px 5px;
- text-align: left;
- .notes{
- padding-top: 6px;
- overflow-wrap: break-word;
- word-wrap: break-word;
- white-space: pre-wrap;
- }
- .date{
- padding-top: 5px;
- color: #808080;
- font-size: 11px;
- white-space: nowrap;
- }
- }
- .version-operations-buttons .btn {
- font-size: 13px;
- }
- }
- .version-box:hover{
- .box {
- background-color: #e6f1f6;
- }
- }
- .version-box .box.displayed {
- background-color: #e6f1f6;
- .content {
- color: #444;
- }
- }
- .version-box .box.grayedOut {
- background-color: #f4f4f4;
- border: 1px solid #f4f4f4;
- .author,
- .content,
- .stack-label {
- color: #a6a6a6;
- }
- .current-label .label,
- .top-label .label {
- opacity: .5;
- }
-
- }
-
- }
- .first {
- width: 14%;
- margin-left: 10px;
- .arrow-box {
- display: none;
- }
- .version-box .box {
- width: 100%;
- }
- }
-
- .glyphicon-chevron-box {
- margin-top: 8px;
- width: 4%;
- cursor: pointer;
- .glyphicon-chevron-right,
- .glyphicon-chevron-left{
- color: #d2d9dd;
- }
- .glyphicon-chevron-left:hover,
- .glyphicon-chevron-right:hover{
- color: #808080;
- }
- &.disabled {
- cursor: not-allowed;
- }
- }
- }
- .version-info-bar-wrapper {
- margin: 0;
- z-index: 100;
- }
-
- .version-info-bar {
- background-color: @navigation-navy;
- -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1);
- -moz-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1);
- box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1);
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- padding: 5px;
- clear:both;
- margin-bottom: 5px;
-
- .glyphicon-remove-circle {
- color: #fff;
- font-size: 1.5em;
- padding-top: 4px;
- margin-top: 0;
- display: inline-block;
- cursor: pointer;
- }
- .label-wrapper {
- line-height: 30px;
- color: #d3d3d3;
- .label {
- font-size: 14px;
- padding: 4px;
- }
- }
-
- ul#dropdown_menu {
- position: absolute;
- left: 0;
- z-index: 1000;
- min-width: 400px;
- padding: 5px 0;
- margin: 0;
- }
-
- #dropdown_content {
- overflow: hidden;
- &::-webkit-scrollbar {
- display: none;
- }
- }
-
- #dropdown_outer_container, #dropdown_menu_container {
- min-width: 400px;
- height: 300px;
- }
-
- #dropdown_outer_container {
- position: relative;
- overflow: hidden;
- }
-
- #dropdown_inner_container {
- position: absolute;
- left: 0;
- overflow-x: hidden;
- overflow-y: scroll;
- &::-webkit-scrollbar {
- display: none;
- }
- }
-
- .dropdown-menu {
- min-width: 400px;
- margin-top: 4px !important;
- font-size: 13px;
- li {
- height:35px;
- line-height: 12px;
- .glyphicon-caret-right {
- font-size: 18px;
- margin-right: 20px;
- }
- }
- li:hover {
- background-color: #666;
- background-image: linear-gradient(to bottom, #666, #555);
- color: #fff;
- }
- li#show_more:hover {
- background: none;
- }
- li.not-allowed {
- // the version which is displayed
- cursor: not-allowed;
- color: #808080;
- .glyphicon-caret-right,
- .dropdown-menu {
- display: none;
- }
- }
- li.not-allowed:hover {
- background-color: #fff;
- background-image: none;
- color: #808080;
- }
-
- div.row, a {
- padding-left: 10px;
- }
- }
- .dropdown-submenu .dropdown-menu {
- min-width: 200px;
- max-width: 300px;
- line-height: 20px;
- font-size: 13px;
- margin: 0;
- padding: 8px;
- color: #333;
- cursor: default;
- .content {
- padding: 1px 5px 15px 5px;
- .group {
- text-align: right;
- margin-top: -20px;
- }
- .date{
- color: #808080;
- font-size: 11px;
- white-space: nowrap;
- }
- .notes{
- word-wrap: break-word;
- overflow-wrap: break-word;
- white-space: pre-wrap;
- }
- }
- .version-operations-buttons .btn {
- font-size: 13px;
- }
- }
- }
-
- #config_version_popup {
- z-index: 1001;
- line-height: 20px;
- padding: 8px;
- font-size: 13px;
- .content {
- padding: 1px 5px 15px 5px;
- .group {
- text-align: right;
- margin-top: -20px;
- }
- .date{
- color: #808080;
- font-size: 11px;
- white-space: nowrap;
- }
- .notes{
- word-wrap: break-word;
- overflow-wrap: break-word;
- white-space: pre-wrap;
- }
- }
- .version-operations-buttons .btn {
- font-size: 13px;
- }
- }
- .stack {
- padding: 1px 10px;
- font-size: 11px;
- }
-}
-
-#config_history {
- .table {
- .filter-input-width{
- width: ~"calc(100% - 20px)";
- }
- // service name column
- th:first-child,
- td:first-child {
- width: 15%;
- }
- // config group, create time columns
- th:first-child + th,
- td:first-child + td,
- th:first-child + th + th,
- td:first-child + td + td {
- width: 20%;
- word-wrap: break-word;
- }
- // author column
- th:first-child + th + th + th,
- td:first-child + td + td + td {
- width: 180px;
- }
- // notes column
- th:first-child + th + th + th + th,
- td:first-child + td + td + td + td {
- word-wrap: break-word;
- }
- td.notes .show-more-button {
- font-size: @default-font-size - 1;
- }
- }
- a {
- cursor: pointer;
- }
-}
-
-
-// Firefox specific styles
-@-moz-document url-prefix() {
- #config_history_flow {
- .version-info-bar {
- .dropdown-menu {
- li {
- line-height: 30px !important;
- }
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/styles/config_versions_control.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/config_versions_control.less b/ambari-web/app/styles/config_versions_control.less
new file mode 100644
index 0000000..e7375d6
--- /dev/null
+++ b/ambari-web/app/styles/config_versions_control.less
@@ -0,0 +1,144 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+@import 'common.less';
+
+@button-width: 150px;
+@border-color: #EBECF1;
+
+#config-versions-control {
+ .dropdown-menu {
+ min-width: 600px;
+ li {
+ padding: 3px 20px;
+ }
+ }
+ .versions-list {
+ max-height: 405px;
+ overflow-y: auto;
+ padding-left: 0;
+ margin-bottom: 0;
+ li {
+ list-style-type: none;
+ }
+ }
+ .grey-text {
+ color: @top-nav-brand-color;
+ }
+ .current-color {
+ color: @health-status-green;
+ }
+ .notes-color {
+ color: #666;
+ }
+ .version-info.selected {
+ background-color: rgb(242, 249, 242);
+ border: 2px solid @border-color;
+ box-shadow: none;
+ }
+ .btn.dropdown-toggle {
+ padding: 10px;
+ text-align: left;
+ span {
+ text-transform: capitalize;
+ }
+ strong {
+ margin-left: 10px;
+ margin-right: 5px;
+ }
+ }
+ .search-input {
+ width: 100%;
+ margin: 5px 0 10px 0;
+ .btn {
+ padding: 10px;
+ }
+ }
+ .version-info {
+ border: 1px solid @border-color;
+ box-shadow: 0 0 5px 2px @border-color;
+ border-radius: 3px;
+ padding: 0 10px;
+ width: 93%;
+ display: inline-block;
+ cursor: pointer;
+ min-height: 60px;
+ }
+ .compare-button {
+ width: 5%;
+ vertical-align: top;
+ padding: 0 6px;
+ margin: 15px 0 0 6px;
+ height: 30px;
+ cursor: pointer;
+ }
+ .make-current {
+ color: @health-status-green;
+ border-color: @health-status-green;
+ }
+ .compare-bar {
+ background-color: @border-color;
+ padding: 10px 15px;
+ .close {
+ line-height: 30px;
+ }
+ }
+}
+
+.config-manage-nav {
+ .config-groups-dropdown {
+ display: inline-block;
+ width: @button-width;
+ .btn.dropdown-toggle {
+ width: 100%;
+ text-align: left;
+ padding: 10px;
+ }
+ .caret {
+ float: right;
+ margin-top: 5px;
+ }
+ }
+ .filter-combobox {
+ display: inline-block;
+ width: @button-width;
+ }
+ .spinner {
+ background-size: 20px;
+ height: 20px;
+ width: 20px;
+ }
+}
+
+div.config-manage-nav.pull-bottom {
+ margin-top: 0;
+}
+
+.config-manage-nav.pull-top {
+ margin-top: -42px;
+}
+
+.configs-save-panel {
+ position: fixed;
+ background: white;
+ padding: 15px 30px 20px;
+ bottom: 0;
+ right: 0;
+ width: 100%;
+ z-index: 3;
+ box-shadow: 0 -3px 5px 2px @border-color;
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/styles/widgets.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/widgets.less b/ambari-web/app/styles/widgets.less
index 9bf60f0..a11c30f 100644
--- a/ambari-web/app/styles/widgets.less
+++ b/ambari-web/app/styles/widgets.less
@@ -143,6 +143,9 @@
left: -@overriden-property-widget-padding;
}
}
+ .input-group-btn {
+ width: auto;
+ }
}
.widget-config-comparison .widget-config&.slider-widget {
@@ -494,6 +497,4 @@
padding: 10px 5px 0 10px;
}
-.input-group-btn {
- width: auto;
-}
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/templates/common/configs/config_history_dropdown_row.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/config_history_dropdown_row.hbs b/ambari-web/app/templates/common/configs/config_history_dropdown_row.hbs
deleted file mode 100644
index 80e6878..0000000
--- a/ambari-web/app/templates/common/configs/config_history_dropdown_row.hbs
+++ /dev/null
@@ -1,24 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-<div class="row version-in-dropdown" {{action doAction view.serviceVersion view.actionTypes.SWITCH target="view"}}>
- <div class="col-md-2">{{view.serviceVersion.versionText}}</div>
- <div class="col-md-6">{{view.serviceVersion.createdDate}}</div>
- <div class="col-md-3">{{view.serviceVersion.authorFormatted}}</div>
- <div class="pull-right"><i class="glyphicon glyphicon-caret-right"></i></div>
-</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/templates/common/configs/config_history_flow.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/config_history_flow.hbs b/ambari-web/app/templates/common/configs/config_history_flow.hbs
deleted file mode 100644
index 99cd140..0000000
--- a/ambari-web/app/templates/common/configs/config_history_flow.hbs
+++ /dev/null
@@ -1,148 +0,0 @@
-{{!
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-}}
-
-<div id="config_history_flow" {{bindAttr class="view.parentView.supportsConfigLayout:with-enhanced-config"}}>
- {{! Slider with config versions }}
- <div class="version-slider">
- <div {{bindAttr class=":glyphicon :glyphicon-chevron-box :pull-left view.showLeftArrow::disabled"}} {{action shiftBack target="view"}} data-toggle="arrow-tooltip"
- {{bindAttr data-original-title="view.leftArrowTooltip"}}><i class="glyphicon-chevron-left glyphicon glyphicon-3x"></i></div>
- <div {{bindAttr class=":glyphicon :glyphicon-chevron-box :pull-left view.showRightArrow::disabled"}} {{action shiftForward target="view"}} data-toggle="arrow-tooltip"
- {{bindAttr data-original-title="view.rightArrowTooltip"}}><i class="glyphicon-chevron-right glyphicon glyphicon-3x"></i></div>
- {{#each sV in view.visibleServiceVersion}}
- {{view App.ConfigsServiceVersionBoxView serviceVersionBinding="sV"}}
- {{/each}}
- </div>
- {{! Slider with config versions end }}
-
- <div class="version-info-bar-wrapper">
- {{! Compare config versions bar }}
- {{#isAuthorized "SERVICE.COMPARE_CONFIGS"}}
- <div {{bindAttr class="view.showCompareVersionBar::hidden :version-info-bar"}}>
- <div class="row">
- <div class="col-md-1 remove-compare-bar" {{action removeCompareVersionBar target="view"}} data-toggle="arrow-tooltip" {{translateAttr data-original-title="services.service.config.configHistory.dismissIcon.tooltip"}}>
- <i class="glyphicon-remove-circle glyphicon glyphicon-large"></i>
- </div>
- <div class="label-wrapper col-md-8" data-toggle="tooltip" {{bindAttr data-original-title="view.compareServiceVersion.fullNotes"}}>
- {{t services.service.config.configHistory.comparing}}
- <span class="label label-info current-version-label">{{view.displayedServiceVersion.versionText}}</span>
- ...
- <span class="label label-info compare-version-label">{{view.compareServiceVersion.versionText}}</span>
- {{#if view.compareServiceVersion.isCurrent}}
- <span class="label label-success">{{t common.current}}</span>
- {{/if}}
- <strong>{{view.compareServiceVersion.authorFormatted}}</strong> {{t dashboard.configHistory.info-bar.authoredOn}}
- <strong>{{view.compareServiceVersion.createdDate}}</strong>
- </div>
- {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
- <div class="operations-button col-md-3">
- <button class="pull-right btn btn-success" {{action doAction view.serviceVersionsReferences.compare view.actionTypes.REVERT target="view"}} {{bindAttr disabled="view.versionActionsDisabled" class="view.compareServiceVersion.canBeMadeCurrent::hidden"}}>{{view.compareServiceVersion.makeCurrentButtonText}}</button>
- </div>
- {{/isAuthorized}}
- </div>
- </div>
- {{/isAuthorized}}
- {{! Compare config versions bar end }}
-
- {{! Popup for config version }}
- {{#view App.ConfigHistoryDropdownSubMenuView id="config_version_popup"}}
- {{#if view.parentView.hoveredServiceVersion}}
- <div class="content">
- <span class="label label-info">{{view.parentView.hoveredServiceVersion.versionText}}</span>
- <span class="stack">{{view.parentView.hoveredServiceVersion.stackVersion}}</span>
- <div class="group"><strong>{{view.parentView.hoveredServiceVersion.configGroupName}}</strong></div>
- <div class="date"><strong>{{view.parentView.hoveredServiceVersion.authorFormatted}}</strong> {{t dashboard.configHistory.info-bar.authoredOn}} <strong>{{view.parentView.hoveredServiceVersion.createdDate}}</strong></div>
- <div class="notes">{{view.parentView.hoveredServiceVersion.fullNotes}}</div>
- </div>
- <div class="version-operations-buttons">
- <button {{bindAttr disabled="view.parentView.hoveredServiceVersion.disabledActionAttr.view" class=":btn :btn-default view.parentView.hoveredServiceVersion.isDisplayed:not-allowed-cursor" title="view.parentView.hoveredServiceVersion.disabledActionMessages.view"}} {{action doAction undefined view.parentView.actionTypes.SWITCH target="view.parentView"}}><i class="glyphicon glyphicon-search"></i> {{t common.view}}</button>
- {{#havePermissions "SERVICE.COMPARE_CONFIGS"}}
- <button {{bindAttr disabled="view.parentView.hoveredServiceVersion.disabledActionAttr.compare" class=":btn :btn-default view.parentView.hoveredServiceVersion.isDisplayed:not-allowed-cursor" title="view.parentView.hoveredServiceVersion.disabledActionMessages.compare"}} {{action doAction undefined view.parentView.actionTypes.COMPARE target="view.parentView"}}><i class="glyphicon glyphicon-copy"></i> {{t common.compare}}</button>
- {{/havePermissions}}
- {{#havePermissions "SERVICE.MODIFY_CONFIGS"}}
- <button {{bindAttr disabled="view.parentView.hoveredServiceVersion.disabledActionAttr.revert" class=":btn :btn-default view.parentView.hoveredServiceVersion.isCurrent:not-allowed-cursor view.parentView.hoveredServiceVersion.isCompatible::hidden" title="view.parentView.hoveredServiceVersion.disabledActionMessages.revert"}} {{action doAction undefined view.parentView.actionTypes.REVERT target="view.parentView"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
- {{/havePermissions}}
- </div>
- {{/if}}
- {{/view}}
- {{! Popup for config version }}
-
- {{! Config Version Bar }}
- <div class="version-info-bar">
- <div class="row">
- <div class="btn-group col-md-2">
- <button id="toggle-dropdown-button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#" {{action hideFullList target="view"}} {{bindAttr disabled="view.versionActionsDisabled"}}>
- <i class="glyphicon glyphicon-random"></i>
- <span class="caret"></span>
- </button>
- <div id="dropdown_content" class="dropdown-menu">
- <div id="dropdown_outer_container">
- <div id="dropdown_inner_container">
- <div id="dropdown_menu_container">
- <ul id="dropdown_menu">
- {{#each serviceVersion in view.dropDownList}}
- {{view App.ConfigHistoryDropdownRowView serviceVersionBinding="serviceVersion"}}
- {{/each}}
- {{#unless view.showFullList}}
- <li class="align-center pointer" id="show_more">
- <a {{action openFullList target="view"}}>
- {{t dashboard.configHistory.info-bar.showMore}} {{controller.selectedService.displayName}}
- <span class="lowercase ellipsis">{{t dashboard.configHistory.title}}</span>
- </a>
- </li>
- {{/unless}}
- </ul>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="label-wrapper col-md-6" data-toggle="tooltip" {{bindAttr data-original-title="view.displayedServiceVersion.fullNotes"}}>
- {{#if view.displayedServiceVersion.versionText}}
- <span class="label label-info current-version-label">{{view.displayedServiceVersion.versionText}}</span>
- {{/if}}
- {{#if view.displayedServiceVersion.isCurrent}}
- <span class="label label-current label-success" data-toggle="tooltip" {{translateAttr title="common.current"}}>
- <i class="glyphicon glyphicon-ok"></i>
- </span>
- {{/if}}
- {{#if view.displayedServiceVersion.author}}
- <strong>{{view.displayedServiceVersion.author}}</strong> {{t dashboard.configHistory.info-bar.authoredOn}} <strong>{{view.displayedServiceVersion.createdDate}}</strong>
- {{/if}}
- </div>
- {{#isAuthorized "SERVICE.MODIFY_CONFIGS"}}
- <div class="operations-button col-md-4">
- <div {{bindAttr class="view.displayedServiceVersion.isCurrent::hidden :pull-right"}}>
- <button class="btn btn-default" {{action doCancel target="controller"}} {{bindAttr disabled="view.isDiscardDisabled"}}>
- {{t common.discard}}
- </button>
- <button class="btn btn-success" {{action save target="view"}} {{bindAttr disabled="view.isSaveDisabled"}}>
- {{t common.save}}
- </button>
- </div>
- <div class="pull-right">
- <button class="btn btn-success" {{action doAction view.serviceVersionsReferences.displayed view.actionTypes.REVERT target="view"}} {{bindAttr disabled="view.versionActionsDisabled" class="view.displayedServiceVersion.canBeMadeCurrent::hidden"}}>
- {{view.displayedServiceVersion.makeCurrentButtonText}}
- </button>
- </div>
- </div>
- {{/isAuthorized}}
- </div>
- </div>
- {{! Config Version Bar end }}
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/templates/common/configs/config_versions_control.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/config_versions_control.hbs b/ambari-web/app/templates/common/configs/config_versions_control.hbs
new file mode 100644
index 0000000..251276b
--- /dev/null
+++ b/ambari-web/app/templates/common/configs/config_versions_control.hbs
@@ -0,0 +1,42 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<div id="config-versions-control">
+ {{#if view.isCompareMode}}
+ <div class="compare-bar">
+ <i class="glyphicon glyphicon-duplicate" aria-hidden="true"></i>
+ <span>{{t services.service.config.configHistory.comparing}}:</span>
+ {{view App.ConfigVersionsDropdownView
+ serviceVersionsBinding="view.primaryServiceVersionsInCompare"
+ isCompareMode="true"}}
+ <span class="grey-text">{{t common.with}}</span>
+ {{view App.ConfigVersionsDropdownView
+ serviceVersionsBinding="view.secondaryServiceVersionsInCompare"
+ isSecondary="true"
+ isCompareMode="true"}}
+ <a {{action removeCompareVersionBar target="view"}} class="pull-right close">×</a>
+ </div>
+ {{else}}
+ {{view App.ConfigVersionsDropdownView serviceVersionsBinding="view.serviceVersions"}}
+ {{#unless view.displayedServiceVersion.isCurrent}}
+ <button class="btn btn-default make-current" {{action makeCurrent view.displayedServiceVersion target="view"}}>
+ {{t dashboard.configHistory.info-bar.revert.button}}
+ </button>
+ {{/unless}}
+ {{/if}}
+</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/templates/common/configs/config_versions_dropdown.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/config_versions_dropdown.hbs b/ambari-web/app/templates/common/configs/config_versions_dropdown.hbs
new file mode 100644
index 0000000..18083f9
--- /dev/null
+++ b/ambari-web/app/templates/common/configs/config_versions_dropdown.hbs
@@ -0,0 +1,69 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true"
+ aria-expanded="false">
+ {{t common.version}}:
+ <span class="pull-right"><strong>{{view.displayedServiceVersion.version}}</strong><span class="caret"></span></span>
+</button>
+<div class="dropdown-menu">
+ <li class="input-group search-input">
+ {{view Em.TextField valueBinding="view.filterValue" class="form-control" placeholderBinding="view.searchLabel"}}
+ <span class="input-group-btn">
+ <button class="btn btn-default" type="button">
+ <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
+ </button>
+ </span>
+ </li>
+ <ul class="versions-list">
+ {{#each item in view.filteredServiceVersions}}
+ <li>
+ <div {{bindAttr class="item.isDisplayed:selected view.isCompareMode:full-width :version-info"}}
+ {{action mainClickAction item target="view"}}>
+ <div class="row">
+ <div class="col-md-4">
+ <span class="h2">{{t common.version}} {{item.version}} </span>
+ <span class="description grey-text">{{item.stackVersion}}</span>
+ </div>
+ <div class="col-md-8 description grey-text">
+ <span class="pull-right">
+ <strong>{{item.authorFormatted}}</strong>
+ {{t dashboard.configHistory.info-bar.authoredOn}}
+ <strong>{{item.createdDate}}</strong>
+ </span>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-10 description notes-color">{{item.fullNotes}}</div>
+ <div class="col-md-2">
+ {{#if item.isCurrent}}
+ <strong class="pull-right current-color">{{t common.current}}</strong>
+ {{/if}}
+ </div>
+ </div>
+ </div>
+ {{#unless view.isCompareMode}}
+ <button {{bindAttr class="item.isDisplayed:hide :compare-button :btn :btn-default"}}
+ {{action compare item target="view.parentView"}}>
+ <i class="glyphicon glyphicon-duplicate" aria-hidden="true"></i>
+ </button>
+ {{/unless}}
+ </li>
+ {{/each}}
+ </ul>
+</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/templates/common/configs/service_config.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/service_config.hbs b/ambari-web/app/templates/common/configs/service_config.hbs
index f071dd2..b097b16 100644
--- a/ambari-web/app/templates/common/configs/service_config.hbs
+++ b/ambari-web/app/templates/common/configs/service_config.hbs
@@ -45,54 +45,61 @@
</div>
{{/if}}
{{/if}}
-{{#if view.supportsHostOverrides}}
- <div class="alert alert-info config-manage-nav">
- {{t common.group}}
- <span class="btn-group config-groups-dropdown">
- {{#if controller.configGroupsAreLoaded}}
- <button {{bindAttr disabled="controller.isHostsConfigsPage"}} style="text-transform: none;" class="btn btn-default dropdown-toggle first"
- data-toggle="dropdown">{{selectedConfigGroup.displayNameHosts}}</button>
- <button {{bindAttr disabled="controller.isHostsConfigsPage"}} class="btn btn-default dropdown-toggle" data-toggle="dropdown">
- <span class="caret"></span>
- </button>
- <ul class="dropdown-menu config-groups-dropdown-menu">
- <!-- available config group menu links -->
- {{#each configGroup in configGroups}}
- <li>
- <a href="#" {{action "selectConfigGroup" configGroup target="controller"}}>
- {{configGroup.displayNameHosts}}
- </a>
- </li>
- {{/each}}
- </ul>
+
+<div>
+ <div class="mbm">
+ {{#if view.isOnTheServicePage}}
+ {{#if allVersionsLoaded}}
+ {{view App.ConfigVersionsControlView}}
{{else}}
- {{view App.SpinnerView classNames="pull-left"}}
+ {{view App.SpinnerView}}
{{/if}}
- </span>
+ {{/if}}
+ </div>
+ {{#if view.supportsHostOverrides}}
+ <div {{bindAttr class="controller.isCompareMode:pull-bottom :pull-top :config-manage-nav :pull-right"}}>
{{#if controller.isHostsConfigsPage}}
{{#isAuthorized "SERVICE.MANAGE_CONFIG_GROUPS"}}
<a href="#" {{action "switchHostGroup" target="controller"}}>{{t common.change}}</a>
{{/isAuthorized}}
+ {{/if}}
+ {{t common.configGroup}}
+ {{#if controller.configGroupsAreLoaded}}
+ <div class="btn-group config-groups-dropdown">
+ <button {{bindAttr disabled="controller.isHostsConfigsPage"}}
+ class="btn btn-default dropdown-toggle"
+ data-toggle="dropdown">
+ {{selectedConfigGroup.displayNameHosts}}
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu config-groups-dropdown-menu">
+ {{#isAuthorized "SERVICE.MANAGE_CONFIG_GROUPS"}}
+ <li>
+ <a href="#" class="link-left-pad" {{action "manageConfigurationGroup" target="controller"}}>{{t
+ services.service.actions.manage_configuration_groups.short}}</a>
+ </li>
+ <li role="separator" class="divider"></li>
+ {{/isAuthorized}}
+ <!-- available config group menu links -->
+ {{#each configGroup in configGroups}}
+ <li>
+ <a href="#" {{action "selectConfigGroup" configGroup target="controller"}}>
+ {{configGroup.displayNameHosts}}
+ </a>
+ </li>
+ {{/each}}
+ </ul>
+ </div>
{{else}}
- {{#isAuthorized "SERVICE.MANAGE_CONFIG_GROUPS"}}
- <a href="#" class="link-left-pad" {{action "manageConfigurationGroup" target="controller"}}>{{t services.service.actions.manage_configuration_groups.short}}</a>
- {{/isAuthorized}}
+ {{view App.SpinnerView classNames="pull-left"}}
{{/if}}
- <div class="pull-right">
- {{view App.FilterComboCleanableView filterBinding="view.filter" columnsBinding="view.columns" popoverDescriptionBinding="view.propertyFilterPopover"}}
- </div>
- <div class="clearfix"></div>
- </div>
-{{/if}}
+ {{view App.FilterComboCleanableView classNames="col-lg-4" filterBinding="view.filter"
+ columnsBinding="view.columns" popoverDescriptionBinding="view.propertyFilterPopover"}}
-{{#if view.isOnTheServicePage}}
- {{#if allVersionsLoaded}}
- {{view App.ConfigHistoryFlowView serviceBinding="selectedService"}}
- {{else}}
- {{view App.SpinnerView}}
+ </div>
{{/if}}
-{{/if}}
+</div>
{{#if versionLoaded}}
{{#unless hideDependenciesInfoBar}}
@@ -149,10 +156,24 @@
{{view App.ConfigCategoryContainerView categoriesBinding="selectedService.configCategories" canEditBinding="view.canEdit" serviceBinding="selectedService" serviceConfigsBinding="selectedService.configs" supportsHostOverridesBinding="view.supportsHostOverrides"}}
{{/if}}
{{#if view.isAllConfigsHidden}}
- <div class="alert alert-info col-sm-12">
+ <div class="alert alert-info">
{{t services.service.config.nothing.to.display}}
</div>
{{/if}}
{{else}}
{{view App.SpinnerView}}
{{/if}}
+
+<div class="configs-save-panel" {{bindAttr class="view.showSavePanel::hidden"}}>
+ <div class="pull-right">
+ <button class="btn btn-default" {{action doCancel target="controller"}}
+ {{bindAttr disabled="view.isDiscardDisabled"}}>
+ {{t common.discard}}
+ </button>
+ <button class="btn btn-success" {{action save target="view"}}
+ {{bindAttr disabled="view.isSaveDisabled"}}>
+ {{t common.save}}
+ </button>
+ </div>
+ <div class="clearfix"></div>
+</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/views.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views.js b/ambari-web/app/views.js
index 394e390..e18182f 100644
--- a/ambari-web/app/views.js
+++ b/ambari-web/app/views.js
@@ -75,7 +75,8 @@ require('views/common/configs/config_category_container_view');
require('views/common/configs/overriddenPropertyRow_view');
require('views/common/configs/overriddenProperty_view');
require('views/common/configs/compare_property_view');
-require('views/common/configs/config_history_flow');
+require('views/common/configs/config_versions_control_view');
+require('views/common/configs/config_versions_dropdown_view');
require('views/common/configs/selectable_popup_body_view');
require('views/common/configs/custom_category_views/notification_configs_view');
require('views/common/configs/config_diff_view');
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/views/common/configs/config_history_flow.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/config_history_flow.js b/ambari-web/app/views/common/configs/config_history_flow.js
deleted file mode 100644
index 32a5e71..0000000
--- a/ambari-web/app/views/common/configs/config_history_flow.js
+++ /dev/null
@@ -1,644 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.ConfigHistoryFlowView = Em.View.extend({
- templateName: require('templates/common/configs/config_history_flow'),
-
- /**
- * index of the first element(service version box) in viewport
- */
- startIndex: 0,
- showLeftArrow: false,
- showRightArrow: false,
- leftArrowTooltip: Em.computed.ifThenElse('showLeftArrow', Em.I18n.t('services.service.config.configHistory.leftArrow.tooltip'), null),
- rightArrowTooltip: Em.computed.ifThenElse('showRightArrow', Em.I18n.t('services.service.config.configHistory.rightArrow.tooltip'), null),
- VERSIONS_IN_FLOW: 6,
- VERSIONS_IN_DROPDOWN: 25,
- /**
- * flag identify whether to show all versions or short list of them
- */
- showFullList: false,
- compareServiceVersion: null,
-
- /**
- * types of actions that can't be done to service config versions
- */
- actionTypes: {
- SWITCH: 'switchVersion',
- COMPARE: 'compare',
- REVERT: 'revert'
- },
-
- /**
- * serviceVersion object that is currently being hovered in the dropdown menu
- */
- hoveredServiceVersion: null,
- /**
- * flag to check if sub-menu popup is currently being hovered
- */
- displaySubMenuFlag: false,
- /**
- * flag to check if any dropdown item is currently hovered by the user
- */
- isHovered: false,
-
- /**
- * In reason of absence of properties dynamic values support which passed to an action,
- * used property map to get latest values of properties for action
- */
- serviceVersionsReferences: {
- displayed: Em.Object.create({
- isReference: true,
- property: 'displayedServiceVersion'
- }),
- compare: Em.Object.create({
- isReference: true,
- property: 'compareServiceVersion'
- })
- },
-
- allServiceVersions: function() {
- return App.ServiceConfigVersion.find().filterProperty('serviceName', this.get('serviceName'));
- }.property('serviceName'),
-
- showCompareVersionBar: Em.computed.bool('compareServiceVersion'),
-
- isSaveDisabled: Em.computed.or('controller.isSubmitDisabled', '!controller.versionLoaded', '!controller.isPropertiesChanged'),
-
- serviceName: Em.computed.alias('controller.content.serviceName'),
-
- displayedServiceVersion: Em.computed.findBy('serviceVersions', 'isDisplayed', true),
- /**
- * identify whether to show link that open whole content of notes
- */
- showMoreLink: Em.computed.gt('displayedServiceVersion.notes.length', 100),
- /**
- * formatted notes ready to display
- */
- shortNotes: Em.computed.truncate('displayedServiceVersion.notes', 100, 100),
-
- serviceVersions: function () {
- var isDefaultGroupSelected = this.get('controller.selectedConfigGroup.isDefault');
- var groupId = this.get('controller.selectedConfigGroup.id');
- var self = this;
-
- this.get('allServiceVersions').forEach(function (version) {
- version.set('isDisabled', !(version.get('groupId') === groupId || isDefaultGroupSelected && version.get('groupName') === App.ServiceConfigGroup.defaultGroupName));
- }, this);
-
- var serviceVersions = this.get('allServiceVersions').filter(function(s) {
- return s.get('groupId') === groupId || s.get('groupName') === App.ServiceConfigGroup.defaultGroupName;
- });
-
- if (!serviceVersions.findProperty('isDisplayed')) {
- //recompute serviceVersions if displayed version absent
- Em.run.next(function() {
- self.propertyDidChange('controller.selectedConfigGroup.name');
- });
- }
-
- return serviceVersions.sort(function (a, b) {
- return Em.get(b, 'createTime') - Em.get(a, 'createTime');
- });
- }.property('serviceName', 'controller.selectedConfigGroup.name'),
-
- /**
- * disable versions visible to the user to prevent actions on them
- */
- disableVersions: function () {
- this.get('allServiceVersions').setEach('isDisabled', true);
- },
-
- /**
- * service versions which in viewport and visible to user
- */
- visibleServiceVersion: function () {
- return this.get('serviceVersions').slice(this.get('startIndex'), this.get('startIndex') + this.VERSIONS_IN_FLOW);
- }.property('startIndex', 'serviceVersions'),
-
- /**
- * enable actions to manipulate version only after it's loaded
- */
- versionActionsDisabled: Em.computed.or('!controller.versionLoaded', '!dropDownList.length'),
-
- /**
- * enable discard to manipulate version only after it's loaded and any property is changed
- */
- isDiscardDisabled: Em.computed.or('!controller.versionLoaded', '!controller.isPropertiesChanged'),
- /**
- * list of service versions
- * by default 6 is number of items in short list
- */
- dropDownList: function () {
- var serviceVersions = this.get('serviceVersions').slice(0);
- if (this.get('showFullList')) {
- return serviceVersions;
- }
- return serviceVersions.slice(0, this.VERSIONS_IN_DROPDOWN);
- }.property('serviceVersions', 'showFullList', 'displayedServiceVersion'),
-
- openFullList: function (event) {
- event.stopPropagation();
- this.set('showFullList', true);
- },
-
- hideFullList: function (event) {
- this.set('showFullList', !(this.get('serviceVersions.length') > this.VERSIONS_IN_DROPDOWN));
- },
-
- didInsertElement: function () {
- App.tooltip(this.$('[data-toggle=tooltip]'),{
- placement: 'bottom',
- html: false
- });
- App.tooltip(this.$('[data-toggle=arrow-tooltip]'),{
- placement: 'top'
- });
- this.$(".version-info-bar-wrapper").stick_in_parent({parent: '#serviceConfig', offset_top: 10});
- this.onChangeConfigGroup();
- },
-
- willDestroyElement: function() {
- this.$('.version-info-bar-wrapper').trigger('sticky_kit:detach').off();
- this.$('[data-toggle=tooltip]').tooltip('destroy');
- this.$('[data-toggle=arrow-tooltip]').tooltip('destroy');
- },
-
- willInsertElement: function () {
- this.setDisplayVersion();
- },
-
- setDisplayVersion: function () {
- var serviceVersions = this.get('serviceVersions');
- var startIndex = 0;
- var currentIndex = 0;
- var selectedVersion = this.get('controller.selectedVersion');
-
- serviceVersions.setEach('isDisplayed', false);
-
- serviceVersions.forEach(function (serviceVersion, index) {
- if (selectedVersion === serviceVersion.get('version')) {
- serviceVersion.set('isDisplayed', true);
- currentIndex = index;
- }
- }, this);
-
- // show current version as the last one
- if (currentIndex + 1 > this.VERSIONS_IN_FLOW) {
- startIndex = currentIndex + 1 - this.VERSIONS_IN_FLOW;
- }
- this.set('startIndex', startIndex);
- this.adjustFlowView();
- }.observes('allVersionsLoaded'),
-
- onChangeConfigGroup: function () {
- var serviceVersions = this.get('serviceVersions');
- var selectedGroupName = this.get('controller.selectedConfigGroup.name');
- var preselectedVersion = this.get('controller.selectedVersion');
- var startIndex = 0;
- var currentIndex = 0;
- var isCurrentInDefaultGroupIndex = null;
-
-
- serviceVersions.setEach('isDisplayed', false);
- // display selected version from config history
- serviceVersions.forEach(function (serviceVersion, index) {
- // find selected version in group
- if (serviceVersion.get('version') === preselectedVersion && serviceVersion.get('groupName') === selectedGroupName) {
- serviceVersion.set('isDisplayed', true);
- currentIndex = index + 1;
- }
- });
- // display current in selected group
- if (!currentIndex) {
- serviceVersions.forEach(function (serviceVersion, index) {
- // find current in selected group
- if (serviceVersion.get('isCurrent') && serviceVersion.get('groupName') === selectedGroupName) {
- serviceVersion.set('isDisplayed', true);
- currentIndex = index + 1;
- }
- if (serviceVersion.get('isCurrent') && serviceVersion.get('groupName') === App.ServiceConfigGroup.defaultGroupName) {
- isCurrentInDefaultGroupIndex = index;
- }
- });
- // if there is no current version in selected group show current version from default group
- if (!currentIndex && !Em.isNone(isCurrentInDefaultGroupIndex)) {
- serviceVersions[isCurrentInDefaultGroupIndex].set('isDisplayed', true);
- currentIndex = isCurrentInDefaultGroupIndex + 1;
- }
- }
- // show current version as the last one
- if (currentIndex > this.VERSIONS_IN_FLOW) {
- startIndex = currentIndex - this.VERSIONS_IN_FLOW;
- }
- this.set('startIndex', startIndex);
- this.adjustFlowView();
- }.observes('controller.selectedConfigGroup'),
-
- /**
- * define the first element in viewport
- * change visibility of arrows
- */
- adjustFlowView: function () {
- var startIndex = this.get('startIndex');
- this.get('serviceVersions').forEach(function (serviceVersion, index) {
- serviceVersion.set('first', index === startIndex);
- });
- this.set('showLeftArrow', startIndex !== 0);
- this.set('showRightArrow', (this.get('serviceVersions.length') > this.VERSIONS_IN_FLOW) && ((startIndex + this.VERSIONS_IN_FLOW) < this.get('serviceVersions.length')));
- },
-
- /**
- * check action constraints prior to invoke it
- * @param event
- */
- doAction: function (event) {
- var type = event.contexts[1],
- controller = this.get('controller'),
- self = this;
- if (!controller.get('versionLoaded')) {
- return;
- }
- // action from right popup of pull down version list will have context[0] == undefined, and use 'hoveredServiceVersion'.
- // refer to AMBARI-19871 for more info
- var configVersion = event.contexts[0] || this.get('hoveredServiceVersion');
- if (type === 'switchVersion') {
- if (configVersion && configVersion.get("isDisplayed")) return;
- } else {
- var isDisabled = configVersion ? configVersion.get('isDisabled') : false;
- if (isDisabled) return;
- }
-
- function callback() {
- self[type].call(self, event);
- }
-
- Em.run.next(function() {
- if (controller.hasUnsavedChanges()) {
- controller.showSavePopup(null, callback);
- return;
- }
-
- self.disableVersions();
- callback();
- });
- $("#config_version_popup").removeAttr('style');
- },
-
- /**
- * switch configs view version to chosen
- */
- switchVersion: function (event) {
- var configVersion = event.contexts[0] || this.get('hoveredServiceVersion');
- var version = configVersion.get('version');
- var versionIndex = 0;
- this.set('compareServiceVersion', null);
- this.get('serviceVersions').forEach(function (serviceVersion, index) {
- if (serviceVersion.get('version') === version) {
- serviceVersion.set('isDisplayed', true);
- versionIndex = index;
- } else {
- serviceVersion.set('isDisplayed', false);
- }
- });
- this.shiftFlowOnSwitch(versionIndex);
- this.get('controller').loadSelectedVersion(version);
- },
-
- /**
- * add config values of chosen version to view for comparison
- * add a second version-info-bar for the chosen version
- */
- compare: function (event) {
- var serviceConfigVersion = event.contexts[0] || this.get('hoveredServiceVersion');
- this.set('controller.compareServiceVersion', serviceConfigVersion);
- this.set('compareServiceVersion', serviceConfigVersion);
-
- var controller = this.get('controller');
- controller.get('stepConfigs').clear();
- controller.loadCompareVersionConfigs(controller.get('allConfigs')).done(function() {
- controller.onLoadOverrides(controller.get('allConfigs'));
- });
- },
- removeCompareVersionBar: function () {
- var displayedVersion = this.get('displayedServiceVersion.version');
- var versionIndex = 0;
-
- this.set('compareServiceVersion', null);
- this.get('serviceVersions').forEach(function (serviceVersion, index) {
- if (serviceVersion.get('version') === displayedVersion) {
- serviceVersion.set('isDisplayed', true);
- versionIndex = index;
- } else {
- serviceVersion.set('isDisplayed', false);
- }
- });
- this.set('isCompareMode', false);
- this.shiftFlowOnSwitch(versionIndex);
- this.get('controller').loadSelectedVersion(displayedVersion);
- },
- clearCompareVersionBar: function () {
- if (this.get('controller.isCompareMode') === false) {
- this.set('compareServiceVersion', null);
- }
- }.observes('controller.isCompareMode'),
- /**
- * revert config values to chosen version and apply reverted configs to server
- */
- revert: function (event) {
- var self = this;
- var serviceConfigVersion = event.contexts[0] || this.get('hoveredServiceVersion') || Em.Object.create({
- version: this.get('displayedServiceVersion.version'),
- serviceName: this.get('displayedServiceVersion.serviceName'),
- notes:''
- });
- if (serviceConfigVersion.get('isReference')) {
- serviceConfigVersion = this.get(serviceConfigVersion.get('property'));
- }
- var versionText = serviceConfigVersion.get('versionText');
- return App.ModalPopup.show({
- header: Em.I18n.t('dashboard.configHistory.info-bar.makeCurrent.popup.title'),
- serviceConfigNote: Em.I18n.t('services.service.config.configHistory.makeCurrent.message').format(versionText),
- bodyClass: Em.View.extend({
- templateName: require('templates/common/configs/save_configuration'),
- classNames: ['col-md-12'],
- notesArea: Em.TextArea.extend({
- classNames: ['full-width'],
- value: Em.I18n.t('services.service.config.configHistory.makeCurrent.message').format(versionText),
- onChangeValue: function() {
- this.get('parentView.parentView').set('serviceConfigNote', this.get('value'));
- }.observes('value')
- })
- }),
- primary: Em.I18n.t('dashboard.configHistory.info-bar.revert.button'),
- secondary: Em.I18n.t('common.discard'),
- third: Em.I18n.t('common.cancel'),
- onPrimary: function () {
- serviceConfigVersion.set('serviceConfigNote', this.get('serviceConfigNote'));
- self.sendRevertCall(serviceConfigVersion);
- this.hide();
- },
- onSecondary: function () {
- // force <code>serviceVersions</code> recalculating
- self.propertyDidChange('controller.selectedConfigGroup.name');
- this._super();
- },
- onThird: function () {
- this.onSecondary();
- }
- });
- },
-
- /**
- * send PUT call to revert config to selected version
- * @param serviceConfigVersion
- */
- sendRevertCall: function (serviceConfigVersion) {
- App.ajax.send({
- name: 'service.serviceConfigVersion.revert',
- sender: this,
- data: {
- data: {
- "Clusters": {
- "desired_service_config_versions": {
- "service_config_version": serviceConfigVersion.get('version'),
- "service_name": serviceConfigVersion.get('serviceName'),
- "service_config_version_note": serviceConfigVersion.get('serviceConfigNote')
- }
- }
- }
- },
- success: 'sendRevertCallSuccess'
- });
- },
-
- sendRevertCallSuccess: function (data, opt, params) {
- // revert to an old version would generate a new version with latest version number,
- // so, need to loadStep to update
- App.router.get('updateController').updateComponentConfig(Em.K);
- this.get('controller').loadStep();
- },
-
- /**
- * save configuration
- * @return {object}
- */
- save: function () {
- var self = this;
- var passwordWasChanged = this.get('controller.passwordConfigsAreChanged');
- return App.ModalPopup.show({
- header: Em.I18n.t('dashboard.configHistory.info-bar.save.popup.title'),
- serviceConfigNote: '',
- bodyClass: Em.View.extend({
- templateName: require('templates/common/configs/save_configuration'),
- classNames: ['col-md-12'],
- showPasswordChangeWarning: passwordWasChanged,
- notesArea: Em.TextArea.extend({
- classNames: ['full-width'],
- value: passwordWasChanged ? Em.I18n.t('dashboard.configHistory.info-bar.save.popup.notesForPasswordChange') : '',
- placeholder: Em.I18n.t('dashboard.configHistory.info-bar.save.popup.placeholder'),
- didInsertElement: function () {
- if (this.get('value')) {
- this.onChangeValue();
- }
- },
- onChangeValue: function() {
- this.get('parentView.parentView').set('serviceConfigNote', this.get('value'));
- }.observes('value')
- })
- }),
- footerClass: Em.View.extend({
- templateName: require('templates/main/service/info/save_popup_footer')
- }),
- primary: Em.I18n.t('common.save'),
- secondary: Em.I18n.t('common.cancel'),
- onSave: function () {
- var newVersionToBeCreated = App.ServiceConfigVersion.find().filterProperty('serviceName', self.get('serviceName')).get('length') + 1;
- self.get('controller').setProperties({
- saveConfigsFlag: true,
- serviceConfigVersionNote: this.get('serviceConfigNote'),
- preSelectedConfigVersion: Em.Object.create({
- version: newVersionToBeCreated,
- serviceName: self.get('displayedServiceVersion.serviceName'),
- groupName: self.get('controller.selectedConfigGroup.name')
- })
- });
- self.get('controller').saveStepConfigs();
- this.hide();
- },
- onDiscard: function () {
- this.hide();
- self.set('controller.preSelectedConfigVersion', null);
- self.get('controller').loadStep();
- },
- onCancel: function () {
- this.hide();
- }
- });
- },
- /**
- * move back to the later service version
- */
- shiftBack: function () {
- if (!this.get('showLeftArrow')) return;
- this.decrementProperty('startIndex');
- this.adjustFlowView();
- },
- /**
- * move forward to the previous service version
- */
- shiftForward: function () {
- if (!this.get('showRightArrow')) return;
- this.incrementProperty('startIndex');
- this.adjustFlowView();
- },
- /**
- * shift flow view to position where selected version is visible
- * @param versionIndex
- */
- shiftFlowOnSwitch: function (versionIndex) {
- var serviceVersions = this.get('serviceVersions');
-
- if ((this.get('startIndex') + this.VERSIONS_IN_FLOW) < versionIndex || versionIndex < this.get('startIndex')) {
- versionIndex = (serviceVersions.length < (versionIndex + this.VERSIONS_IN_FLOW)) ? serviceVersions.length - this.VERSIONS_IN_FLOW : versionIndex;
- this.set('startIndex', versionIndex);
- this.adjustFlowView();
- }
- }
-});
-
-App.ConfigsServiceVersionBoxView = Em.View.extend({
-
- /**
- * bound from template
- */
- serviceVersion: null,
-
- actionTypesBinding: 'parentView.actionTypes',
-
- disabledActionAttr: Em.computed.alias('serviceVersion.disabledActionAttr'),
-
- disabledActionMessages: Em.computed.alias('serviceVersion.disabledActionMessages'),
-
- templateName: require('templates/common/configs/service_version_box'),
-
- didInsertElement: function () {
- this._super();
- this.$('.version-box').hoverIntent(function() {
- $(this).find('.version-popover').delay(700).fadeIn(200).end();
- }, function() {
- $(this).find('.version-popover').stop().fadeOut(200).end();
- });
- App.tooltip(this.$('[data-toggle=tooltip]'), {
- placement: 'bottom'
- });
- App.tooltip(this.$('[data-toggle=arrow-tooltip]'), {
- placement: 'top'
- });
- },
-
- willDestroyElement: function() {
- this.$('.version-box').off();
- this.$('[data-toggle=tooltip]').tooltip('destroy');
- this.$('[data-toggle=arrow-tooltip]').tooltip('destroy');
- }
-});
-
-App.ConfigHistoryDropdownRowView = Em.View.extend({
-
- templateName: require('templates/common/configs/config_history_dropdown_row'),
-
- tagName: "li",
-
- classNameBindings: [':pointer', ':dropdown-submenu', 'isDisplayed:not-allowed'],
-
- serviceVersion: null,
-
- isDisplayed: function() {
- var serviceVersion = this.get('serviceVersion');
- if(serviceVersion) {
- return serviceVersion.get('isDisplayed');
- }
- return false;
- }.property('serviceVersion'),
-
- actionTypesBinding: 'parentView.actionTypes',
-
- doAction: function(event) {
- this.get('parentView').doAction(event);
- },
-
- eventManager: Ember.Object.create({
- mouseEnter: function(event, view) {
- var serviceVersion = view.get('serviceVersion');
- var version = serviceVersion.get('version');
- var $el = $('#config_version_popup');
- var $currentTarget = $(event.currentTarget);
- var parentView = view.get('parentView');
- parentView.set('hoveredServiceVersion', null);
- if (!serviceVersion.get("isDisplayed")) {
- parentView.set('hoveredServiceVersion', serviceVersion);
- parentView.set('isHovered', true);
- var elHeight = $el.outerHeight(),
- pagePosition = window.innerHeight + window.pageYOffset,
- elBottomPosition = $currentTarget[0].getBoundingClientRect().top + elHeight,
- shouldShowUp = elBottomPosition > pagePosition;
- $el.css({
- "position": "fixed",
- "top": $currentTarget[0].getBoundingClientRect().top,
- "left": $currentTarget[0].getBoundingClientRect().left + 400,
- "margin-top": -(elHeight/3),
- "display": "block"
- });
- if (shouldShowUp) {
- $el.css('margin-top', -(elHeight - $currentTarget.outerHeight()));
- }
- }
- $el = null;
- },
- mouseLeave: function(event, view) {
- var parentView = view.get('parentView');
- parentView.set('isHovered', false);
- Em.run.later(function() {
- if(!parentView.get('displaySubMenuFlag') && !parentView.get('isHovered')) {
- $('#config_version_popup').removeAttr('style');
- }
- }, 200);
- }
- })
-});
-
-App.ConfigHistoryDropdownSubMenuView = Em.View.extend({
-
- tagName: 'ul',
-
- classNameBindings: [':dropdown-menu', ':version-info-operations'],
-
- eventManager: Ember.Object.create({
- mouseEnter: function(event, view) {
- view.get('parentView').set('displaySubMenuFlag', true);
- },
- mouseLeave: function(event, view) {
- var parentView = view.get('parentView');
- parentView.set('displaySubMenuFlag', false);
- $("#config_version_popup").removeAttr('style');
- }
- })
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/views/common/configs/config_versions_control_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/config_versions_control_view.js b/ambari-web/app/views/common/configs/config_versions_control_view.js
new file mode 100644
index 0000000..d5f8807
--- /dev/null
+++ b/ambari-web/app/views/common/configs/config_versions_control_view.js
@@ -0,0 +1,235 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var App = require('app');
+
+App.ConfigVersionsControlView = Em.View.extend({
+ templateName: require('templates/common/configs/config_versions_control'),
+
+ serviceName: Em.computed.alias('controller.content.serviceName'),
+
+ /**
+ * @type {?App.ServiceConfigVersion}
+ */
+ compareServiceVersion: null,
+
+ displayedServiceVersion: Em.computed.findBy('serviceVersions', 'isDisplayed', true),
+
+ isCompareMode: Em.computed.notEqual('compareServiceVersion', null),
+
+ allServiceVersions: function() {
+ return App.ServiceConfigVersion.find().filterProperty('serviceName', this.get('serviceName'));
+ }.property('serviceName'),
+
+ serviceVersions: function () {
+ const isDefaultGroupSelected = this.get('controller.selectedConfigGroup.isDefault');
+ const groupId = this.get('controller.selectedConfigGroup.id');
+
+ this.get('allServiceVersions').forEach(function (version) {
+ version.set('isDisabled', !(version.get('groupId') === groupId || isDefaultGroupSelected && version.get('groupName') === App.ServiceConfigGroup.defaultGroupName));
+ }, this);
+
+ const serviceVersions = this.get('allServiceVersions').filter(function(s) {
+ return s.get('groupId') === groupId || s.get('groupName') === App.ServiceConfigGroup.defaultGroupName;
+ });
+
+ if (!serviceVersions.findProperty('isDisplayed')) {
+ //recompute serviceVersions if displayed version absent
+ Em.run.next(() => this.propertyDidChange('controller.selectedConfigGroup.name'));
+ }
+
+ return serviceVersions.sort(function (a, b) {
+ return Em.get(b, 'createTime') - Em.get(a, 'createTime');
+ });
+ }.property('serviceName', 'controller.selectedConfigGroup.name'),
+
+ primaryServiceVersionsInCompare: function() {
+ return this.get('serviceVersions').filter((sv) => sv.get('version') !== this.get('compareServiceVersion.version'));
+ }.property('serviceVersions', 'compareServiceVersion'),
+
+ secondaryServiceVersionsInCompare: function() {
+ if (this.get('compareServiceVersion')) {
+ return this.get('serviceVersions')
+ .filter((serviceVersion) => !serviceVersion.get('isDisplayed'))
+ .map((serviceVersion) => {
+ const copy = Em.Object.create({
+ version: serviceVersion.get('version'),
+ stackVersion: serviceVersion.get('stackVersion'),
+ authorFormatted: serviceVersion.get('authorFormatted'),
+ createdDate: serviceVersion.get('createdDate'),
+ fullNotes: serviceVersion.get('fullNotes'),
+ isCurrent: serviceVersion.get('isCurrent'),
+ });
+ copy.set('isDisplayed', serviceVersion.get('version') === this.get('compareServiceVersion.version'));
+ return copy;
+ });
+ } else {
+ return [];
+ }
+ }.property('serviceVersions', 'compareServiceVersion'),
+
+ willInsertElement: function () {
+ this.setDisplayVersion();
+ },
+
+ setDisplayVersion: function () {
+ const serviceVersions = this.get('serviceVersions');
+ const selectedVersion = this.get('controller.selectedVersion');
+ serviceVersions.forEach(function (serviceVersion) {
+ serviceVersion.set('isDisplayed', selectedVersion === serviceVersion.get('version'));
+ });
+ this.set('controller.displayedVersion', this.get('serviceVersions').findProperty('isDisplayed'));
+ },
+
+ onChangeConfigGroup: function () {
+ const serviceVersions = this.get('serviceVersions');
+ const selectedGroupName = this.get('controller.selectedConfigGroup.name');
+ const preselectedVersion = this.get('controller.selectedVersion');
+
+ serviceVersions.forEach(function (serviceVersion) {
+ const isSelected = serviceVersion.get('version') === preselectedVersion && serviceVersion.get('groupName') === selectedGroupName;
+ serviceVersion.set('isDisplayed', isSelected);
+ });
+
+ if (!serviceVersions.someProperty('isDisplayed')) {
+ serviceVersions.forEach(function (serviceVersion) {
+ if (serviceVersion.get('isCurrent') && serviceVersion.get('groupName') === selectedGroupName) {
+ serviceVersion.set('isDisplayed', true);
+ }
+ });
+ }
+ }.observes('controller.selectedConfigGroup'),
+
+ /**
+ * switch configs view version to chosen
+ */
+ switchVersion: function (event) {
+ const version = event.contexts[0];
+ if (this.get('serviceVersions').filterProperty('isDisplayed').someProperty('version', version)) {
+ return;
+ }
+
+ this.get('serviceVersions').forEach(function (serviceVersion) {
+ serviceVersion.set('isDisplayed', serviceVersion.get('version') === version);
+ });
+ this.get('controller').loadSelectedVersion(version);
+ this.set('controller.displayedVersion', this.get('serviceVersions').findProperty('isDisplayed'));
+ },
+
+ switchPrimaryInCompare: function(event) {
+ this.switchVersion({contexts: [event.contexts[0].get('version')]});
+ this.set('controller.compareServiceVersion', this.get('compareServiceVersion'));
+ },
+
+ /**
+ * add config values of chosen version to view for comparison
+ * add a second version-info-bar for the chosen version
+ */
+ compare: function (event) {
+ const serviceConfigVersion = event.contexts[0];
+ this.set('controller.compareServiceVersion', serviceConfigVersion);
+ this.set('compareServiceVersion', serviceConfigVersion);
+
+ const controller = this.get('controller');
+ controller.get('stepConfigs').clear();
+ controller.loadCompareVersionConfigs(controller.get('allConfigs')).done(function() {
+ controller.onLoadOverrides(controller.get('allConfigs'));
+ });
+ },
+
+ removeCompareVersionBar: function () {
+ const displayedVersion = this.get('displayedServiceVersion.version');
+
+ this.set('compareServiceVersion', null);
+ this.set('controller.compareServiceVersion', null);
+ this.get('serviceVersions').forEach(function (serviceVersion) {
+ serviceVersion.set('isDisplayed', serviceVersion.get('version') === displayedVersion);
+ });
+ this.get('controller').loadSelectedVersion(displayedVersion);
+ },
+
+ /**
+ * revert config values to chosen version and apply reverted configs to server
+ */
+ makeCurrent: function (event) {
+ const self = this;
+ const serviceConfigVersion = event.contexts[0];
+ const versionText = serviceConfigVersion.get('versionText');
+ return App.ModalPopup.show({
+ header: Em.I18n.t('dashboard.configHistory.info-bar.makeCurrent.popup.title'),
+ serviceConfigNote: Em.I18n.t('services.service.config.configHistory.makeCurrent.message').format(versionText),
+ bodyClass: Em.View.extend({
+ templateName: require('templates/common/configs/save_configuration'),
+ classNames: ['col-md-12'],
+ notesArea: Em.TextArea.extend({
+ classNames: ['full-width'],
+ value: Em.I18n.t('services.service.config.configHistory.makeCurrent.message').format(versionText),
+ onChangeValue: function() {
+ this.get('parentView.parentView').set('serviceConfigNote', this.get('value'));
+ }.observes('value')
+ })
+ }),
+ primary: Em.I18n.t('dashboard.configHistory.info-bar.revert.button'),
+ secondary: Em.I18n.t('common.discard'),
+ third: Em.I18n.t('common.cancel'),
+ onPrimary: function () {
+ serviceConfigVersion.set('serviceConfigNote', this.get('serviceConfigNote'));
+ self.sendRevertCall(serviceConfigVersion);
+ this.hide();
+ },
+ onSecondary: function () {
+ // force <code>serviceVersions</code> recalculating
+ self.propertyDidChange('controller.selectedConfigGroup.name');
+ this._super();
+ },
+ onThird: function () {
+ this.onSecondary();
+ }
+ });
+ },
+
+ /**
+ * send PUT call to revert config to selected version
+ * @param serviceConfigVersion
+ */
+ sendRevertCall: function (serviceConfigVersion) {
+ App.ajax.send({
+ name: 'service.serviceConfigVersion.revert',
+ sender: this,
+ data: {
+ data: {
+ "Clusters": {
+ "desired_service_config_versions": {
+ "service_config_version": serviceConfigVersion.get('version'),
+ "service_name": serviceConfigVersion.get('serviceName'),
+ "service_config_version_note": serviceConfigVersion.get('serviceConfigNote')
+ }
+ }
+ }
+ },
+ success: 'sendRevertCallSuccess'
+ });
+ },
+
+ sendRevertCallSuccess: function (data, opt, params) {
+ // revert to an old version would generate a new version with latest version number,
+ // so, need to loadStep to update
+ App.router.get('updateController').updateComponentConfig(Em.K);
+ this.get('controller').loadStep();
+ }
+});
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/views/common/configs/config_versions_dropdown_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/config_versions_dropdown_view.js b/ambari-web/app/views/common/configs/config_versions_dropdown_view.js
new file mode 100644
index 0000000..8e5cb76
--- /dev/null
+++ b/ambari-web/app/views/common/configs/config_versions_dropdown_view.js
@@ -0,0 +1,52 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var App = require('app');
+
+App.ConfigVersionsDropdownView = Em.View.extend({
+ templateName: require('templates/common/configs/config_versions_dropdown'),
+ classNames: ['btn-group'],
+
+ searchLabel: Em.I18n.t('common.search'),
+
+ /**
+ * if true then it's secondary dropdown in Compare Mode
+ * @type {boolean}
+ */
+ isSecondary: false,
+ serviceVersions: [],
+ filterValue: '',
+ isCompareMode: false,
+ displayedServiceVersion: Em.computed.findBy('serviceVersions', 'isDisplayed', true),
+
+ mainClickAction: function (event) {
+ if (this.get('isSecondary')) {
+ this.get('parentView').compare(event);
+ } else {
+ this.get('parentView').switchPrimaryInCompare(event);
+ }
+ },
+
+ filteredServiceVersions: function() {
+ return this.get('serviceVersions').filter((serviceVersion) => {
+ if (!this.get('filterValue').trim()) return true;
+ const searchString = Em.I18n.t('common.version') + ' ' + serviceVersion.get('version') + ' ' + serviceVersion.get('notes');
+ return searchString.indexOf(this.get('filterValue').trim()) !== -1;
+ });
+ }.property('serviceVersions.length', 'filterValue')
+});
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/app/views/common/configs/service_config_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/service_config_view.js b/ambari-web/app/views/common/configs/service_config_view.js
index fe45c79..50f7418 100644
--- a/ambari-web/app/views/common/configs/service_config_view.js
+++ b/ambari-web/app/views/common/configs/service_config_view.js
@@ -24,6 +24,10 @@ App.ServiceConfigView = Em.View.extend({
isRestartMessageCollapsed: false,
+ isDiscardDisabled: Em.computed.or('!controller.versionLoaded', '!controller.isPropertiesChanged'),
+
+ isSaveDisabled: Em.computed.or('controller.isSubmitDisabled', '!controller.versionLoaded', '!controller.isPropertiesChanged'),
+
/**
* Bound from parent view in the template
* @type {string}
@@ -58,6 +62,10 @@ App.ServiceConfigView = Em.View.extend({
}
}.property('controller.name', 'controller.selectedService'),
+ showSavePanel: function() {
+ return this.get('isOnTheServicePage') && !this.get('controller.isCompareMode') && this.get('controller.displayedVersion.isCurrent');
+ }.property('isOnTheServicePage', 'controller.isCompareMode', 'controller.displayedVersion.isCurrent'),
+
/**
* Determines if user is on the service configs page
* @type {boolean}
@@ -83,6 +91,64 @@ App.ServiceConfigView = Em.View.extend({
}.observes('controller.selectedService.configs.@each.isHiddenByFilter'),
/**
+ * save configuration
+ * @return {object}
+ */
+ save: function () {
+ var self = this;
+ var passwordWasChanged = this.get('controller.passwordConfigsAreChanged');
+ return App.ModalPopup.show({
+ header: Em.I18n.t('dashboard.configHistory.info-bar.save.popup.title'),
+ serviceConfigNote: '',
+ bodyClass: Em.View.extend({
+ templateName: require('templates/common/configs/save_configuration'),
+ classNames: ['col-md-12'],
+ showPasswordChangeWarning: passwordWasChanged,
+ notesArea: Em.TextArea.extend({
+ classNames: ['full-width'],
+ value: passwordWasChanged ? Em.I18n.t('dashboard.configHistory.info-bar.save.popup.notesForPasswordChange') : '',
+ placeholder: Em.I18n.t('dashboard.configHistory.info-bar.save.popup.placeholder'),
+ didInsertElement: function () {
+ if (this.get('value')) {
+ this.onChangeValue();
+ }
+ },
+ onChangeValue: function() {
+ this.get('parentView.parentView').set('serviceConfigNote', this.get('value'));
+ }.observes('value')
+ })
+ }),
+ footerClass: Em.View.extend({
+ templateName: require('templates/main/service/info/save_popup_footer')
+ }),
+ primary: Em.I18n.t('common.save'),
+ secondary: Em.I18n.t('common.cancel'),
+ onSave: function () {
+ var newVersionToBeCreated = App.ServiceConfigVersion.find().filterProperty('serviceName', self.get('serviceName')).get('length') + 1;
+ self.get('controller').setProperties({
+ saveConfigsFlag: true,
+ serviceConfigVersionNote: this.get('serviceConfigNote'),
+ preSelectedConfigVersion: Em.Object.create({
+ version: newVersionToBeCreated,
+ serviceName: self.get('controller.content.serviceName'),
+ groupName: self.get('controller.selectedConfigGroup.name')
+ })
+ });
+ self.get('controller').saveStepConfigs();
+ this.hide();
+ },
+ onDiscard: function () {
+ this.hide();
+ self.set('controller.preSelectedConfigVersion', null);
+ self.get('controller').loadStep();
+ },
+ onCancel: function () {
+ this.hide();
+ }
+ });
+ },
+
+ /**
* updates filter counters for advanced tab
* @method updateFilterCounters
*/
[08/13] ambari git commit: AMBARI-22353. Remove properties.json And
Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
Posted by rl...@apache.org.
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-feature-AMBARI-20859
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) {
[04/13] ambari git commit: AMBARI-22353. Remove properties.json And
Switch To Adding Properties to ResourceProviders Dynamically (dlysnichenko)
Posted by rl...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/InstanceResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/InstanceResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/InstanceResourceProviderTest.java
index ba67939..50b378c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/InstanceResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/InstanceResourceProviderTest.java
@@ -61,9 +61,7 @@ public class InstanceResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- InstanceResourceProvider provider = new InstanceResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRInstance),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRInstance));
+ InstanceResourceProvider provider = new InstanceResourceProvider(service);
try {
provider.createResources(request);
@@ -106,9 +104,7 @@ public class InstanceResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- InstanceResourceProvider provider = new InstanceResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRInstance),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRInstance));
+ InstanceResourceProvider provider = new InstanceResourceProvider(service);
Set<Resource> resources = provider.getResources(request, null);
@@ -147,9 +143,7 @@ public class InstanceResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- InstanceResourceProvider provider = new InstanceResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRInstance),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRInstance));
+ InstanceResourceProvider provider = new InstanceResourceProvider(service);
provider.updateResources(request, null);
@@ -171,9 +165,7 @@ public class InstanceResourceProviderTest {
// replay
replay(service);
- InstanceResourceProvider provider = new InstanceResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRInstance),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRInstance));
+ InstanceResourceProvider provider = new InstanceResourceProvider(service);
Predicate predicate = new PredicateBuilder().property(InstanceResourceProvider.INSTANCE_ID_PROPERTY_ID).equals("Instance1").toPredicate();
@@ -182,17 +174,4 @@ public class InstanceResourceProviderTest {
// verify
verify(service);
}
-
- @Test
- public void testGetKeyPropertyIds() throws Exception {
- IvoryService service = createMock(IvoryService.class);
-
- Map<Resource.Type, String> keyPropertyIds = PropertyHelper.getKeyPropertyIds(Resource.Type.DRInstance);
-
- InstanceResourceProvider provider = new InstanceResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRInstance),
- keyPropertyIds);
-
- Assert.assertEquals(keyPropertyIds, provider.getKeyPropertyIds());
- }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
index e19ad29..a1def85 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
@@ -44,7 +44,6 @@ import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException;
import org.apache.ambari.server.controller.spi.ResourceProvider;
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 org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
import org.apache.ambari.server.orm.OrmTestHelper;
@@ -667,9 +666,7 @@ public class JMXHostProviderTest {
maintenanceStateHelper, repositoryVersionDAO);
ResourceProvider hostCompResourceProvider = new
- HostComponentResourceProvider(PropertyHelper.getPropertyIds(Resource
- .Type.HostComponent), PropertyHelper.getKeyPropertyIds(Resource.Type
- .HostComponent), controller, injector);
+ HostComponentResourceProvider(controller, injector);
ResourceProvider configResourceProvider = new ConfigurationResourceProvider(
controller);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JobResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JobResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JobResourceProviderTest.java
index 6fd1a23..f8590df 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JobResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JobResourceProviderTest.java
@@ -25,7 +25,6 @@ import static org.easymock.EasyMock.verify;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import org.apache.ambari.server.controller.internal.JobResourceProvider.JobFetcher;
@@ -35,7 +34,6 @@ import org.apache.ambari.server.controller.spi.NoSuchResourceException;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
@@ -57,18 +55,15 @@ public class JobResourceProviderTest {
expected.add(createJobResponse("Cluster100", "workflow2", "job2"));
expected.add(createJobResponse("Cluster100", "workflow2", "job3"));
- Resource.Type type = Resource.Type.Job;
- Set<String> propertyIds = PropertyHelper.getPropertyIds(type);
+
+ Set<String> propertyIds = JobResourceProvider.propertyIds;
JobFetcher jobFetcher = createMock(JobFetcher.class);
expect(jobFetcher.fetchJobDetails(propertyIds, null, "workflow2", null))
.andReturn(expected).once();
replay(jobFetcher);
- Map<Resource.Type,String> keyPropertyIds = PropertyHelper
- .getKeyPropertyIds(type);
- ResourceProvider provider = new JobResourceProvider(propertyIds,
- keyPropertyIds, jobFetcher);
+ ResourceProvider provider = new JobResourceProvider(jobFetcher);
Request request = PropertyHelper.getReadRequest(propertyIds);
Predicate predicate = new PredicateBuilder()
@@ -101,10 +96,7 @@ public class JobResourceProviderTest {
Set<String> requestedIds = new HashSet<>();
requestedIds.add(JobResourceProvider.JOB_ID_PROPERTY_ID);
- Map<Resource.Type,String> keyPropertyIds = PropertyHelper
- .getKeyPropertyIds(Resource.Type.Job);
- ResourceProvider provider = new TestJobResourceProvider(requestedIds,
- keyPropertyIds, 1);
+ ResourceProvider provider = new TestJobResourceProvider(1);
Request request = PropertyHelper.getReadRequest(requestedIds);
Predicate predicate = new PredicateBuilder()
@@ -128,10 +120,7 @@ public class JobResourceProviderTest {
requestedIds.add(JobResourceProvider.JOB_ID_PROPERTY_ID);
requestedIds.add(JobResourceProvider.JOB_SUBMIT_TIME_PROPERTY_ID);
- Map<Resource.Type,String> keyPropertyIds = PropertyHelper
- .getKeyPropertyIds(Resource.Type.Job);
- ResourceProvider provider = new TestJobResourceProvider(requestedIds,
- keyPropertyIds, 2);
+ ResourceProvider provider = new TestJobResourceProvider(2);
Request request = PropertyHelper.getReadRequest(requestedIds);
Predicate predicate = new PredicateBuilder()
@@ -157,10 +146,7 @@ public class JobResourceProviderTest {
requestedIds.add(JobResourceProvider.JOB_ID_PROPERTY_ID);
requestedIds.add(JobResourceProvider.JOB_ELAPSED_TIME_PROPERTY_ID);
- Map<Resource.Type,String> keyPropertyIds = PropertyHelper
- .getKeyPropertyIds(Resource.Type.Job);
- ResourceProvider provider = new TestJobResourceProvider(requestedIds,
- keyPropertyIds, 3);
+ ResourceProvider provider = new TestJobResourceProvider(3);
Request request = PropertyHelper.getReadRequest(requestedIds);
Predicate predicate = new PredicateBuilder()
@@ -187,10 +173,8 @@ public class JobResourceProviderTest {
requestedIds.add(JobResourceProvider.JOB_SUBMIT_TIME_PROPERTY_ID);
requestedIds.add(JobResourceProvider.JOB_ELAPSED_TIME_PROPERTY_ID);
- Map<Resource.Type,String> keyPropertyIds = PropertyHelper
- .getKeyPropertyIds(Resource.Type.Job);
- ResourceProvider provider = new TestJobResourceProvider(requestedIds,
- keyPropertyIds, 4);
+
+ ResourceProvider provider = new TestJobResourceProvider(4);
Request request = PropertyHelper.getReadRequest(requestedIds);
Predicate predicate = new PredicateBuilder()
@@ -220,9 +204,8 @@ public class JobResourceProviderTest {
}
private static class TestJobResourceProvider extends JobResourceProvider {
- protected TestJobResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds, int type) {
- super(propertyIds, keyPropertyIds);
+ protected TestJobResourceProvider(int type) {
+ super();
this.jobFetcher = new TestJobFetcher(type);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProviderTest.java
index ca8127e..caea9f2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/KerberosDescriptorResourceProviderTest.java
@@ -80,7 +80,7 @@ public class KerberosDescriptorResourceProviderTest {
EasyMock.replay(request);
kerberosDescriptorResourceProvider = new KerberosDescriptorResourceProvider(kerberosDescriptorDAO,
- kerberosDescriptorFactory, Collections.emptySet(), Collections.emptyMap(), null);
+ kerberosDescriptorFactory, null);
// WHEN
kerberosDescriptorResourceProvider.createResources(request);
@@ -97,7 +97,7 @@ public class KerberosDescriptorResourceProviderTest {
EasyMock.replay(request);
kerberosDescriptorResourceProvider = new KerberosDescriptorResourceProvider(kerberosDescriptorDAO,
- kerberosDescriptorFactory, Collections.emptySet(), Collections.emptyMap(), null);
+ kerberosDescriptorFactory, null);
// WHEN
kerberosDescriptorResourceProvider.createResources(request);
@@ -112,7 +112,7 @@ public class KerberosDescriptorResourceProviderTest {
// GIVEN
kerberosDescriptorResourceProvider = new KerberosDescriptorResourceProvider(kerberosDescriptorDAO,
- kerberosDescriptorFactory, Collections.emptySet(), Collections.emptyMap(), null);
+ kerberosDescriptorFactory, null);
EasyMock.expect(request.getProperties())
.andReturn(requestPropertySet(KERBEROS_DESCRIPTORS_KERBEROS_DESCRIPTOR_NAME, TEST_KERBEROS_DESCRIPTOR_NAME))
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MemberResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MemberResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MemberResourceProviderTest.java
index 39ba4b9..ce9b50f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MemberResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MemberResourceProviderTest.java
@@ -43,7 +43,6 @@ import org.apache.ambari.server.controller.utilities.PredicateBuilder;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.security.TestAuthenticationFactory;
import org.apache.ambari.server.security.authorization.AuthorizationException;
-import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;
import org.springframework.security.core.Authentication;
@@ -78,8 +77,8 @@ public class MemberResourceProviderTest {
AbstractControllerResourceProvider.init(resourceProviderFactory);
- expect(resourceProviderFactory.getMemberResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(), eq(managementController)))
- .andReturn(new MemberResourceProvider(PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type), managementController)).anyTimes();
+ expect(resourceProviderFactory.getMemberResourceProvider(eq(managementController)))
+ .andReturn(new MemberResourceProvider(managementController)).anyTimes();
managementController.createMembers(AbstractResourceProviderTest.Matcher.getMemberRequestSet("engineering", "joe"));
expectLastCall().atLeastOnce();
@@ -91,8 +90,6 @@ public class MemberResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -134,8 +131,8 @@ public class MemberResourceProviderTest {
AbstractControllerResourceProvider.init(resourceProviderFactory);
- expect(resourceProviderFactory.getMemberResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(), eq(managementController)))
- .andReturn(new MemberResourceProvider(PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type), managementController)).anyTimes();
+ expect(resourceProviderFactory.getMemberResourceProvider(eq(managementController)))
+ .andReturn(new MemberResourceProvider(managementController)).anyTimes();
expect(managementController.getMembers(AbstractResourceProviderTest.Matcher.getMemberRequestSet(null, null)))
.andReturn(Collections.emptySet())
@@ -148,8 +145,6 @@ public class MemberResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// create the request
@@ -183,8 +178,8 @@ public class MemberResourceProviderTest {
AbstractControllerResourceProvider.init(resourceProviderFactory);
// set expectations
- expect(resourceProviderFactory.getMemberResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(), eq(managementController)))
- .andReturn(new MemberResourceProvider(PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type), managementController)).anyTimes();
+ expect(resourceProviderFactory.getMemberResourceProvider(eq(managementController)))
+ .andReturn(new MemberResourceProvider(managementController)).anyTimes();
managementController.updateMembers(AbstractResourceProviderTest.Matcher.getMemberRequestSet("engineering", "joe"));
expectLastCall().atLeastOnce();
@@ -196,8 +191,6 @@ public class MemberResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request.
@@ -238,8 +231,8 @@ public class MemberResourceProviderTest {
AbstractControllerResourceProvider.init(resourceProviderFactory);
// set expectations
- expect(resourceProviderFactory.getMemberResourceProvider(EasyMock.anyObject(), EasyMock.anyObject(), eq(managementController)))
- .andReturn(new MemberResourceProvider(PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type), managementController)).anyTimes();
+ expect(resourceProviderFactory.getMemberResourceProvider(eq(managementController)))
+ .andReturn(new MemberResourceProvider(managementController)).anyTimes();
managementController.deleteMembers(AbstractResourceProviderTest.Matcher.getMemberRequestSet("engineering", null));
expectLastCall().atLeastOnce();
@@ -251,8 +244,6 @@ public class MemberResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
PredicateBuilder builder = new PredicateBuilder();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
index c0695b1..b3f2c3c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java
@@ -172,8 +172,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -220,9 +218,7 @@ public class RequestResourceProviderTest {
expect(managementController.getClusters()).andReturn(clusters).anyTimes();
replay(managementController, clusters, cluster);
- ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(type,
- PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type),
- managementController);
+ ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(type, managementController);
Map<String, String> requestInfoProperties = new HashMap<>();
Request request;
@@ -314,8 +310,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -366,8 +360,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -419,8 +411,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -480,8 +470,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -547,8 +535,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -601,8 +587,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -672,8 +656,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -753,8 +735,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -835,8 +815,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// TEST CASE: Check update request validation (abort reason not specified)
@@ -921,8 +899,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Predicate predicate = new PredicateBuilder().property(RequestResourceProvider.REQUEST_ID_PROPERTY_ID).
@@ -1014,8 +990,6 @@ public class RequestResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, requestInfoProperties);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
provider.createResources(request);
@@ -1117,8 +1091,6 @@ public class RequestResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, requestInfoProperties);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// Neither action nor commands are specified
@@ -1219,8 +1191,6 @@ public class RequestResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, requestInfoProperties);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
provider.createResources(request);
@@ -1334,8 +1304,6 @@ public class RequestResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, requestInfoProperties);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
requestInfoProperties.put(RequestOperationLevel.OPERATION_CLUSTER_ID, c1);
@@ -1526,8 +1494,6 @@ public class RequestResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, requestInfoProperties);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
provider.createResources(request);
ExecuteActionRequest capturedRequest = actionRequest.getValue();
@@ -1582,8 +1548,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -1636,8 +1600,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -1754,8 +1716,6 @@ public class RequestResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = ImmutableSet.of(
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java
index 6d4f72d..a1e33009 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestScheduleResourceProviderTest.java
@@ -65,8 +65,6 @@ public class RequestScheduleResourceProviderTest {
return (RequestScheduleResourceProvider)
AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController
);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
index 4316647..b861830 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentResourceProviderTest.java
@@ -70,8 +70,6 @@ public class RootServiceComponentResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProviderTest.java
index ce3656c..1f37f93 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceHostComponentResourceProviderTest.java
@@ -101,8 +101,6 @@ public class RootServiceHostComponentResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceResourceProviderTest.java
index 96bc7c9..83be941 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceResourceProviderTest.java
@@ -63,8 +63,6 @@ public class RootServiceResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProviderTest.java
index 05232ea..a6c7d42 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackAdvisorResourceProviderTest.java
@@ -28,7 +28,6 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -40,7 +39,6 @@ import javax.annotation.Nonnull;
import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.server.controller.spi.Resource;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -73,11 +71,8 @@ public class StackAdvisorResourceProviderTest {
@Nonnull
private RecommendationResourceProvider createRecommendationResourceProvider() {
- Map<Resource.Type, String> keyPropertyIds = Collections.emptyMap();
- Set<String> propertyIds = Collections.emptySet();
AmbariManagementController ambariManagementController = mock(AmbariManagementController.class);
- return new RecommendationResourceProvider(propertyIds,
- keyPropertyIds, ambariManagementController);
+ return new RecommendationResourceProvider(ambariManagementController);
}
@Nonnull
@@ -136,11 +131,8 @@ public class StackAdvisorResourceProviderTest {
@Test
public void testStackAdvisorWithEmptyHosts() {
- Map<Resource.Type, String> keyPropertyIds = Collections.emptyMap();
- Set<String> propertyIds = Collections.emptySet();
AmbariManagementController ambariManagementController = mock(AmbariManagementController.class);
- RecommendationResourceProvider provider = new RecommendationResourceProvider(propertyIds,
- keyPropertyIds, ambariManagementController);
+ RecommendationResourceProvider provider = new RecommendationResourceProvider(ambariManagementController);
Request request = mock(Request.class);
Set<Map<String, Object>> propertiesSet = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProviderTest.java
index 21df88d..3203aa1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackArtifactResourceProviderTest.java
@@ -82,8 +82,6 @@ public class StackArtifactResourceProviderTest {
return (StackArtifactResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProviderTest.java
index 7c88852..c09852a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationDependencyResourceProviderTest.java
@@ -58,8 +58,6 @@ public class StackConfigurationDependencyResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProviderTest.java
index 9c48ad0..cddfe2f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProviderTest.java
@@ -67,8 +67,6 @@ public class StackConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -139,8 +137,6 @@ public class StackConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProviderTest.java
index f350153..637bd5f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDependencyResourceProviderTest.java
@@ -42,7 +42,6 @@ import org.apache.ambari.server.controller.spi.Resource;
import org.apache.ambari.server.controller.spi.ResourceProvider;
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 org.apache.ambari.server.state.DependencyInfo;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -164,8 +163,6 @@ public class StackDependencyResourceProviderTest {
}
private StackDependencyResourceProvider createProvider() {
- return new StackDependencyResourceProvider(
- PropertyHelper.getPropertyIds(Resource.Type.StackServiceComponentDependency),
- PropertyHelper.getKeyPropertyIds(Resource.Type.StackServiceComponentDependency));
+ return new StackDependencyResourceProvider();
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProviderTest.java
index e9742bd..3d9607a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProviderTest.java
@@ -67,8 +67,6 @@ public class StackLevelConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
@@ -133,8 +131,6 @@ public class StackLevelConfigurationResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackResourceProviderTest.java
index 4281e33..9d81d15 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackResourceProviderTest.java
@@ -58,8 +58,6 @@ public class StackResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Set<String> propertyIds = new HashSet<>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackServiceResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackServiceResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackServiceResourceProviderTest.java
index 2a2ef0b..a9bd831 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackServiceResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackServiceResourceProviderTest.java
@@ -86,8 +86,6 @@ public class StackServiceResourceProviderTest {
Request request = PropertyHelper.getReadRequest(SERVICE_PROPERTIES_PROPERTY_ID);
ResourceProvider stackServiceResourceProvider = AbstractControllerResourceProvider.getResourceProvider(type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// When
@@ -129,8 +127,6 @@ public class StackServiceResourceProviderTest {
Request request = PropertyHelper.getReadRequest(SERVICE_PROPERTIES_PROPERTY_ID);
ResourceProvider stackServiceResourceProvider = AbstractControllerResourceProvider.getResourceProvider(type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// When
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProviderTest.java
index 492c012..0fedc65 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TargetClusterResourceProviderTest.java
@@ -89,9 +89,7 @@ public class TargetClusterResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRTargetCluster),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRTargetCluster));
+ TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service);
provider.createResources(request);
@@ -136,9 +134,7 @@ public class TargetClusterResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRTargetCluster),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRTargetCluster));
+ TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service);
Set<Resource> resources = provider.getResources(request, null);
@@ -185,9 +181,7 @@ public class TargetClusterResourceProviderTest {
Request request = PropertyHelper.getCreateRequest(propertySet, Collections.emptyMap());
- TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRTargetCluster),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRTargetCluster));
+ TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service);
provider.updateResources(request, null);
@@ -219,9 +213,7 @@ public class TargetClusterResourceProviderTest {
replay(service);
- TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRTargetCluster),
- PropertyHelper.getKeyPropertyIds(Resource.Type.DRTargetCluster));
+ TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service);
Predicate predicate = new PredicateBuilder().property(TargetClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID).equals("Cluster1").toPredicate();
@@ -231,16 +223,4 @@ public class TargetClusterResourceProviderTest {
verify(service);
}
- @Test
- public void testGetKeyPropertyIds() throws Exception {
- IvoryService service = createMock(IvoryService.class);
-
- Map<Resource.Type, String> keyPropertyIds = PropertyHelper.getKeyPropertyIds(Resource.Type.DRTargetCluster);
-
- TargetClusterResourceProvider provider = new TargetClusterResourceProvider(service,
- PropertyHelper.getPropertyIds(Resource.Type.DRTargetCluster),
- keyPropertyIds);
-
- Assert.assertEquals(keyPropertyIds, provider.getKeyPropertyIds());
- }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProviderTest.java
index 992bce0..c028082 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskAttemptResourceProviderTest.java
@@ -61,7 +61,7 @@ public class TaskAttemptResourceProviderTest {
"taskAttempt3"));
Resource.Type type = Resource.Type.TaskAttempt;
- Set<String> propertyIds = PropertyHelper.getPropertyIds(type);
+ Set<String> propertyIds = TaskAttemptResourceProvider.propertyIds;
TaskAttemptFetcher taskAttemptFetcher = createMock(TaskAttemptFetcher.class);
expect(
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskResourceProviderTest.java
index 365d408..d7ac273 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TaskResourceProviderTest.java
@@ -74,8 +74,6 @@ public class TaskResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request. add more maps for multiple creates
@@ -112,7 +110,7 @@ public class TaskResourceProviderTest {
Injector m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
TaskResourceProvider provider = (TaskResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
- type, PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type), amc);
+ type, amc);
m_injector.injectMembers(provider);
TaskResourceProvider.s_dao = hostRoleCommandDAO;
@@ -176,7 +174,7 @@ public class TaskResourceProviderTest {
Injector m_injector = Guice.createInjector(new InMemoryDefaultTestModule());
TaskResourceProvider provider = (TaskResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
- type, PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type), amc);
+ type, amc);
m_injector.injectMembers(provider);
TaskResourceProvider.s_dao = hostRoleCommandDAO;
@@ -245,8 +243,6 @@ public class TaskResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
// add the property map to a set for the request.
@@ -280,8 +276,6 @@ public class TaskResourceProviderTest {
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type),
managementController);
Predicate predicate = new PredicateBuilder().property(TaskResourceProvider.TASK_ID_PROPERTY_ID).equals("Task100").toPredicate();
@@ -296,9 +290,7 @@ public class TaskResourceProviderTest {
// Test general case
AmbariManagementController managementController = createMock(AmbariManagementController.class);
- TaskResourceProvider taskResourceProvider = new TaskResourceProvider(
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type), managementController);
+ TaskResourceProvider taskResourceProvider = new TaskResourceProvider(managementController);
replay(managementController);
@@ -332,9 +324,7 @@ public class TaskResourceProviderTest {
// Test general case
AmbariManagementController managementController = createMock(AmbariManagementController.class);
- TaskResourceProvider taskResourceProvider = new TaskResourceProvider(
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type), managementController);
+ TaskResourceProvider taskResourceProvider = new TaskResourceProvider(managementController);
replay(managementController);
@@ -356,9 +346,7 @@ public class TaskResourceProviderTest {
// Test general case
AmbariManagementController managementController = createMock(AmbariManagementController.class);
- TaskResourceProvider taskResourceProvider = new TaskResourceProvider(
- PropertyHelper.getPropertyIds(type),
- PropertyHelper.getKeyPropertyIds(type), managementController);
+ TaskResourceProvider taskResourceProvider = new TaskResourceProvider(managementController);
replay(managementController);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TestIvoryProviderModule.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TestIvoryProviderModule.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TestIvoryProviderModule.java
index 90f1011..dca7b35 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TestIvoryProviderModule.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/TestIvoryProviderModule.java
@@ -40,11 +40,11 @@ public class TestIvoryProviderModule extends DefaultProviderModule{
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);
}
return super.createResourceProvider(type);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
index ec240df..d7f55b3 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
@@ -1174,9 +1174,7 @@ public class UpgradeResourceProviderTest extends EasyMockSupport {
AbstractControllerResourceProvider.init(factory);
Resource.Type type = Type.Upgrade;
- return (UpgradeResourceProvider) AbstractControllerResourceProvider.getResourceProvider(type,
- PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type),
- amc);
+ return (UpgradeResourceProvider) AbstractControllerResourceProvider.getResourceProvider(type, amc);
}
private RequestStatus testCreateResources() throws Exception {
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderDBTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderDBTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderDBTest.java
index c4f0f34..7d9a964 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderDBTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderDBTest.java
@@ -91,7 +91,7 @@ public class UserResourceProviderDBTest {
Set<String> propertyIds = PropertyHelper.getPropertyIds(userType);
Map<Resource.Type,String> keyPropertyIds = PropertyHelper.getKeyPropertyIds(userType);
- userResourceProvider = new UserResourceProvider(propertyIds, keyPropertyIds, amc);
+ userResourceProvider = new UserResourceProvider(amc);
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index 9efad8a..f36bb63 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@ -540,8 +540,6 @@ public class UserResourceProviderTest extends EasyMockSupport {
private ResourceProvider getResourceProvider(AmbariManagementController managementController) {
return AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.User,
- PropertyHelper.getPropertyIds(Resource.Type.User),
- PropertyHelper.getKeyPropertyIds(Resource.Type.User),
managementController);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ValidationResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ValidationResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ValidationResourceProviderTest.java
index 42d4770..34337ae 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ValidationResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ValidationResourceProviderTest.java
@@ -47,8 +47,7 @@ public class ValidationResourceProviderTest {
Map<Resource.Type, String> keyPropertyIds = Collections.emptyMap();
Set<String> propertyIds = Collections.singleton(ValidationResourceProvider.VALIDATION_ID_PROPERTY_ID);
AmbariManagementController ambariManagementController = mock(AmbariManagementController.class);
- ValidationResourceProvider provider = spy(new ValidationResourceProvider(propertyIds,
- keyPropertyIds, ambariManagementController));
+ ValidationResourceProvider provider = spy(new ValidationResourceProvider(ambariManagementController));
StackAdvisorRequest stackAdvisorRequest = mock(StackAdvisorRequest.class);
Request request = mock(Request.class);
doReturn(stackAdvisorRequest).when(provider).prepareStackAdvisorRequest(request);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e77a31ab/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WorkflowResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WorkflowResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WorkflowResourceProviderTest.java
index 337dc46..ac064c5 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WorkflowResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WorkflowResourceProviderTest.java
@@ -35,7 +35,6 @@ import org.apache.ambari.server.controller.spi.NoSuchResourceException;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.Request;
import org.apache.ambari.server.controller.spi.Resource;
-import org.apache.ambari.server.controller.spi.Resource.Type;
import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.spi.SystemException;
import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
@@ -58,7 +57,20 @@ public class WorkflowResourceProviderTest {
expected.add(createWorkflowResponse("Cluster100", "workflow3"));
Resource.Type type = Resource.Type.Workflow;
- Set<String> propertyIds = PropertyHelper.getPropertyIds(type);
+ Set<String> propertyIds = new HashSet<>();
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_CLUSTER_NAME_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_ID_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_NAME_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_USER_NAME_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_START_TIME_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_LAST_UPDATE_TIME_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_ELAPSED_TIME_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_INPUT_BYTES_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_OUTPUT_BYTES_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_NUM_JOBS_TOTAL_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_NUM_JOBS_COMPLETED_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_PARENT_ID_PROPERTY_ID);
+ propertyIds.add(WorkflowResourceProvider.WORKFLOW_CONTEXT_PROPERTY_ID);
WorkflowFetcher workflowFetcher = createMock(WorkflowFetcher.class);
expect(workflowFetcher.fetchWorkflows(propertyIds, "Cluster100", null))
@@ -67,8 +79,7 @@ public class WorkflowResourceProviderTest {
Map<Resource.Type,String> keyPropertyIds = PropertyHelper
.getKeyPropertyIds(type);
- ResourceProvider provider = new WorkflowResourceProvider(propertyIds,
- keyPropertyIds, workflowFetcher);
+ ResourceProvider provider = new WorkflowResourceProvider(workflowFetcher);
Request request = PropertyHelper.getReadRequest(propertyIds);
Predicate predicate = new PredicateBuilder()
@@ -100,11 +111,7 @@ public class WorkflowResourceProviderTest {
NoSuchParentResourceException {
Set<String> requestedIds = new HashSet<>();
requestedIds.add(WorkflowResourceProvider.WORKFLOW_ID_PROPERTY_ID);
-
- Map<Resource.Type,String> keyPropertyIds = PropertyHelper
- .getKeyPropertyIds(Resource.Type.Workflow);
- ResourceProvider provider = new TestWorkflowResourceProvider(requestedIds,
- keyPropertyIds);
+ ResourceProvider provider = new TestWorkflowResourceProvider();
Request request = PropertyHelper.getReadRequest(requestedIds);
Predicate predicate = new PredicateBuilder()
@@ -131,9 +138,8 @@ public class WorkflowResourceProviderTest {
private static class TestWorkflowResourceProvider extends
WorkflowResourceProvider {
- protected TestWorkflowResourceProvider(Set<String> propertyIds,
- Map<Type,String> keyPropertyIds) {
- super(propertyIds, keyPropertyIds, null);
+ protected TestWorkflowResourceProvider() {
+ super(null);
this.workflowFetcher = new TestWorkflowFetcher();
}
[11/13] ambari git commit: AMBARI-22586 - Remove Beacon conf-select
Changes Since It's Not Part of HDP (jonathanhurley)
Posted by rl...@apache.org.
AMBARI-22586 - Remove Beacon conf-select Changes Since It's Not Part of HDP (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0afe0c00
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0afe0c00
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0afe0c00
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: 0afe0c00d797f22efc94c394de86af2bec94b448
Parents: 2e9c964
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Mon Dec 4 12:56:12 2017 -0500
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Dec 4 14:52:43 2017 -0500
----------------------------------------------------------------------
.../stacks/HDP/2.0.6/properties/stack_packages.json | 9 ---------
.../resources/stacks/HDP/3.0/properties/stack_packages.json | 9 ---------
2 files changed, 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afe0c00/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
index 1783655..946686a 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
@@ -994,12 +994,6 @@
"current_dir": "{0}/current/atlas-client/conf"
}
],
- "beacon": [
- {
- "conf_dir": "/etc/beacon/conf",
- "current_dir": "{0}/current/beacon-client/conf"
- }
- ],
"druid": [
{
"conf_dir": "/etc/druid/conf",
@@ -1194,9 +1188,6 @@
"ATLAS": {
"packages": ["atlas"]
},
- "BEACON": {
- "packages": ["beacon"]
- },
"DRUID": {
"packages": ["druid", "superset"]
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afe0c00/ambari-server/src/main/resources/stacks/HDP/3.0/properties/stack_packages.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/3.0/properties/stack_packages.json b/ambari-server/src/main/resources/stacks/HDP/3.0/properties/stack_packages.json
index 4b4d0bb..4f05377 100644
--- a/ambari-server/src/main/resources/stacks/HDP/3.0/properties/stack_packages.json
+++ b/ambari-server/src/main/resources/stacks/HDP/3.0/properties/stack_packages.json
@@ -871,12 +871,6 @@
"current_dir": "{0}/current/atlas-client/conf"
}
],
- "beacon": [
- {
- "conf_dir": "/etc/beacon/conf",
- "current_dir": "{0}/current/beacon-client/conf"
- }
- ],
"druid": [
{
"conf_dir": "/etc/druid/conf",
@@ -1071,9 +1065,6 @@
"ATLAS": {
"packages": ["atlas"]
},
- "BEACON": {
- "packages": ["beacon"]
- },
"DRUID": {
"packages": ["druid", "superset"]
},
[03/13] ambari git commit: AMBARI-22578. hive2 queries fails after
adding any service to the cluster. (jaimin via yusaku)
Posted by rl...@apache.org.
AMBARI-22578. hive2 queries fails after adding any service to the cluster. (jaimin via yusaku)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/24c64b44
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/24c64b44
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/24c64b44
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: 24c64b44d9b26e41cd1e30c93b993784008892f5
Parents: 5caac19
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Mon Dec 4 08:08:55 2017 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Mon Dec 4 08:08:55 2017 -0800
----------------------------------------------------------------------
.../stacks/HDP/2.6/services/TEZ/configuration/tez-site.xml | 8 ++++++++
1 file changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/24c64b44/ambari-server/src/main/resources/stacks/HDP/2.6/services/TEZ/configuration/tez-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.6/services/TEZ/configuration/tez-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.6/services/TEZ/configuration/tez-site.xml
index 393d077..81c52f9 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.6/services/TEZ/configuration/tez-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.6/services/TEZ/configuration/tez-site.xml
@@ -26,6 +26,14 @@
<on-ambari-upgrade add="false"/>
</property>
<property>
+ <name>tez.am.launch.cmd-opts</name>
+ <value>-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC{{heap_dump_opts}}</value>
+ <description>Java options for the Tez AppMaster process. The Xmx value is derived based on tez.am.resource.memory.mb and is 80% of the value by default.
+ Used only if the value is not specified explicitly by the DAG definition.
+ </description>
+ <on-ambari-upgrade add="false"/>
+ </property>
+ <property>
<name>tez.history.logging.timeline-cache-plugin.old-num-dags-per-group</name>
<value>5</value>
<description>DAGs per group</description>
[09/13] ambari git commit: AMBARI-22582 Clean up Configs page.
(atkach)
Posted by rl...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/test/views/common/configs/config_history_flow_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/config_history_flow_test.js b/ambari-web/test/views/common/configs/config_history_flow_test.js
deleted file mode 100644
index 8a6ab4d..0000000
--- a/ambari-web/test/views/common/configs/config_history_flow_test.js
+++ /dev/null
@@ -1,756 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-require('views/common/configs/config_history_flow');
-var testHelpers = require('test/helpers');
-
-describe.skip('App.ConfigHistoryFlowView', function () {
-
- var view = App.ConfigHistoryFlowView.create({
- controller: Em.Object.create({
- loadSelectedVersion: Em.K,
- loadStep: Em.K
- }),
- displayedServiceVersion: Em.Object.create(),
- serviceVersions: []
- });
-
- App.TestAliases.testAsComputedAlias(view, 'serviceName', 'controller.selectedService.serviceName', 'string');
-
- App.TestAliases.testAsComputedOr(view, 'isSaveDisabled', ['controller.isSubmitDisabled', '!controller.versionLoaded', '!controller.isPropertiesChanged']);
-
- App.TestAliases.testAsComputedGt(view, 'displayedServiceVersion.notes.length', 100);
-
- App.TestAliases.testAsComputedTruncate(view, 'shortNotes', 'displayedServiceVersion.notes', 100, 100);
-
- describe('#visibleServiceVersion', function () {
- var testCases = [
- {
- params: {
- startIndex: 0,
- serviceVersions: []
- },
- result: []
- },
- {
- params: {
- startIndex: 0,
- serviceVersions: [1, 2, 3]
- },
- result: [1, 2, 3]
- },
- {
- params: {
- startIndex: 0,
- serviceVersions: [1, 2, 3, 4, 5, 6, 7]
- },
- result: [1, 2, 3, 4, 5]
- },
- {
- params: {
- startIndex: 3,
- serviceVersions: [1, 2, 3, 4, 5, 6, 7]
- },
- result: [4, 5, 6, 7]
- }
- ];
- testCases.forEach(function (test) {
- it('start index - ' + test.params.startIndex + ', serviceVersions length - ' + test.params.serviceVersions.length, function () {
- view.set('serviceVersions', test.params.serviceVersions);
- view.set('startIndex', test.params.startIndex);
- view.propertyDidChange('visibleServiceVersion');
- expect(view.get('visibleServiceVersion')).to.eql(test.result);
- });
- });
- });
-
- describe('#versionActionsDisabled', function () {
- it('versionLoaded is false', function () {
- view.set('controller.versionLoaded', false);
- expect(view.get('versionActionsDisabled')).to.be.true;
- });
- it('versionLoaded is true', function () {
- view.set('controller.versionLoaded', true);
- expect(view.get('versionActionsDisabled')).to.be.false;
- });
- });
-
- describe('#dropDownList', function () {
- var displayedServiceVersion = {version: 1};
-
- it('Only one service version is present', function () {
- view.set('serviceVersions', [displayedServiceVersion]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.be.empty;
- });
- it('Three service version', function () {
- view.set('serviceVersions', [displayedServiceVersion, {version: 2}, {version: 3}]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.eql([{version: 3}, {version: 2}]);
- });
- it('Seven service version, showFullList is false', function () {
- view.set('serviceVersions', [
- displayedServiceVersion,
- {version: 2},
- {version: 3},
- {version: 4},
- {version: 5},
- {version: 6},
- {version: 7},
- {version: 8}
- ]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.set('showFullList', false);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.eql([
- {version: 8},
- {version: 7},
- {version: 6},
- {version: 5},
- {version: 4},
- {version: 3}
- ]);
- });
- it('Seven service version, showFullList is true', function () {
- view.set('serviceVersions', [
- displayedServiceVersion,
- {version: 2},
- {version: 3},
- {version: 4},
- {version: 5},
- {version: 6},
- {version: 7},
- {version: 8}
- ]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.set('showFullList', true);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.eql([
- {version: 8},
- {version: 7},
- {version: 6},
- {version: 5},
- {version: 4},
- {version: 3},
- {version: 2}
- ]);
- });
- });
-
- describe('#openFullList()', function () {
- var event;
- beforeEach(function () {
- event = {
- stopPropagation: Em.K
- };
- sinon.spy(event, 'stopPropagation');
- view.openFullList(event);
- });
-
- afterEach(function () {
- event.stopPropagation.restore();
- });
-
- it('stopPropagation is called once', function () {
- expect(event.stopPropagation.calledOnce).to.be.true;
- });
-
- it('stopPropagation is true', function () {
- expect(view.get('stopPropagation')).to.be.true;
- });
- });
-
- describe('#hideFullList()', function () {
- var testCases = [
- {
- params: {
- serviceVersions: new Array(0)
- },
- result: true
- },
- {
- params: {
- serviceVersions: new Array(6)
- },
- result: true
- },
- {
- params: {
- serviceVersions: new Array(7)
- },
- result: false
- }
- ];
- testCases.forEach(function (test) {
- it('notes length - ' + test.params.count, function () {
- view.set('serviceVersions', test.params.serviceVersions);
- view.hideFullList();
- expect(view.get('showFullList')).to.equal(test.result);
- });
- });
- });
-
- describe('#didInsertElement()', function () {
-
- beforeEach(function () {
- sinon.stub(App, 'tooltip');
- view.didInsertElement();
- });
-
- afterEach(function () {
- App.tooltip.restore();
- });
-
- it('App.tooltip is called on�e', function () {
- expect(App.tooltip.calledOnce).to.be.true;
- });
- });
-
- describe('#willInsertElement()', function () {
-
- beforeEach(function () {
- sinon.stub(view, 'adjustFlowView', Em.K);
- sinon.stub(view, 'keepInfoBarAtTop', Em.K);
- });
-
- afterEach(function () {
- view.adjustFlowView.restore();
- view.keepInfoBarAtTop.restore();
- });
-
- describe('Only current version is present', function () {
-
- beforeEach(function () {
- view.set('serviceVersions', [Em.Object.create({isCurrent: true})]);
- view.willInsertElement();
- });
-
- it('adjustFlowView is called once', function () {
- expect(view.adjustFlowView.calledOnce).to.be.true;
- });
- it('keepInfoBarAtTop is called once', function () {
- expect(view.keepInfoBarAtTop.calledOnce).to.be.true;
- });
- it('startIndex = 0', function () {
- expect(view.get('startIndex')).to.equal(0);
- });
- it('serviceVersions.@each.isDisplayed = [true]', function () {
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true]);
- });
- });
-
- describe('Five service versions are present', function () {
-
- beforeEach(function () {
- view.set('serviceVersions', [
- Em.Object.create({isCurrent: true}),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ]);
- view.willInsertElement();
- });
- it('adjustFlowView is called once', function () {
- expect(view.adjustFlowView.calledOnce).to.be.true;
- });
- it('keepInfoBarAtTop is called once', function () {
- expect(view.keepInfoBarAtTop.calledOnce).to.be.true;
- });
- it('startIndex = 0', function () {
- expect(view.get('startIndex')).to.equal(0);
- });
- it('serviceVersions.@each.isDisplayed = [true, false, false, false, false]', function () {
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true, false, false, false, false]);
- });
- });
-
- describe('Six service versions are present', function () {
- beforeEach(function () {
- view.set('serviceVersions', [
- Em.Object.create({isCurrent: true}),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ]);
- view.willInsertElement();
- });
-
- it('adjustFlowView is called once', function () {
- expect(view.adjustFlowView.calledOnce).to.be.true;
- });
- it('keepInfoBarAtTop is called once', function () {
- expect(view.keepInfoBarAtTop.calledOnce).to.be.true;
- });
- it('startIndex is 1', function () {
- expect(view.get('startIndex')).to.equal(1);
- });
- it('serviceVersions.@each.isDisplayed = [true, false, false, false, false, false]', function () {
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true, false, false, false, false, false]);
- });
- });
-
- });
-
- describe('#setInfoBarPosition()', function () {
- var testCases = [
- {
- params: {
- scrollTop: 0,
- defaultTop: 0
- },
- result: 'auto'
- },
- {
- params: {
- scrollTop: 1,
- defaultTop: 11
- },
- result: '10px'
- },
- {
- params: {
- scrollTop: 1,
- defaultTop: 0
- },
- result: '10px'
- }
- ];
- var infoBar = {
- css: Em.K
- };
-
- beforeEach(function () {
- sinon.spy(infoBar, 'css');
- });
-
- afterEach(function () {
- infoBar.css.restore();
- });
-
- testCases.forEach(function (test) {
- it('scroll top - ' + test.params.scrollTop + ', default top - ' + test.params.defaultTop, function () {
- view.setInfoBarPosition(infoBar, test.params.defaultTop, test.params.scrollTop);
- expect(infoBar.css.calledWith('top', test.result)).to.be.true;
- });
- });
- });
-
- describe('#adjustFlowView()', function () {
- var testCases = [
- {
- params: {
- serviceVersions: [Em.Object.create()],
- startIndex: 0
- },
- result: {
- first: [true],
- showLeftArrow: false,
- showRightArrow: false
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 0
- },
- result: {
- first: [true, false, false, false, false],
- showLeftArrow: false,
- showRightArrow: false
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 0
- },
- result: {
- first: [true, false, false, false, false, false],
- showLeftArrow: false,
- showRightArrow: true
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 1
- },
- result: {
- first: [false, true, false, false, false, false],
- showLeftArrow: true,
- showRightArrow: false
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 1
- },
- result: {
- first: [false, true, false, false, false, false, false],
- showLeftArrow: true,
- showRightArrow: true
- }
- }
- ];
-
- testCases.forEach(function (test) {
- it('start index - ' + test.params.startIndex + ', serviceVersions length - ' + test.params.serviceVersions.length, function () {
- view.set('startIndex', test.params.startIndex);
- view.set('serviceVersions', test.params.serviceVersions);
-
- view.adjustFlowView();
- expect(view.get('serviceVersions').mapProperty('first')).to.eql(test.result.first);
- expect(view.get('showLeftArrow')).to.eql(test.result.showLeftArrow);
- expect(view.get('showRightArrow')).to.eql(test.result.showRightArrow);
- });
- });
- });
-
- describe('#switchVersion()', function () {
- var event = {
- context: Em.Object.create({
- version: 2
- })
- };
- beforeEach(function(){
- sinon.stub(view, 'shiftFlowOnSwitch', Em.K);
- sinon.spy(view.get('controller'), 'loadSelectedVersion');
- });
- afterEach(function(){
- view.shiftFlowOnSwitch.restore();
- view.get('controller').loadSelectedVersion.restore();
- });
- it('Only one service version is present', function () {
- view.set('serviceVersions', [Em.Object.create({version: 2})]);
- view.switchVersion(event);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true]);
- expect(view.get('controller').loadSelectedVersion.calledWith(2)).to.be.true;
- expect(view.shiftFlowOnSwitch.calledWith(0)).to.be.true;
- });
- it('Two service versions are present', function () {
- view.set('serviceVersions', [
- Em.Object.create({version: 1}),
- Em.Object.create({version: 2})
- ]);
- view.switchVersion(event);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([false, true]);
- expect(view.get('controller').loadSelectedVersion.calledWith(2)).to.be.true;
- expect(view.shiftFlowOnSwitch.calledWith(1)).to.be.true;
- });
- });
-
- describe('#compare()', function () {
- it('should set compareServiceVersion', function () {
- view.compare({context: Em.Object.create({version: 1})});
-
- expect(view.get('controller.compareServiceVersion')).to.eql(Em.Object.create({version: 1}));
- });
- });
-
- describe('#revert()', function () {
- beforeEach(function () {
- sinon.stub(App.ModalPopup, 'show', function (options) {
- options.onPrimary.call(Em.Object.create({
- serviceConfigNote: 'note',
- hide: Em.K
- }));
- });
- sinon.stub(view, 'sendRevertCall', Em.K);
- });
- afterEach(function () {
- App.ModalPopup.show.restore();
- view.sendRevertCall.restore();
- });
- it('context passed', function () {
- view.revert({context: Em.Object.create({
- version: 1,
- serviceName: 'S1'
- })});
-
- expect(App.ModalPopup.show.calledOnce).to.be.true;
- expect(view.sendRevertCall.calledWith(Em.Object.create({
- version: 1,
- serviceName: 'S1',
- serviceConfigNote: 'note'
- }))).to.be.true;
- });
- it('context is not passed', function () {
- view.set('displayedServiceVersion', Em.Object.create({
- version: 1,
- serviceName: 'S1'
- }));
- view.revert({});
-
- expect(App.ModalPopup.show.calledOnce).to.be.true;
- expect(view.sendRevertCall.calledWith(Em.Object.create({
- version: 1,
- serviceName: 'S1',
- serviceConfigNote: 'note',
- notes: ''
- }))).to.be.true;
- });
- });
-
- describe('#sendRevertCall()', function () {
-
- beforeEach(function () {
- view.sendRevertCall(Em.Object.create());
- });
-
- it('request is sent', function () {
- var args = testHelpers.findAjaxRequest('name', 'service.serviceConfigVersion.revert');
- expect(args).exists;
- });
- });
-
- describe('#sendRevertCallSuccess()', function () {
- beforeEach(function () {
- sinon.spy(view.get('controller'), 'loadStep');
- sinon.stub(App.router.get('updateController'), 'updateComponentConfig', Em.K);
- view.sendRevertCallSuccess();
- });
- afterEach(function () {
- view.get('controller').loadStep.restore();
- App.router.get('updateController').updateComponentConfig.restore();
- });
-
- it('loadStep is called', function () {
- expect(view.get('controller').loadStep.calledOnce).to.be.true;
- });
-
- it('updateComponentConfig is called', function () {
- expect(App.router.get('updateController').updateComponentConfig.calledOnce).to.be.true;
- });
- });
-
- describe('#save()', function () {
-
- beforeEach(function () {
- sinon.stub(App.ModalPopup, 'show', Em.K);
- sinon.stub(App.ServiceConfigVersion, 'find').returns([
- { serviceName: 'service'}
- ]);
- });
-
- afterEach(function () {
- App.ModalPopup.show.restore();
- App.ServiceConfigVersion.find.restore();
- });
-
- it('modal popup should be displayed', function () {
- view.save();
- expect(App.ModalPopup.show.calledOnce).to.be.true;
- });
-
- it('controller properties should be modified on save', function () {
- view.setProperties({
- 'serviceName': 'service',
- 'controller.saveConfigsFlag': false,
- 'controller.serviceConfigVersionNote': '',
- 'controller.serviceConfigNote': '',
- 'controller.preSelectedConfigVersion': null,
- 'serviceConfigNote': 'note',
- 'displayedServiceVersion.serviceName': 'service',
- 'controller.selectedConfigGroup.name': 'group'
- });
- var popup = view.save();
- popup.onSave();
- expect(view.get('controller.saveConfigsFlag')).to.be.true;
- expect(view.get('controller').getProperties(['saveConfigsFlag', 'serviceConfigVersionNote', 'serviceConfigNote', 'preSelectedConfigVersion'])).to.eql({
- saveConfigsFlag: true,
- serviceConfigVersionNote: 'note',
- serviceConfigNote: this.get('serviceConfigNote'),
- preSelectedConfigVersion: Em.Object.create({
- version: 2,
- serviceName: 'service',
- groupName: 'group'
- })
- });
- });
- });
-
- describe('#shiftBack()', function () {
-
- beforeEach(function () {
- sinon.stub(view, 'decrementProperty', Em.K);
- sinon.stub(view, 'adjustFlowView', Em.K);
- view.shiftBack();
- });
-
- afterEach(function () {
- view.adjustFlowView.restore();
- view.decrementProperty.restore();
- });
-
- it('decrementProperty is called with correct data', function () {
- expect(view.decrementProperty.calledWith('startIndex')).to.be.true;
- });
-
- it('adjustFlowView is called once', function () {
- expect(view.adjustFlowView.calledOnce).to.be.true;
- });
- });
-
- describe('#shiftForward()', function () {
-
- beforeEach(function () {
- sinon.stub(view, 'incrementProperty', Em.K);
- sinon.stub(view, 'adjustFlowView', Em.K);
- view.shiftForward();
- });
-
- afterEach(function () {
- view.adjustFlowView.restore();
- view.incrementProperty.restore();
- });
-
- it('startIndex++', function () {
- expect(view.incrementProperty.calledWith('startIndex')).to.be.true;
- });
-
- it('adjustFlowView is called once', function () {
- expect(view.adjustFlowView.calledOnce).to.be.true;
- });
- });
-
- describe('#adjustFlowView()', function () {
- var testCases = [
- {
- params: {
- serviceVersions: [],
- startIndex: 0,
- versionIndex: 1
- },
- result: {
- startIndex: 0,
- adjustFlowViewCall: false
- }
- },
- {
- params: {
- serviceVersions: new Array(6),
- startIndex: 7,
- versionIndex: 6
- },
- result: {
- startIndex: 1,
- adjustFlowViewCall: true
- }
- },
- {
- params: {
- serviceVersions: new Array(12),
- startIndex: 7,
- versionIndex: 6
- },
- result: {
- startIndex: 6,
- adjustFlowViewCall: true
- }
- },
- {
- params: {
- serviceVersions: new Array(12),
- startIndex: 0,
- versionIndex: 6
- },
- result: {
- startIndex: 6,
- adjustFlowViewCall: true
- }
- },
- {
- params: {
- serviceVersions: new Array(6),
- startIndex: 0,
- versionIndex: 6
- },
- result: {
- startIndex: 1,
- adjustFlowViewCall: true
- }
- }
- ];
-
- beforeEach(function () {
- sinon.stub(view, 'adjustFlowView', Em.K);
- });
-
- afterEach(function () {
- view.adjustFlowView.restore();
- });
-
- testCases.forEach(function (test) {
- it('start index - ' + test.params.startIndex + ', serviceVersions length - ' + test.params.serviceVersions.length + ', versionIndex - ' + test.params.versionIndex, function () {
- view.set('serviceVersions', test.params.serviceVersions);
- view.set('startIndex', test.params.startIndex);
- view.shiftFlowOnSwitch(test.params.versionIndex);
-
- expect(view.get('startIndex')).to.eql(test.result.startIndex);
- expect(view.adjustFlowView.calledOnce).to.eql(test.result.adjustFlowViewCall);
- });
- });
- });
-});
-
-function getView() {
- return App.ConfigsServiceVersionBoxView.create();
-}
-
-describe('App.ConfigsServiceVersionBoxView', function () {
-
- App.TestAliases.testAsComputedAlias(getView(), 'disabledActionAttr', 'serviceVersion.disabledActionAttr', 'object');
-
- App.TestAliases.testAsComputedAlias(getView(), 'disabledActionMessages', 'serviceVersion.disabledActionMessages', 'object');
-
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/test/views/common/configs/config_versions_control_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/config_versions_control_view_test.js b/ambari-web/test/views/common/configs/config_versions_control_view_test.js
new file mode 100644
index 0000000..9f72fc5
--- /dev/null
+++ b/ambari-web/test/views/common/configs/config_versions_control_view_test.js
@@ -0,0 +1,152 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var App = require('app');
+require('views/common/configs/config_versions_control_view');
+var testHelpers = require('test/helpers');
+
+describe('App.ConfigVersionsControlView', function () {
+
+ var view = App.ConfigVersionsControlView.create({
+ controller: Em.Object.create({
+ loadSelectedVersion: Em.K,
+ loadStep: Em.K,
+ loadCompareVersionConfigs: Em.K,
+ onLoadOverrides: Em.K,
+ stepConfigs: []
+ }),
+ displayedServiceVersion: Em.Object.create(),
+ serviceVersions: []
+ });
+
+ App.TestAliases.testAsComputedAlias(view, 'serviceName', 'controller.content.serviceName', 'string');
+
+ describe('#switchVersion()', function () {
+ var event = {
+ contexts: [2]
+ };
+ beforeEach(function(){
+ sinon.spy(view.get('controller'), 'loadSelectedVersion');
+ });
+ afterEach(function(){
+ view.get('controller').loadSelectedVersion.restore();
+ });
+ it('Choose not displayed version', function () {
+ view.set('serviceVersions', [
+ Em.Object.create({version: 1, isDisplayed: true}),
+ Em.Object.create({version: 2})
+ ]);
+ view.switchVersion(event);
+ expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([false, true]);
+ expect(view.get('controller').loadSelectedVersion.calledWith(2)).to.be.true;
+ expect(view.get('controller.displayedVersion')).to.be.eql(view.get('serviceVersions')[1]);
+ });
+
+ it('Choose displayed version', function () {
+ view.set('serviceVersions', [
+ Em.Object.create({version: 1}),
+ Em.Object.create({version: 2, isDisplayed: true})
+ ]);
+ view.switchVersion(event);
+ expect(view.get('controller').loadSelectedVersion.called).to.be.false;
+ });
+ });
+
+ describe('#compare()', function () {
+ beforeEach(function(){
+ sinon.stub(view.get('controller'), 'loadCompareVersionConfigs').returns({
+ done: Em.clb
+ });
+ sinon.spy(view.get('controller'), 'onLoadOverrides');
+ });
+ afterEach(function(){
+ view.get('controller').loadCompareVersionConfigs.restore();
+ view.get('controller').onLoadOverrides.restore();
+ });
+ it('should set compareServiceVersion', function () {
+ view.compare({contexts: [Em.Object.create({version: 1})]});
+
+ expect(view.get('controller.compareServiceVersion')).to.eql(Em.Object.create({version: 1}));
+ expect(view.get('controller').loadCompareVersionConfigs.calledOnce).to.be.true;
+ expect(view.get('controller').onLoadOverrides.calledOnce).to.be.true;
+ });
+ });
+
+ describe('#makeCurrent()', function () {
+ beforeEach(function () {
+ sinon.stub(App.ModalPopup, 'show', function (options) {
+ options.onPrimary.call(Em.Object.create({
+ serviceConfigNote: 'note',
+ hide: Em.K
+ }));
+ });
+ sinon.stub(view, 'sendRevertCall', Em.K);
+ });
+ afterEach(function () {
+ App.ModalPopup.show.restore();
+ view.sendRevertCall.restore();
+ });
+ it('context passed', function () {
+ view.makeCurrent({contexts: [
+ Em.Object.create({
+ version: 1,
+ serviceName: 'S1'
+ })
+ ]});
+
+ expect(App.ModalPopup.show.calledOnce).to.be.true;
+ expect(view.sendRevertCall.calledWith(Em.Object.create({
+ version: 1,
+ serviceName: 'S1',
+ serviceConfigNote: 'note'
+ }))).to.be.true;
+ });
+ });
+
+ describe('#sendRevertCall()', function () {
+
+ beforeEach(function () {
+ view.sendRevertCall(Em.Object.create());
+ });
+
+ it('request is sent', function () {
+ var args = testHelpers.findAjaxRequest('name', 'service.serviceConfigVersion.revert');
+ expect(args).exists;
+ });
+ });
+
+ describe('#sendRevertCallSuccess()', function () {
+ beforeEach(function () {
+ sinon.spy(view.get('controller'), 'loadStep');
+ sinon.stub(App.router.get('updateController'), 'updateComponentConfig', Em.K);
+ view.sendRevertCallSuccess();
+ });
+ afterEach(function () {
+ view.get('controller').loadStep.restore();
+ App.router.get('updateController').updateComponentConfig.restore();
+ });
+
+ it('loadStep is called', function () {
+ expect(view.get('controller').loadStep.calledOnce).to.be.true;
+ });
+
+ it('updateComponentConfig is called', function () {
+ expect(App.router.get('updateController').updateComponentConfig.calledOnce).to.be.true;
+ });
+ });
+});
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/test/views/common/configs/service_config_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/service_config_view_test.js b/ambari-web/test/views/common/configs/service_config_view_test.js
index 8a01d72..6d0bab7 100644
--- a/ambari-web/test/views/common/configs/service_config_view_test.js
+++ b/ambari-web/test/views/common/configs/service_config_view_test.js
@@ -24,7 +24,10 @@ describe('App.ServiceConfigView', function () {
var controller = App.WizardStep7Controller.create({
selectedServiceObserver: Em.K,
- switchConfigGroupConfigs: Em.K
+ switchConfigGroupConfigs: Em.K,
+ saveStepConfigs: Em.K,
+ content: Em.Object.create(),
+ selectedConfigGroup: Em.Object.create()
});
var view = App.ServiceConfigView.create({
@@ -157,4 +160,51 @@ describe('App.ServiceConfigView', function () {
});
+ describe('#save()', function () {
+
+ beforeEach(function () {
+ sinon.spy(App.ModalPopup, 'show', Em.K);
+ sinon.stub(App.ServiceConfigVersion, 'find').returns([
+ { serviceName: 'service'}
+ ]);
+ sinon.stub(view.get('controller'), 'saveStepConfigs');
+ });
+
+ afterEach(function () {
+ App.ModalPopup.show.restore();
+ App.ServiceConfigVersion.find.restore();
+ view.get('controller').saveStepConfigs.restore();
+ });
+
+ it('modal popup should be displayed', function () {
+ view.save();
+ expect(App.ModalPopup.show.calledOnce).to.be.true;
+ });
+
+ it('controller properties should be modified on save', function () {
+ view.setProperties({
+ 'serviceName': 'service',
+ 'controller.saveConfigsFlag': false,
+ 'controller.serviceConfigVersionNote': '',
+ 'controller.preSelectedConfigVersion': null,
+ 'controller.content.serviceName': 'service',
+ 'controller.selectedConfigGroup.name': 'group'
+ });
+ var popup = view.save();
+ popup.set('serviceConfigNote', 'note');
+ popup.onSave();
+ expect(view.get('controller.saveConfigsFlag')).to.be.true;
+ expect(view.get('controller').getProperties(['saveConfigsFlag', 'serviceConfigVersionNote', 'preSelectedConfigVersion'])).to.eql({
+ saveConfigsFlag: true,
+ serviceConfigVersionNote: 'note',
+ preSelectedConfigVersion: Em.Object.create({
+ version: 2,
+ serviceName: 'service',
+ groupName: 'group'
+ })
+ });
+ expect(view.get('controller').saveStepConfigs.calledOnce).to.be.true;
+ });
+ });
+
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/2e9c9646/ambari-web/test/views/common/host_progress_popup_body_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/host_progress_popup_body_view_test.js b/ambari-web/test/views/common/host_progress_popup_body_view_test.js
index 7f905ea..93e8efb 100644
--- a/ambari-web/test/views/common/host_progress_popup_body_view_test.js
+++ b/ambari-web/test/views/common/host_progress_popup_body_view_test.js
@@ -295,24 +295,27 @@ describe('App.HostProgressPopupBodyView', function () {
it("setBackgroundOperationHeader should be called", function() {
view.set('parentView.isOpen', true);
+ view.resetState();
expect(view.get('controller').setBackgroundOperationHeader.calledWith(false)).to.be.true;
});
it("controller.hosts should be empty", function() {
view.set('controller.hosts', [Em.Object.create({})]);
view.set('parentView.isOpen', true);
+ view.resetState();
expect(view.get('controller.hosts')).to.be.empty;
});
it("setOnStart should be called", function() {
view.set('parentView.isOpen', true);
- //console.log("setOnStart.callCount:", view.setOnStart.callCount);
- expect(view.setOnStart.calledOnce, "calledOnce").to.be.true;
+ view.resetState();
+ expect(view.setOnStart.called).to.be.true;
});
it("rerender should be called", function() {
view.set('parentView.isOpen', true);
- expect(view.rerender.calledOnce).to.be.true;
+ view.resetState();
+ expect(view.rerender.called).to.be.true;
});
});
[12/13] ambari git commit: AMBARI-22587. Storm service check failed
during PU due to CNF StormAtlasHook (ncole)
Posted by rl...@apache.org.
AMBARI-22587. Storm service check failed during PU due to CNF StormAtlasHook (ncole)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c7cc5607
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c7cc5607
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c7cc5607
Branch: refs/heads/branch-feature-AMBARI-20859
Commit: c7cc5607e78991726753ef5d968d6cf2378c5f5b
Parents: 0afe0c0
Author: Nate Cole <nc...@hortonworks.com>
Authored: Mon Dec 4 14:58:25 2017 -0500
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Mon Dec 4 14:58:25 2017 -0500
----------------------------------------------------------------------
.../main/resources/stacks/HDP/2.0.6/properties/stack_packages.json | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/c7cc5607/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
index 946686a..62a46b9 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_packages.json
@@ -1268,6 +1268,7 @@
}
},
"upgrade-dependencies" : {
+ "ATLAS": ["STORM"],
"HIVE": ["TEZ", "MAPREDUCE2"],
"TEZ": ["HIVE"],
"MAPREDUCE2": ["HIVE"],