@Override
  public Set<Resource> getResourcesAuthorized(Request request, Predicate predicate)
    throws SystemException, UnsupportedPropertyException, NoSuchResourceException, NoSuchParentResourceException {

    final Set<ConfigurationRequest> requests = new HashSet<>();

    for (Map<String, Object> propertyMap : getPropertyMaps(predicate)) {
      requests.add(getRequest(request, propertyMap));
    }

    Set<ConfigurationResponse> responses = getResources(new Command<Set<ConfigurationResponse>>() {
      @Override
      public Set<ConfigurationResponse> invoke() throws AmbariException {
        return getManagementController().getConfigurations(requests);
      }
    });

    Set<Resource> resources = new HashSet<>();
    for (ConfigurationResponse response : responses) {
      // don't use the StackId object here; we just want the stack ID string
      String stackId = response.getStackId().getStackId();

      Resource resource = new ResourceImpl(Resource.Type.Configuration);
      resource.setProperty(CLUSTER_NAME, response.getClusterName());
      resource.setProperty(STACK_ID, stackId);
      resource.setProperty(TYPE, response.getType());
      resource.setProperty(TAG, response.getVersionTag());
      resource.setProperty(VERSION, response.getVersion());

      if (null != response.getConfigs() && response.getConfigs().size() > 0) {
        Map<String, String> configs = response.getConfigs();

        for (Entry<String, String> entry : configs.entrySet()) {
          String id = PropertyHelper.getPropertyId("properties", entry.getKey());
          resource.setProperty(id, entry.getValue());
        }
      }
      if (null != response.getConfigAttributes() && response.getConfigAttributes().size() > 0) {
        Map<String, Map<String, String>> configAttributes = response.getConfigAttributes();
        for (Entry<String, Map<String, String>> configAttribute : configAttributes.entrySet()) {
          String id = PropertyHelper.getPropertyId("properties_attributes", configAttribute.getKey());
          resource.setProperty(id, configAttribute.getValue());
        }
      }
      resources.add(resource);
    }
    return resources;
  }
Constructor

@param managementController  the associated management controller
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigurationResourceProvider.java