in ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java [332:431]
protected void createPropertyProviders(Resource.Type type) {
List<PropertyProvider> providers = new LinkedList<PropertyProvider>();
ComponentSSLConfiguration configuration = ComponentSSLConfiguration.instance();
URLStreamProvider streamProvider = new URLStreamProvider(
PROPERTY_REQUEST_CONNECT_TIMEOUT, PROPERTY_REQUEST_READ_TIMEOUT,
configuration.getTruststorePath(), configuration.getTruststorePassword(), configuration.getTruststoreType());
switch (type){
case Cluster :
providers.add(createGangliaReportPropertyProvider(
type,
streamProvider,
ComponentSSLConfiguration.instance(),
this,
PropertyHelper.getPropertyId("Clusters", "cluster_name")));
break;
case Host :
providers.add(createGangliaHostPropertyProvider(
type,
streamProvider,
ComponentSSLConfiguration.instance(),
this,
PropertyHelper.getPropertyId("Hosts", "cluster_name"),
PropertyHelper.getPropertyId("Hosts", "host_name")
));
break;
case Component : {
// TODO as we fill out stack metric definitions, these can be phased out
PropertyProvider jpp = createJMXPropertyProvider(
type,
streamProvider,
this,
PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
null,
PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
PropertyHelper.getPropertyId("ServiceComponentInfo", "state"),
Collections.singleton("STARTED"));
PropertyProvider gpp = createGangliaComponentPropertyProvider(
type,
streamProvider,
ComponentSSLConfiguration.instance(),
this,
PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"));
providers.add(new StackDefinedPropertyProvider(
type,
this,
this,
streamProvider,
PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
PropertyHelper.getPropertyId("ServiceComponentInfo", "host_name"),
PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
PropertyHelper.getPropertyId("ServiceComponentInfo", "state"),
jpp,
gpp));
}
break;
case HostComponent: {
// TODO as we fill out stack metric definitions, these can be phased out
PropertyProvider jpp = createJMXPropertyProvider(
type,
streamProvider,
this,
PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
PropertyHelper.getPropertyId("HostRoles", "host_name"),
PropertyHelper.getPropertyId("HostRoles", "component_name"),
PropertyHelper.getPropertyId("HostRoles", "state"),
Collections.singleton("STARTED"));
PropertyProvider gpp = createGangliaHostComponentPropertyProvider(
type,
streamProvider,
ComponentSSLConfiguration.instance(),
this,
PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
PropertyHelper.getPropertyId("HostRoles", "host_name"),
PropertyHelper.getPropertyId("HostRoles", "component_name"));
providers.add(new StackDefinedPropertyProvider(
type,
this,
this,
streamProvider,
PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
PropertyHelper.getPropertyId("HostRoles", "host_name"),
PropertyHelper.getPropertyId("HostRoles", "component_name"),
PropertyHelper.getPropertyId("HostRoles", "state"),
jpp,
gpp));
}
break;
default :
break;
}
putPropertyProviders(type, providers);
}