Interface VersionNamingService

  • All Known Implementing Classes:
    VersionNamingServiceImpl

    @Internal
    public interface VersionNamingService
    Internal Service for managing version names. Manages concurrent operations around version names.
    • Method Detail

      • 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 project
        nextVersionName - the value to be used for the next version name
        autoIncrement - whether the version name should be auto-incremented
        applicableToBranches - whether the same scheme should be used with branches
        variablesToAutoIncrement - 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 WebValidationException
        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.
        Parameters:
        deploymentProject - the version belongs to
        version - the version to be named and saved.
        versionName - (optional) name to be used for this version
        nextVersionName - (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

        @NotNull
        @NotNull String getIncrementedVersionName​(@NotNull
                                                  @NotNull String versionName)
        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.