Class VersionNamingServiceImpl
java.lang.Object
com.atlassian.bamboo.deployments.versions.service.VersionNamingServiceImpl
- All Implemented Interfaces:
VersionNamingService
-
Constructor Summary
ConstructorDescriptionVersionNamingServiceImpl
(AuditLogService auditLogService, DeploymentProjectDao deploymentProjectDao, DeploymentResultDao deploymentResultDao, ScopedExclusionService exclusionService, DeploymentVersionDao deploymentVersionDao, VariableDefinitionManager variableDefinitionManager, VariableConfigurationService variableConfigurationService, VariableSubstitutorFactory variableSubstitutorFactory) -
Method Summary
Modifier and TypeMethodDescription@NotNull String
getIncrementedVersionName
(@NotNull String versionName) Calculates an increment of a version name.protected String
getUniqueVersionName
(long deploymentProjectId, String versionName) getUniqueVersionNameByAutoIncrementing
(long deploymentProjectId, MutableVersionNamingScheme versionNamingScheme, String nextSubstitutedName, VariableSubstitutor variableSubstitutor) @Nullable MutableVersionNamingScheme
getVersionNamingSchemeForProject
(long deploymentProjectId) Get the version naming configuration for a project@NotNull MutableDeploymentVersion
nameAndCreateVersion
(@NotNull InternalDeploymentProject deploymentProject, @NotNull ImmutablePlan linkedPlan, @NotNull MutableDeploymentVersion deploymentVersion, @Nullable String versionName, @Nullable String nextVersionName, @NotNull Map<String, VariableDefinitionContext> variables) Takes a new deployment version, if new version name supplied, uses that, otherwise generates unique name based on version naming scheme.@NotNull MutableDeploymentVersion
renameVersion
(long deploymentProjectId, DeploymentVersion deploymentVersion, String newVersionName) Rename a version.@NotNull MutableVersionNamingScheme
updateVersionNamingSchemeForProject
(long deploymentProjectId, String nextVersionName, boolean autoIncrement, boolean applicableToBranches, @NotNull Set<String> variablesToAutoIncrement) update the version naming configuration for a project
-
Constructor Details
-
VersionNamingServiceImpl
public VersionNamingServiceImpl(AuditLogService auditLogService, DeploymentProjectDao deploymentProjectDao, DeploymentResultDao deploymentResultDao, ScopedExclusionService exclusionService, DeploymentVersionDao deploymentVersionDao, VariableDefinitionManager variableDefinitionManager, VariableConfigurationService variableConfigurationService, VariableSubstitutorFactory variableSubstitutorFactory)
-
-
Method Details
-
getVersionNamingSchemeForProject
@Nullable public @Nullable MutableVersionNamingScheme getVersionNamingSchemeForProject(long deploymentProjectId) Description copied from interface:VersionNamingService
Get the version naming configuration for a project- Specified by:
getVersionNamingSchemeForProject
in interfaceVersionNamingService
- Parameters:
deploymentProjectId
- of the project- Returns:
- version naming scheme for a project
-
updateVersionNamingSchemeForProject
@NotNull public @NotNull MutableVersionNamingScheme updateVersionNamingSchemeForProject(long deploymentProjectId, String nextVersionName, boolean autoIncrement, boolean applicableToBranches, @NotNull @NotNull Set<String> variablesToAutoIncrement) Description copied from interface:VersionNamingService
update the version naming configuration for a project- Specified by:
updateVersionNamingSchemeForProject
in interfaceVersionNamingService
- Parameters:
deploymentProjectId
- of the projectnextVersionName
- the value to be used for the next version nameautoIncrement
- whether the version name should be auto-incrementedapplicableToBranches
- whether the same scheme should be used with branchesvariablesToAutoIncrement
- variables to increment- Returns:
- the updated version naming scheme.
-
nameAndCreateVersion
@NotNull public @NotNull MutableDeploymentVersion nameAndCreateVersion(@NotNull @NotNull InternalDeploymentProject deploymentProject, @NotNull @NotNull ImmutablePlan linkedPlan, @NotNull @NotNull MutableDeploymentVersion deploymentVersion, @Nullable @Nullable String versionName, @Nullable @Nullable String nextVersionName, @NotNull @NotNull Map<String, VariableDefinitionContext> variables) throws WebValidationExceptionDescription copied from interface:VersionNamingService
Takes a new deployment version, if new version name supplied, uses that, otherwise generates unique name based on version naming scheme. Version is then saved and the version naming scheme updated with the next version name.- Specified by:
nameAndCreateVersion
in interfaceVersionNamingService
- Parameters:
deploymentProject
- the version belongs todeploymentVersion
- the version to be named and saved.versionName
- (optional) name to be used for this versionnextVersionName
- (optional) the value the next version name should be set to.variables
- map containing variables available for version name creation (doesn't have to contain GLOBAL and SYSTEM variables)- Returns:
- the persisted version.
- Throws:
WebValidationException
- on any error
-
getIncrementedVersionName
Description copied from interface:VersionNamingService
Calculates an increment of a version name. Increments last number in the name. If nothing found to increment will return passed in value.- Specified by:
getIncrementedVersionName
in interfaceVersionNamingService
- Parameters:
versionName
- to increment- Returns:
- incremented version name.
-
renameVersion
@NotNull public @NotNull MutableDeploymentVersion renameVersion(long deploymentProjectId, DeploymentVersion deploymentVersion, String newVersionName) throws WebValidationException Description copied from interface:VersionNamingService
Rename a version.- Specified by:
renameVersion
in interfaceVersionNamingService
- Returns:
- modified version object
- Throws:
WebValidationException
-
getUniqueVersionNameByAutoIncrementing
@Nullable protected @Nullable io.atlassian.fugue.Pair<String,String> getUniqueVersionNameByAutoIncrementing(long deploymentProjectId, MutableVersionNamingScheme versionNamingScheme, String nextSubstitutedName, VariableSubstitutor variableSubstitutor) -
getUniqueVersionName
-