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,Nexus3GenericChoiceListProvider,NexusChoiceListProvider
public abstract class AbstractMavenArtifactChoiceListProvider extends jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider implements ExtensionPoint
Base Class for differentChoiceListProviderthat can display information from an artifact repository, likeNexusChoiceListProvider,MavenCentralChoiceListProviderandArtifactoryChoiceListProvider- Author:
- stephan.watermeyer, Diebold Nixdorf
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractMavenArtifactChoiceListProvider.DescriptorImpl-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_REGEX_MATCH_ALL
-
Constructor Summary
Constructors Constructor Description AbstractMavenArtifactChoiceListProvider(String artifactId)Initializes the choice list with at the artifactId.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract IVersionReadercreateServiceInstance(Item item)Different implementation will return differentIVersionReaderinstances.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.StringgetArtifactId()List<String>getChoiceList()StringgetClassifier()static com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImplgetCredentials(String pCredentialId, Item pItem)Returns theUsernamePasswordCredentialsImplfor the given CredentialIdStringgetFilterExpression()StringgetGroupId()booleangetInverseFilter()StringgetPackaging()StringgetRepositoryId()booleangetReverseOrder()voidonBuildCompletedWithValue(AbstractBuild<?,?> build, jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition def, String value)voidonBuildTriggeredWithValue(AbstractProject<?,?> job, jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition def, String value)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.voidsetArtifactId(String artifactId)voidsetClassifier(String classifier)voidsetFilterExpression(String filterExpression)voidsetGroupId(String groupId)voidsetInverseFilter(boolean inverseFilter)voidsetPackaging(String packaging)voidsetRepositoryId(String repositoryId)voidsetReverseOrder(boolean reverseOrder)-
Methods inherited from class jp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
all, getDefaultChoice, requiresBuildPermission
-
Methods inherited from class hudson.model.AbstractDescribableImpl
getDescriptor
-
-
-
-
Field Detail
-
DEFAULT_REGEX_MATCH_ALL
public static final String DEFAULT_REGEX_MATCH_ALL
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractMavenArtifactChoiceListProvider
public AbstractMavenArtifactChoiceListProvider(String artifactId)
Initializes the choice list with at the artifactId.- Parameters:
artifactId- the artifactId is the minimum required information.
-
-
Method Detail
-
getChoiceList
public List<String> getChoiceList()
- Specified by:
getChoiceListin classjp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
-
createServiceInstance
public abstract IVersionReader createServiceInstance(Item item)
Different implementation will return differentIVersionReaderinstances.- 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 theUsernamePasswordCredentialsImplfor 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 repositoryIdpGroupId- the groupId of the artifactpArtifactId- the artifactIdpPackaging- the packagingpClassifier- the classifierpInverseFilter-trueif the result should contain artifacts which don't match the pFilterExpression regexpfalseif the result should contain artifacts which match the pFilterExpression regexppFilterExpression- Regexp applied on the artifacts for further selection of what should be returned. Empty string acts like.*.pReverseOrder-trueif 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. Iftruethen 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:
onBuildCompletedWithValuein classjp.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:
onBuildTriggeredWithValuein classjp.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()
-
-