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 differentChoiceListProvider
that can display information from an artifact repository, likeNexusChoiceListProvider
,MavenCentralChoiceListProvider
andArtifactoryChoiceListProvider
- Author:
- stephan.watermeyer, Diebold Nixdorf
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractMavenArtifactChoiceListProvider.DescriptorImpl
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_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 IVersionReader
createServiceInstance(Item item)
Different implementation will return differentIVersionReader
instances.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.String
getArtifactId()
List<String>
getChoiceList()
String
getClassifier()
static com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl
getCredentials(String pCredentialId, Item pItem)
Returns theUsernamePasswordCredentialsImpl
for the given CredentialIdString
getFilterExpression()
String
getGroupId()
boolean
getInverseFilter()
String
getPackaging()
String
getRepositoryId()
boolean
getReverseOrder()
void
onBuildCompletedWithValue(AbstractBuild<?,?> build, jp.ikedam.jenkins.plugins.extensible_choice_parameter.ExtensibleChoiceParameterDefinition def, String value)
void
onBuildTriggeredWithValue(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.void
setArtifactId(String artifactId)
void
setClassifier(String classifier)
void
setFilterExpression(String filterExpression)
void
setGroupId(String groupId)
void
setInverseFilter(boolean inverseFilter)
void
setPackaging(String packaging)
void
setRepositoryId(String repositoryId)
void
setReverseOrder(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:
getChoiceList
in classjp.ikedam.jenkins.plugins.extensible_choice_parameter.ChoiceListProvider
-
createServiceInstance
public abstract IVersionReader createServiceInstance(Item item)
Different implementation will return differentIVersionReader
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 theUsernamePasswordCredentialsImpl
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 repositoryIdpGroupId
- the groupId of the artifactpArtifactId
- the artifactIdpPackaging
- the packagingpClassifier
- the classifierpInverseFilter
-true
if the result should contain artifacts which don't match the pFilterExpression regexpfalse
if 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
-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. Iftrue
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 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:
onBuildTriggeredWithValue
in 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()
-
-