public abstract class AbstractLocalArtifactHandler extends AbstractArtifactHandler
ALL_AGENT_TYPES, LOCAL_AGENTS, NON_LOCAL_AGENTS
LAN_SPEED, LOCAL_SPEED, NEVER_ARCHIVE, WAN_SPEED
Constructor and Description |
---|
AbstractLocalArtifactHandler(Set<AgentType> supportedAgents) |
Modifier and Type | Method and Description |
---|---|
protected abstract ArtifactDirectoryBuilder |
getArtifactDirectoryBuilder(ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
ArtifactLinkDataProvider |
getArtifactLinkDataProvider(Artifact artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
ArtifactLinkDataProvider |
getArtifactLinkDataProvider(ArtifactLink artifactLink,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
protected File |
getArtifactStorageDirectory(Artifact artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
protected File |
getArtifactStorageDirectory(ResultKey resultKey,
ArtifactDefinitionContext artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider) |
int |
getSpeed(Map<String,String> artifactHandlersConfiguration)
Return approximate transfer speed of this artifact handler in bytes per second for the specified configuration.
|
boolean |
moveArtifactToGlobalStorage(Artifact artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Move artifact to a 'global storage'.
|
ArtifactHandlerPublishingResult |
publish(ResultKey planResultKey,
ArtifactDefinitionContext artifact,
ArtifactPublishingConfig artifactPublishingConfig) |
void |
removeArtifactFromStorage(Artifact artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single artifact.
|
void |
removeArtifactFromStorage(PlanResultKey planResultKey,
ImmutableArtifactDefinitionBase artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single artifact.
|
void |
removeArtifactFromStorage(ResultKey planResultKey,
ImmutableArtifactDefinitionBase artifact,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single artifact.
|
void |
removeArtifactsFromStorage(PlanKey planKey,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for all results of a single.
|
void |
removeArtifactsFromStorage(PlanResultKey planResultKey,
ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Removes artifact files for a single plan result.
|
ArtifactRetrievalStatus |
retrieve(ResultKey clientKey,
Artifact artifact,
ArtifactSubscriptionContext artifactSubscription,
ArtifactRetrievalConfig artifactRetrievalConfig)
Retrieve arbitrary
Artifact . |
canHandleArtifact, configProvider, configProvider, getConfigurationKey, getConfigValue, getDefaultConfiguration, getMaxUnarchivedFilesPerArtifact, getModuleDescriptor, getSupportedAgents, init
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
publish
@NotNull public ArtifactHandlerPublishingResult publish(@NotNull ResultKey planResultKey, @NotNull ArtifactDefinitionContext artifact, @NotNull ArtifactPublishingConfig artifactPublishingConfig) throws IOException
IOException
@NotNull public ArtifactRetrievalStatus retrieve(@NotNull ResultKey clientKey, @NotNull Artifact artifact, @NotNull ArtifactSubscriptionContext artifactSubscription, @NotNull ArtifactRetrievalConfig artifactRetrievalConfig) throws IOException
ArtifactHandler
Artifact
. Artifact is found by the information in artifact parameter.clientKey
- identifier of plan or deployment doing the downloadartifact
- artifact informationartifactSubscription
- download details (e.g. target path, copy pattern)artifactRetrievalConfig
- handler specific configurationIOException
protected File getArtifactStorageDirectory(ResultKey resultKey, ArtifactDefinitionContext artifact, ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
protected File getArtifactStorageDirectory(Artifact artifact, ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
protected abstract ArtifactDirectoryBuilder getArtifactDirectoryBuilder(ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
public int getSpeed(@NotNull Map<String,String> artifactHandlersConfiguration)
ArtifactHandler
artifactHandlersConfiguration
- artifact handler configurationArtifactHandler.LOCAL_SPEED
, ArtifactHandler.LAN_SPEED
, ArtifactHandler.WAN_SPEED
public void removeArtifactFromStorage(@NotNull Artifact artifact, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
public void removeArtifactFromStorage(@NotNull PlanResultKey planResultKey, @NotNull ImmutableArtifactDefinitionBase artifact, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ArtifactLink
Should not remove artifacts that were moved to global storage.public void removeArtifactFromStorage(@NotNull ResultKey planResultKey, @NotNull ImmutableArtifactDefinitionBase artifact, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ArtifactLink
Should not remove artifacts that were moved to global storage.public void removeArtifactsFromStorage(@NotNull PlanResultKey planResultKey, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ResultsSummary
Should not remove artifacts that were moved to global storage.public void removeArtifactsFromStorage(@NotNull PlanKey planKey, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
Plan
Should not remove artifacts that were moved to global storage.public boolean moveArtifactToGlobalStorage(@NotNull Artifact artifact, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
ArtifactHandler
ArtifactHandler.removeArtifactFromStorage(Artifact, ArtifactHandlerConfigProvider)
is called.
It is not a requirement to physically move the files as long as the above contract is fulfilled.public ArtifactLinkDataProvider getArtifactLinkDataProvider(ArtifactLink artifactLink, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
public ArtifactLinkDataProvider getArtifactLinkDataProvider(Artifact artifact, @NotNull ArtifactHandlerConfigProvider artifactHandlerConfigProvider)
Copyright © 2021 Atlassian Software Systems Pty Ltd. All rights reserved.