Interface VersionNamingService
- All Known Implementing Classes:
VersionNamingServiceImpl
@Internal
public interface VersionNamingService
Internal Service for managing version names.
Manages concurrent operations around version names.
-
Method Summary
Modifier and TypeMethodDescription@NotNull String
getIncrementedVersionName
(@NotNull String versionName) Calculates an increment of a version name.@Nullable MutableVersionNamingScheme
getVersionNamingSchemeForProject
(long deploymentProjectId) Get the version naming configuration for a project@NotNull MutableDeploymentVersion
nameAndCreateVersion
(@NotNull InternalDeploymentProject deploymentProject, @NotNull ImmutablePlan linkedPlan, @NotNull MutableDeploymentVersion version, @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
-
Method Details
-
getVersionNamingSchemeForProject
@Nullable @Nullable MutableVersionNamingScheme getVersionNamingSchemeForProject(long deploymentProjectId) Get the version naming configuration for a project- Parameters:
deploymentProjectId
- of the project- Returns:
- version naming scheme for a project
-
updateVersionNamingSchemeForProject
@NotNull @NotNull MutableVersionNamingScheme updateVersionNamingSchemeForProject(long deploymentProjectId, String nextVersionName, boolean autoIncrement, boolean applicableToBranches, @NotNull @NotNull Set<String> variablesToAutoIncrement) update the version naming configuration for a project- 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 @NotNull MutableDeploymentVersion nameAndCreateVersion(@NotNull @NotNull InternalDeploymentProject deploymentProject, @NotNull @NotNull ImmutablePlan linkedPlan, @NotNull @NotNull MutableDeploymentVersion version, @Nullable @Nullable String versionName, @Nullable @Nullable String nextVersionName, @NotNull @NotNull Map<String, VariableDefinitionContext> variables) throws WebValidationExceptionTakes 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.- Parameters:
deploymentProject
- the version belongs toversion
- 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
Calculates an increment of a version name. Increments last number in the name. If nothing found to increment will return passed in value.- Parameters:
versionName
- to increment- Returns:
- incremented version name.
-
renameVersion
@NotNull @NotNull MutableDeploymentVersion renameVersion(long deploymentProjectId, DeploymentVersion deploymentVersion, String newVersionName) throws WebValidationException Rename a version.- Parameters:
deploymentProjectId
-deploymentVersion
-newVersionName
-- Returns:
- modified version object
- Throws:
WebValidationException
-