Class RssJointSpecsConsumer
- java.lang.Object
-
- com.atlassian.bamboo.configuration.external.detection.RssJointSpecsConsumer
-
- All Implemented Interfaces:
SpecsConsumer
public class RssJointSpecsConsumer extends Object implements SpecsConsumer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.atlassian.bamboo.configuration.external.SpecsConsumer
SpecsConsumer.PlanPropertiesSupplier
-
-
Constructor Summary
Constructors Constructor Description RssJointSpecsConsumer(SpecsConsumer specsConsumer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<Class<? extends SpecsConsumer>,SpecsConsumer>
getConsumers()
void
importDeploymentPermissions(@NotNull com.atlassian.bamboo.specs.api.model.permission.DeploymentPermissionsProperties deploymentPermissions, @NotNull RssPermissions rssPermissions)
Import deployment permission propertiesvoid
importDeploymentProperties(@NotNull com.atlassian.bamboo.specs.api.model.deployment.DeploymentProperties deploymentProperties, @NotNull RssPermissions rssPermissions, boolean noChangesInProperties)
Import deployment propertiesvoid
importEnvironmentPermissions(@NotNull com.atlassian.bamboo.specs.api.model.permission.EnvironmentPermissionsProperties environmentPermissions, @NotNull RssPermissions rssPermissions)
Import environment permission propertiesvoid
importEnvironmentPermissions(@NotNull String deploymentName, @NotNull com.atlassian.bamboo.specs.api.model.BambooOidProperties deploymentOid, @NotNull List<com.atlassian.bamboo.specs.api.model.permission.EnvironmentPermissionsProperties> environmentsPermissions, @NotNull com.atlassian.bamboo.specs.api.model.permission.PermissionsProperties defaultEnvironmentPermissions, @NotNull RssPermissions rssPermissions)
Bulk import environment permission propertiesvoid
importPlanPermissions(@NotNull RssPermissions rssPermissions, @NotNull com.atlassian.bamboo.specs.api.model.permission.PlanPermissionsProperties planPermissions)
Import plan permission propertiesvoid
importPlanProperties(@NotNull SpecsConsumer.PlanPropertiesSupplier topLevelPlanPropertiesSupplier, @NotNull RssPermissions rssPermissions, @NotNull VcsRepositoryData vcsRepositoryData, @NotNull List<CommitContext> commits, @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull SpecsType specsType, boolean noChangesInPlanProperties)
Import plan propertiesvoid
importProjectPermissions(@NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties projectPermissions, @NotNull RssPermissions rssPermissions)
Import project permission propertiesvoid
importProjectProperties(@NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @NotNull RssPermissions rssPermissions, boolean noChangesInPlanProperties)
Import project propertiesSpecsConsumer
mergeConsumers(@NotNull SpecsConsumer other)
Merge this consumer with another one, creating consumer that will create/update all affected objects exactly once.void
onError(@NotNull VcsRepositoryData vcsRepositoryData, @NotNull List<CommitContext> commits, @NotNull VcsBambooSpecsSource specsSource, @NotNull RssPermissions rssPermissions, @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull Throwable throwable, @NotNull String logFilename)
Handle problem with specs importvoid
onSpecsRevisionNotFound()
Handle the state when there's no revision that contains specs on the repository branch.void
onSuccess(@NotNull VcsRepositoryData vcsRepositoryData, @NotNull List<CommitContext> commits, @NotNull VcsLocationBambooSpecsState specsState, @NotNull RssPermissions rssPermissions, @NotNull VcsLocationBambooSpecsState bambooSpecsState, @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull String logFilename)
Handle specs execution successvoid
onYamlValidationError(@NotNull VcsRepositoryData vcsRepositoryData, @NotNull List<CommitContext> commits, @NotNull VcsBambooSpecsSource specsSource, @NotNull RssPermissions rssPermissions, @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull Exception throwable, @NotNull String logFilename)
Handle problem with yaml validationboolean
processSpecsDirectoryRemoval(@NotNull VcsRepositoryData repository, @NotNull VcsLocationBambooSpecsState specsState, @NotNull List<CommitContext> commits, @NotNull RssPermissions rssPermissions, @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull String logFilename)
Handle situation where no Specs have been found in the repository (for the current revision)
-
-
-
Constructor Detail
-
RssJointSpecsConsumer
public RssJointSpecsConsumer(SpecsConsumer specsConsumer)
-
-
Method Detail
-
importPlanProperties
public void importPlanProperties(@NotNull @NotNull SpecsConsumer.PlanPropertiesSupplier topLevelPlanPropertiesSupplier, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull SpecsType specsType, boolean noChangesInPlanProperties)
Description copied from interface:SpecsConsumer
Import plan properties- Specified by:
importPlanProperties
in interfaceSpecsConsumer
-
importPlanPermissions
public void importPlanPermissions(@NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.PlanPermissionsProperties planPermissions)
Description copied from interface:SpecsConsumer
Import plan permission properties- Specified by:
importPlanPermissions
in interfaceSpecsConsumer
-
importDeploymentProperties
public void importDeploymentProperties(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.deployment.DeploymentProperties deploymentProperties, @NotNull @NotNull RssPermissions rssPermissions, boolean noChangesInProperties)
Description copied from interface:SpecsConsumer
Import deployment properties- Specified by:
importDeploymentProperties
in interfaceSpecsConsumer
-
importDeploymentPermissions
public void importDeploymentPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.DeploymentPermissionsProperties deploymentPermissions, @NotNull @NotNull RssPermissions rssPermissions)
Description copied from interface:SpecsConsumer
Import deployment permission properties- Specified by:
importDeploymentPermissions
in interfaceSpecsConsumer
-
importEnvironmentPermissions
public void importEnvironmentPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.EnvironmentPermissionsProperties environmentPermissions, @NotNull @NotNull RssPermissions rssPermissions)
Description copied from interface:SpecsConsumer
Import environment permission properties- Specified by:
importEnvironmentPermissions
in interfaceSpecsConsumer
-
importEnvironmentPermissions
public void importEnvironmentPermissions(@NotNull @NotNull String deploymentName, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.BambooOidProperties deploymentOid, @NotNull @NotNull List<com.atlassian.bamboo.specs.api.model.permission.EnvironmentPermissionsProperties> environmentsPermissions, @NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.PermissionsProperties defaultEnvironmentPermissions, @NotNull @NotNull RssPermissions rssPermissions)
Description copied from interface:SpecsConsumer
Bulk import environment permission properties- Specified by:
importEnvironmentPermissions
in interfaceSpecsConsumer
-
importProjectProperties
public void importProjectProperties(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.project.ProjectProperties projectProperties, @NotNull @NotNull RssPermissions rssPermissions, boolean noChangesInPlanProperties)
Description copied from interface:SpecsConsumer
Import project properties- Specified by:
importProjectProperties
in interfaceSpecsConsumer
-
importProjectPermissions
public void importProjectPermissions(@NotNull @NotNull com.atlassian.bamboo.specs.api.model.permission.ProjectPermissionsProperties projectPermissions, @NotNull @NotNull RssPermissions rssPermissions)
Description copied from interface:SpecsConsumer
Import project permission properties- Specified by:
importProjectPermissions
in interfaceSpecsConsumer
-
processSpecsDirectoryRemoval
public boolean processSpecsDirectoryRemoval(@NotNull @NotNull VcsRepositoryData repository, @NotNull @NotNull VcsLocationBambooSpecsState specsState, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull String logFilename)
Description copied from interface:SpecsConsumer
Handle situation where no Specs have been found in the repository (for the current revision)- Specified by:
processSpecsDirectoryRemoval
in interfaceSpecsConsumer
-
onSpecsRevisionNotFound
public void onSpecsRevisionNotFound()
Description copied from interface:SpecsConsumer
Handle the state when there's no revision that contains specs on the repository branch.- Specified by:
onSpecsRevisionNotFound
in interfaceSpecsConsumer
-
onError
public void onError(@NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull VcsBambooSpecsSource specsSource, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull Throwable throwable, @NotNull @NotNull String logFilename)
Description copied from interface:SpecsConsumer
Handle problem with specs import- Specified by:
onError
in interfaceSpecsConsumer
-
onYamlValidationError
public void onYamlValidationError(@NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull VcsBambooSpecsSource specsSource, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull Exception throwable, @NotNull @NotNull String logFilename)
Description copied from interface:SpecsConsumer
Handle problem with yaml validation- Specified by:
onYamlValidationError
in interfaceSpecsConsumer
-
onSuccess
public void onSuccess(@NotNull @NotNull VcsRepositoryData vcsRepositoryData, @NotNull @NotNull List<CommitContext> commits, @NotNull @NotNull VcsLocationBambooSpecsState specsState, @NotNull @NotNull RssPermissions rssPermissions, @NotNull @NotNull VcsLocationBambooSpecsState bambooSpecsState, @NotNull @NotNull com.atlassian.utils.process.OutputHandler stdout, @NotNull @NotNull String logFilename)
Description copied from interface:SpecsConsumer
Handle specs execution success- Specified by:
onSuccess
in interfaceSpecsConsumer
-
mergeConsumers
public SpecsConsumer mergeConsumers(@NotNull @NotNull SpecsConsumer other)
Description copied from interface:SpecsConsumer
Merge this consumer with another one, creating consumer that will create/update all affected objects exactly once.- Specified by:
mergeConsumers
in interfaceSpecsConsumer
-
getConsumers
@VisibleForTesting public Map<Class<? extends SpecsConsumer>,SpecsConsumer> getConsumers()
-
-