public static Setting getSetting(Collection<Map<String, Object>> blueprintSetting) {
    Map<String, Set<HashMap<String, String>>> properties = new HashMap<>();
    Setting setting = new Setting(properties);

    if (blueprintSetting != null) {
      for (Map<String, Object> settingMap : blueprintSetting) {
        for (Map.Entry<String, Object> entry : settingMap.entrySet()) {
          final String[] propertyNames = entry.getKey().split("/");
          Set<HashMap<String, String>> settingValue;
          if (entry.getValue() instanceof Set) {
            settingValue = (HashSet<HashMap<String, String>>)entry.getValue();
          }
          else if (propertyNames.length > 1){
            HashMap<String, String> property = new HashMap<>();
            property.put(propertyNames[1], String.valueOf(entry.getValue()));
            settingValue = properties.get(propertyNames[0]);
            if (settingValue == null) {
              settingValue = new HashSet<>();
            }
            settingValue.add(property);
          }
          else {
            throw new IllegalArgumentException("Invalid setting schema: " + String.valueOf(entry.getValue()));
          }
          properties.put(propertyNames[0], settingValue);
        }
      }
    }

    return setting;
  }
Attempts to build the list of settings in the following format:
setting_name1-->[propertyName1-->propertyValue1, propertyName2-->propertyValue2]
@param blueprintSetting
@return
ambari-server/src/main/java/org/apache/ambari/server/topology/SettingFactory.java