Class AbstractMavenArtifactChoiceListProvider

java.lang.Object
hudson.model.AbstractDescribableImpl<jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider>
jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
org.jenkinsci.plugins.maven_artifact_choicelistprovider.AbstractMavenArtifactChoiceListProvider
All Implemented Interfaces:
ExtensionPoint, Describable<jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider>, Serializable
Direct Known Subclasses:
ArtifactoryChoiceListProvider, MavenCentralChoiceListProvider, MavenMetadataChoiceListProvider, Nexus3ChoiceListProvider, Nexus3ChoiceListProviderForDockerImages, Nexus3GenericChoiceListProvider, NexusChoiceListProvider

public abstract class AbstractMavenArtifactChoiceListProvider extends jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
Base Class for different ChoiceListProvider that can display information from an artifact repository, like NexusChoiceListProvider, MavenCentralChoiceListProvider and ArtifactoryChoiceListProvider
Author:
stephan.watermeyer, Diebold Nixdorf
See Also:
  • Field Details

  • Constructor Details

    • AbstractMavenArtifactChoiceListProvider

      public AbstractMavenArtifactChoiceListProvider(String artifactId)
      Initializes the choice list with at the artifactId.
      Parameters:
      artifactId - the artifactId is the minimum required information.
  • Method Details

    • getChoiceList

      public List<String> getChoiceList()
      Specified by:
      getChoiceList in class jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
    • createServiceInstance

      public abstract IVersionReader createServiceInstance(Item item)
      Different implementation will return different IVersionReader instances.
      Parameters:
      item - for security checks.
      Returns:
      the service implementation.
    • getCredentials

      public static com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl getCredentials(@Nonnull String pCredentialId, @Nonnull Item pItem)
      Returns the UsernamePasswordCredentialsImpl for the given CredentialId
      Parameters:
      pCredentialId - the internal jenkins id for the credentials
      Returns:
      the credentials for the ID or NULL
    • readURL

      public static Map<String,String> readURL(IVersionReader pInstance, String pRepositoryId, String pGroupId, String pArtifactId, String pPackaging, String pClassifier, boolean pInverseFilter, String pFilterExpression, boolean pReverseOrder)
      Retrieves the versions from the given source.
      Parameters:
      pInstance - the artifact repository service.
      pRepositoryId - the repositoryId
      pGroupId - the groupId of the artifact
      pArtifactId - the artifactId
      pPackaging - the packaging
      pClassifier - the classifier
      pInverseFilter - true if the result should contain artifacts which don't match the pFilterExpression regexp false if the result should contain artifacts which match the pFilterExpression regexp
      pFilterExpression - Regexp applied on the artifacts for further selection of what should be returned. Empty string acts like .*.
      pReverseOrder - true if the result should be reversed.
      Returns:
      never null
    • filterArtifacts

      public static List<String> filterArtifacts(List<String> pChoices, boolean pInverseFilter, String pFilterExpression)
      Returns a new list containing/excluding the matching artifacts based on whether inversion was required.
      Parameters:
      pChoices - List of artifacts to filter. This function won't change its elements.
      pInverseFilter - Decides whether the pFilterExpression should be negated. If true then only non matching artifacts will be returned.
      pFilterExpression - A regular expression which will be applied to the whole artifact string. Empty string and null are treated as perfect match (value of inverse is still considered).
      Returns:
      A new list of matching artifacts only
      Throws:
      PatternSyntaxException - If pFilterExpression parameter is not a valid regular expression
    • onBuildCompletedWithValue

      public void onBuildCompletedWithValue(AbstractBuild<?,?> build, jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition def, String value)
      Overrides:
      onBuildCompletedWithValue in class jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
    • onBuildTriggeredWithValue

      public void onBuildTriggeredWithValue(AbstractProject<?,?> job, jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition def, String value)
      Overrides:
      onBuildTriggeredWithValue in class jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
    • setGroupId

      @DataBoundSetter public void setGroupId(String groupId)
    • setArtifactId

      @DataBoundSetter public void setArtifactId(String artifactId)
    • setPackaging

      @DataBoundSetter public void setPackaging(String packaging)
    • setClassifier

      @DataBoundSetter public void setClassifier(String classifier)
    • setInverseFilter

      @DataBoundSetter public void setInverseFilter(boolean inverseFilter)
    • setFilterExpression

      @DataBoundSetter public void setFilterExpression(String filterExpression)
    • setReverseOrder

      @DataBoundSetter public void setReverseOrder(boolean reverseOrder)
    • setRepositoryId

      @DataBoundSetter public void setRepositoryId(String repositoryId)
    • getGroupId

      public String getGroupId()
    • getArtifactId

      public String getArtifactId()
    • getPackaging

      public String getPackaging()
    • getClassifier

      public String getClassifier()
    • getInverseFilter

      public boolean getInverseFilter()
    • getFilterExpression

      public String getFilterExpression()
    • getReverseOrder

      public boolean getReverseOrder()
    • getRepositoryId

      public String getRepositoryId()