com.atlassian.bamboo.plan.artifact
Class ArtifactSubscriptionManagerImpl

java.lang.Object
  extended by com.atlassian.bamboo.plan.artifact.ArtifactSubscriptionManagerImpl
All Implemented Interfaces:
ArtifactSubscriptionManager

public class ArtifactSubscriptionManagerImpl
extends Object
implements ArtifactSubscriptionManager


Field Summary
 
Fields inherited from interface com.atlassian.bamboo.plan.artifact.ArtifactSubscriptionManager
BAMBOO_ARTIFACTS_PATH_VARIABLE
 
Constructor Summary
ArtifactSubscriptionManagerImpl(ArtifactDefinitionManager artifactDefinitionManager, ArtifactSubscriptionDao artifactSubscriptionDao, ConsumedSubscriptionDao consumedSubscriptionDao, ArtifactLinkDao artifactLinkDao, ResultsSummaryManager resultsSummaryManager, SecureTokenService secureTokenService)
           
 
Method Summary
 List<ArtifactSubscription> findCurrentSubscriptionsForPlan(ImmutableJob producerJob)
          Get list of subscriptions existing in a chain for given artifact
 ArtifactSubscription findSubscription(long id)
          Get artifact definition of specified id
 List<ArtifactSubscription> findSubscriptionsOfPlan(PlanIdentifier plan)
          Get list of artifact subscriptions associated with a plan
 List<ArtifactDefinition> findSubscriptionsPossibleForPlan(ImmutableJob job)
          Get list of chain level artifacts available for specified plan
 com.google.common.collect.Multimap<ResultsSummary,ConsumedSubscription> getConsumedSubscriptions(ResultsSummary resultsSummary)
          Returns list of ConsumedSubscription ordered by order of ResultsSummary execution.
 boolean isSubscriptionsValid(Job consumer, Chain chain, String stageName)
          Shorter for of validateSubscriptions method
 List<ArtifactDefinitionContext> prepareArtifactDefinitionContexts(ImmutableJob job, PlanResultKey chainResultKey)
          Helps prepare the artifact definitions
 List<ArtifactSubscriptionContext> prepareSubscriptionContexts(ImmutableJob job, PlanResultKey chainResultKey)
           
 void removeArtifactSubscription(ArtifactSubscription artifactSubscription)
          Remove artifact subscription.
 void removeArtifactSubscriptions(Collection<ArtifactSubscription> artifactSubscriptions)
          Remove all artifact subscriptions in the collection.
 void removeArtifactSubscriptionsOfPlan(Plan plan)
          Remove all artifact subscriptions for a plan
 void saveArtifactSubscription(ArtifactSubscription artifactSubscription)
          Save artifact subscription.
 void saveArtifactSubscriptions(Collection<ArtifactSubscription> artifactSubscriptions)
          Save all artifact definitions in a collection.
 void saveConsumedSubscription(ArtifactSubscriptionContext artifactSubscription, PlanResultKey planResultKey)
          Store consumed subscription.
 void saveConsumedSubscription(ArtifactSubscriptionContext artifactSubscription, PlanResultKey planResultKey, String artifactLinkType)
          Store consumed subscription.
 List<ArtifactSubscriptionSubstitutionAware> transformSubscriptions(List<ArtifactSubscription> subscriptions)
           
 List<ArtifactSubscription> validateSubscribersForMovedJob(ImmutableJob producer, ImmutableChainStage destinationStage)
          Validate all consumer artifact subscriptions to the artifacts produced by a Job against target stage
 List<ArtifactSubscription> validateSubscriptions(ImmutableJob consumer, ImmutableChain chain, String stageName)
          Validate consumer artifact subscriptions against target chain and stage
 List<ArtifactSubscription> validateSubscriptionsForMovedJob(ImmutableJob job, ImmutableChainStage targetStage)
          Validate all artifact subscriptions possibly affected by moving a job.
 List<ArtifactSubscription> validateSubscriptionsForMovedStage(ImmutableChainStage stageToMove, int newIndex)
          Validates all artifact subscriptions possibly affected by moving a stage.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArtifactSubscriptionManagerImpl

public ArtifactSubscriptionManagerImpl(ArtifactDefinitionManager artifactDefinitionManager,
                                       ArtifactSubscriptionDao artifactSubscriptionDao,
                                       ConsumedSubscriptionDao consumedSubscriptionDao,
                                       ArtifactLinkDao artifactLinkDao,
                                       ResultsSummaryManager resultsSummaryManager,
                                       SecureTokenService secureTokenService)
Method Detail

findSubscription

public ArtifactSubscription findSubscription(long id)
Description copied from interface: ArtifactSubscriptionManager
Get artifact definition of specified id

Specified by:
findSubscription in interface ArtifactSubscriptionManager
Parameters:
id - id of artifact subscription
Returns:
artifact definition of specified id or null if not found

findSubscriptionsOfPlan

@NotNull
public List<ArtifactSubscription> findSubscriptionsOfPlan(@NotNull
                                                                  PlanIdentifier plan)
Description copied from interface: ArtifactSubscriptionManager
Get list of artifact subscriptions associated with a plan

Specified by:
findSubscriptionsOfPlan in interface ArtifactSubscriptionManager
Parameters:
plan - plan which associated artifact subscriptions should be retrieved
Returns:
list of artifact subscriptions

transformSubscriptions

public List<ArtifactSubscriptionSubstitutionAware> transformSubscriptions(@NotNull
                                                                          List<ArtifactSubscription> subscriptions)
Specified by:
transformSubscriptions in interface ArtifactSubscriptionManager

findSubscriptionsPossibleForPlan

@NotNull
public List<ArtifactDefinition> findSubscriptionsPossibleForPlan(@NotNull
                                                                         ImmutableJob job)
Description copied from interface: ArtifactSubscriptionManager
Get list of chain level artifacts available for specified plan

Specified by:
findSubscriptionsPossibleForPlan in interface ArtifactSubscriptionManager
Returns:
list of available artifact definitions

findCurrentSubscriptionsForPlan

@NotNull
public List<ArtifactSubscription> findCurrentSubscriptionsForPlan(@NotNull
                                                                          ImmutableJob producerJob)
Description copied from interface: ArtifactSubscriptionManager
Get list of subscriptions existing in a chain for given artifact

Specified by:
findCurrentSubscriptionsForPlan in interface ArtifactSubscriptionManager
Returns:
list of artifact subscriptions

validateSubscribersForMovedJob

@NotNull
public List<ArtifactSubscription> validateSubscribersForMovedJob(@NotNull
                                                                         ImmutableJob producer,
                                                                         @NotNull
                                                                         ImmutableChainStage destinationStage)
Description copied from interface: ArtifactSubscriptionManager
Validate all consumer artifact subscriptions to the artifacts produced by a Job against target stage

Specified by:
validateSubscribersForMovedJob in interface ArtifactSubscriptionManager
Parameters:
producer - job being producer of the artifacts
destinationStage - target stage
Returns:
list of subscriptions that NOT satisfy

validateSubscriptions

@NotNull
public List<ArtifactSubscription> validateSubscriptions(@NotNull
                                                                ImmutableJob consumer,
                                                                @NotNull
                                                                ImmutableChain chain,
                                                                @NotNull
                                                                String stageName)
Description copied from interface: ArtifactSubscriptionManager
Validate consumer artifact subscriptions against target chain and stage

Specified by:
validateSubscriptions in interface ArtifactSubscriptionManager
Parameters:
consumer - job being consumer of artifact definitions
chain - target chain
stageName - target stage
Returns:
list of subscriptions that NOT satisfy

validateSubscriptionsForMovedJob

@NotNull
public List<ArtifactSubscription> validateSubscriptionsForMovedJob(@NotNull
                                                                           ImmutableJob job,
                                                                           @NotNull
                                                                           ImmutableChainStage targetStage)
Description copied from interface: ArtifactSubscriptionManager
Validate all artifact subscriptions possibly affected by moving a job. Artifact subscriptions will be broken if the producer is moved down, or if the consumer is moved up. This validation will return all artifact subscriptions that will be broken.

Specified by:
validateSubscriptionsForMovedJob in interface ArtifactSubscriptionManager
Parameters:
job - job being moved
targetStage - target stage
Returns:
list of ArtifactSubscription that won't qualify after the move

validateSubscriptionsForMovedStage

@NotNull
public List<ArtifactSubscription> validateSubscriptionsForMovedStage(@NotNull
                                                                             ImmutableChainStage stageToMove,
                                                                             int newIndex)
Description copied from interface: ArtifactSubscriptionManager
Validates all artifact subscriptions possibly affected by moving a stage. Artifact subscriptions will be broken if the producer is moved down, or if the consumer is moved up. This validation will return all artifact subscriptions that will be broken.

Specified by:
validateSubscriptionsForMovedStage in interface ArtifactSubscriptionManager
Parameters:
stageToMove - stage being moved
newIndex - target stage index
Returns:
list of ArtifactSubscription that won't qualify after the move

isSubscriptionsValid

public boolean isSubscriptionsValid(@NotNull
                                    Job consumer,
                                    @NotNull
                                    Chain chain,
                                    @NotNull
                                    String stageName)
Description copied from interface: ArtifactSubscriptionManager
Shorter for of validateSubscriptions method

Specified by:
isSubscriptionsValid in interface ArtifactSubscriptionManager
Parameters:
consumer - job being consumer of artifact definitions
chain - target chain
stageName - target stage
Returns:
true if all subscriptions are valid

prepareSubscriptionContexts

@NotNull
public List<ArtifactSubscriptionContext> prepareSubscriptionContexts(@NotNull
                                                                             ImmutableJob job,
                                                                             @NotNull
                                                                             PlanResultKey chainResultKey)
Specified by:
prepareSubscriptionContexts in interface ArtifactSubscriptionManager
Returns:

prepareArtifactDefinitionContexts

@NotNull
public List<ArtifactDefinitionContext> prepareArtifactDefinitionContexts(@NotNull
                                                                                 ImmutableJob job,
                                                                                 @NotNull
                                                                                 PlanResultKey chainResultKey)
Description copied from interface: ArtifactSubscriptionManager
Helps prepare the artifact definitions

Specified by:
prepareArtifactDefinitionContexts in interface ArtifactSubscriptionManager
Returns:

removeArtifactSubscription

public void removeArtifactSubscription(@NotNull
                                       ArtifactSubscription artifactSubscription)
Description copied from interface: ArtifactSubscriptionManager
Remove artifact subscription.

Specified by:
removeArtifactSubscription in interface ArtifactSubscriptionManager
Parameters:
artifactSubscription - ArtifactSubscription to be removed

removeArtifactSubscriptions

public void removeArtifactSubscriptions(@NotNull
                                        Collection<ArtifactSubscription> artifactSubscriptions)
Description copied from interface: ArtifactSubscriptionManager
Remove all artifact subscriptions in the collection.

Specified by:
removeArtifactSubscriptions in interface ArtifactSubscriptionManager
Parameters:
artifactSubscriptions - collection of ArtifactSubscription to be removed

removeArtifactSubscriptionsOfPlan

public void removeArtifactSubscriptionsOfPlan(@NotNull
                                              Plan plan)
Description copied from interface: ArtifactSubscriptionManager
Remove all artifact subscriptions for a plan

Specified by:
removeArtifactSubscriptionsOfPlan in interface ArtifactSubscriptionManager

saveArtifactSubscription

public void saveArtifactSubscription(@NotNull
                                     ArtifactSubscription artifactSubscription)
Description copied from interface: ArtifactSubscriptionManager
Save artifact subscription.

Specified by:
saveArtifactSubscription in interface ArtifactSubscriptionManager
Parameters:
artifactSubscription - object to be saved

saveArtifactSubscriptions

public void saveArtifactSubscriptions(@NotNull
                                      Collection<ArtifactSubscription> artifactSubscriptions)
Description copied from interface: ArtifactSubscriptionManager
Save all artifact definitions in a collection.

Specified by:
saveArtifactSubscriptions in interface ArtifactSubscriptionManager
Parameters:
artifactSubscriptions - collection of objects to be saved/updated

saveConsumedSubscription

public void saveConsumedSubscription(@NotNull
                                     ArtifactSubscriptionContext artifactSubscription,
                                     @NotNull
                                     PlanResultKey planResultKey,
                                     @NotNull
                                     String artifactLinkType)
Description copied from interface: ArtifactSubscriptionManager
Store consumed subscription. Method should be called when artifacts are physically transferred to the agent

Specified by:
saveConsumedSubscription in interface ArtifactSubscriptionManager

saveConsumedSubscription

public void saveConsumedSubscription(@NotNull
                                     ArtifactSubscriptionContext artifactSubscription,
                                     @NotNull
                                     PlanResultKey planResultKey)
Description copied from interface: ArtifactSubscriptionManager
Store consumed subscription. Method should be called when artifacts are physically transferred to the agent

Specified by:
saveConsumedSubscription in interface ArtifactSubscriptionManager

getConsumedSubscriptions

@NotNull
public com.google.common.collect.Multimap<ResultsSummary,ConsumedSubscription> getConsumedSubscriptions(@NotNull
                                                                                                                ResultsSummary resultsSummary)
Description copied from interface: ArtifactSubscriptionManager
Returns list of ConsumedSubscription ordered by order of ResultsSummary execution. Artifacts whose producer does not exists are appended at the end, with null key.

Specified by:
getConsumedSubscriptions in interface ArtifactSubscriptionManager
Parameters:
resultsSummary - a job result
Returns:


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.