@Override
  protected void createPropertyProviders(Resource.Type type) {

    List<PropertyProvider> providers = new LinkedList<PropertyProvider>();

    if (type.equals(Resource.Type.Component)) {
      providers.add(new JMXPropertyProvider(
              SCOMMetricHelper.getJMXPropertyIds(type),
              urlStreamProvider,
              this,
              this,
              PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
              null,
              PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
              PropertyHelper.getPropertyId("ServiceComponentInfo", "state")));

      providers.add(new SQLPropertyProvider(
              SCOMMetricHelper.getSqlServerPropertyIds(type),
              this,
              PropertyHelper.getPropertyId("ServiceComponentInfo", "cluster_name"),
              null,
              PropertyHelper.getPropertyId("ServiceComponentInfo", "component_name"),
              PropertyHelper.getPropertyId("ServiceComponentInfo", "service_name"),
              connectionFactory));
    } else if (type.equals(Resource.Type.HostComponent)) {
      providers.add(new JMXPropertyProvider(
              SCOMMetricHelper.getJMXPropertyIds(type),
              urlStreamProvider,
              this,
              this,
              PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
              PropertyHelper.getPropertyId("HostRoles", "host_name"),
              PropertyHelper.getPropertyId("HostRoles", "component_name"),
              PropertyHelper.getPropertyId("HostRoles", "state")));

      providers.add(new SQLPropertyProvider(
              SCOMMetricHelper.getSqlServerPropertyIds(type),
              this,
              PropertyHelper.getPropertyId("HostRoles", "cluster_name"),
              PropertyHelper.getPropertyId("HostRoles", "host_name"),
              PropertyHelper.getPropertyId("HostRoles", "component_name"),
              PropertyHelper.getPropertyId("HostRoles", "service_name"),
              connectionFactory));
    }
    putPropertyProviders(type, providers);
  }
Provider module used to install PropertyProviders required for ambari-scom.
contrib/ambari-scom/ambari-scom-server/src/main/java/org/apache/ambari/scom/SQLProviderModule.java