Class RssJointSpecsConsumer

java.lang.Object
com.atlassian.bamboo.configuration.external.detection.RssJointSpecsConsumer
All Implemented Interfaces:
SpecsConsumer

public class RssJointSpecsConsumer extends Object implements SpecsConsumer
  • Constructor Details

    • RssJointSpecsConsumer

      public RssJointSpecsConsumer(SpecsConsumer specsConsumer)
  • Method Details

    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • 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 interface SpecsConsumer
    • getConsumers

      @VisibleForTesting public Map<Class<? extends SpecsConsumer>,SpecsConsumer> getConsumers()