samza-yarn/src/main/java/org/apache/samza/job/yarn/LocalizerResourceConfig.java [50:100]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public class LocalizerResourceConfig {
  private static final String RESOURCE_PREFIX = "yarn.resources.";
  private static final String PATH_SUFFIX = ".path";
  private static final String RESOURCE_PATH = "yarn.resources.%s.path";
  private static final String RESOURCE_LOCAL_NAME = "yarn.resources.%s.local.name";
  private static final String RESOURCE_LOCAL_TYPE = "yarn.resources.%s.local.type";
  private static final String RESOURCE_LOCAL_VISIBILITY = "yarn.resources.%s.local.visibility";
  private static final String DEFAULT_RESOURCE_LOCAL_TYPE = "FILE";
  private static final String DEFAULT_RESOURCE_LOCAL_VISIBILITY = "APPLICATION";

  private final Config config;

  public LocalizerResourceConfig(final Config config) {
    if (null == config) {
      throw new IllegalArgumentException("config cannot be null");
    }
    this.config = config;
  }

  public List<String> getResourceNames() {
    Config subConfig = config.subset(RESOURCE_PREFIX, true);
    List<String> resourceNames = new ArrayList<String>();
    for (String key : subConfig.keySet()) {
      if (key.endsWith(PATH_SUFFIX)) {
        resourceNames.add(key.substring(0, key.length() - PATH_SUFFIX.length()));
      }
    }
    return resourceNames;
  }

  public Path getResourcePath(final String resourceName) {
    String pathStr = config.get(String.format(RESOURCE_PATH, resourceName));
    if (StringUtils.isEmpty(pathStr)) {
      throw new LocalizerResourceException("resource path is required but not defined in config for resource " + resourceName);
    }
    return new Path(pathStr);
  }

  public LocalResourceType getResourceLocalType(final String resourceName) {
    String typeStr = config.get(String.format(RESOURCE_LOCAL_TYPE, resourceName), DEFAULT_RESOURCE_LOCAL_TYPE);
    return LocalResourceType.valueOf(StringUtils.upperCase(typeStr));
  }

  public LocalResourceVisibility getResourceLocalVisibility(final String resourceName) {
    String visibilityStr = config.get(String.format(RESOURCE_LOCAL_VISIBILITY, resourceName), DEFAULT_RESOURCE_LOCAL_VISIBILITY);
    return LocalResourceVisibility.valueOf(StringUtils.upperCase(visibilityStr));
  }

  public String getResourceLocalName(final String resourceName) {
    String name = config.get(String.format(RESOURCE_LOCAL_NAME, resourceName), resourceName);
    return name;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



samza-yarn3/src/main/java/org/apache/samza/job/yarn/LocalizerResourceConfig.java [50:100]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public class LocalizerResourceConfig {
  private static final String RESOURCE_PREFIX = "yarn.resources.";
  private static final String PATH_SUFFIX = ".path";
  private static final String RESOURCE_PATH = "yarn.resources.%s.path";
  private static final String RESOURCE_LOCAL_NAME = "yarn.resources.%s.local.name";
  private static final String RESOURCE_LOCAL_TYPE = "yarn.resources.%s.local.type";
  private static final String RESOURCE_LOCAL_VISIBILITY = "yarn.resources.%s.local.visibility";
  private static final String DEFAULT_RESOURCE_LOCAL_TYPE = "FILE";
  private static final String DEFAULT_RESOURCE_LOCAL_VISIBILITY = "APPLICATION";

  private final Config config;

  public LocalizerResourceConfig(final Config config) {
    if (null == config) {
      throw new IllegalArgumentException("config cannot be null");
    }
    this.config = config;
  }

  public List<String> getResourceNames() {
    Config subConfig = config.subset(RESOURCE_PREFIX, true);
    List<String> resourceNames = new ArrayList<String>();
    for (String key : subConfig.keySet()) {
      if (key.endsWith(PATH_SUFFIX)) {
        resourceNames.add(key.substring(0, key.length() - PATH_SUFFIX.length()));
      }
    }
    return resourceNames;
  }

  public Path getResourcePath(final String resourceName) {
    String pathStr = config.get(String.format(RESOURCE_PATH, resourceName));
    if (StringUtils.isEmpty(pathStr)) {
      throw new LocalizerResourceException("resource path is required but not defined in config for resource " + resourceName);
    }
    return new Path(pathStr);
  }

  public LocalResourceType getResourceLocalType(final String resourceName) {
    String typeStr = config.get(String.format(RESOURCE_LOCAL_TYPE, resourceName), DEFAULT_RESOURCE_LOCAL_TYPE);
    return LocalResourceType.valueOf(StringUtils.upperCase(typeStr));
  }

  public LocalResourceVisibility getResourceLocalVisibility(final String resourceName) {
    String visibilityStr = config.get(String.format(RESOURCE_LOCAL_VISIBILITY, resourceName), DEFAULT_RESOURCE_LOCAL_VISIBILITY);
    return LocalResourceVisibility.valueOf(StringUtils.upperCase(visibilityStr));
  }

  public String getResourceLocalName(final String resourceName) {
    String name = config.get(String.format(RESOURCE_LOCAL_NAME, resourceName), resourceName);
    return name;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



