Class ArtifactoryConfigLoader

java.lang.Object
org.apache.storm.scheduler.utils.ArtifactoryConfigLoader
All Implemented Interfaces:
IConfigLoader

public class ArtifactoryConfigLoader extends Object implements IConfigLoader
A dynamic loader that can load scheduler configurations for user resource guarantees from Artifactory (an artifact repository manager). This is not thread-safe.
  • Field Details

  • Constructor Details

    • ArtifactoryConfigLoader

      public ArtifactoryConfigLoader(Map<String,Object> conf)
  • Method Details

    • load

      public Map<String,Object> load(String configKey)
      Load the configs associated with the configKey from the targetURI.
      Specified by:
      load in interface IConfigLoader
      Parameters:
      configKey - The key from which we want to get the scheduler config.
      Returns:
      The scheduler configuration if exists; null otherwise.
    • doGet

      protected String doGet(String api, String artifact, String host, Integer port)
      Protected so we can override this in unit tests.
      Parameters:
      api - null if we are trying to download artifact, otherwise a string to call REST api, e.g. "/api/storage"
      artifact - location of artifact
      host - Artifactory hostname
      port - Artifactory port
      Returns:
      null on failure or the response string if return code is in 200 range