Class ReleaseService

  • All Implemented Interfaces:
    com.xebialabs.xlrelease.service.ReleaseServiceExt

    @Service
    public class ReleaseService
    extends java.lang.Object
    implements com.xebialabs.xlrelease.service.ReleaseServiceExt
    • Constructor Summary

      Constructors 
      Constructor Description
      ReleaseService​(com.xebialabs.xlrelease.repository.ReleaseRepository releaseRepository, com.xebialabs.xlrelease.repository.TriggerRepository triggerRepository, com.xebialabs.xlrelease.service.CiIdService ciIdService, com.xebialabs.xlrelease.service.ArchivingService archivingService, com.xebialabs.xlrelease.service.VariableService variableService, com.xebialabs.xlrelease.api.internal.InternalMetadataDecoratorService decoratorService, XLReleaseEventBus eventBus, com.xebialabs.xlrelease.service.ReleaseSearchService releaseSearchService, PhaseService phaseService, TeamService teamService, com.xebialabs.deployit.security.RoleService roleService, com.xebialabs.xlrelease.security.PermissionChecker permissionChecker, com.xebialabs.xlrelease.repository.SecuredCis securedCis, com.xebialabs.xlplatform.coc.service.SCMTraceabilityService scmTraceabilityService)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canTriggerReleases​(com.xebialabs.xlrelease.domain.Release template)  
      void checkCanBeStarted​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release copyTemplate​(java.lang.String templateId, java.lang.String title, java.lang.String description)  
      com.xebialabs.xlrelease.domain.Release createFromTemplate​(com.xebialabs.xlrelease.domain.Release template, java.lang.String folderId, java.lang.String releaseTitle, java.lang.String releaseOwner, java.util.Map<java.lang.String,​java.lang.Object> variableValues, java.util.List<java.lang.String> releaseTags, boolean autoStart, java.util.Date scheduledStartDate, java.lang.String triggerId, java.lang.String startedFromTaskId)  
      com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId, com.xebialabs.xlrelease.api.v1.forms.CreateRelease createRelease)  
      com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId, com.xebialabs.xlrelease.domain.Release releaseMetadata)  
      com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId, com.xebialabs.xlrelease.domain.Release releaseMetadata, java.lang.String folderId)  
      com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId, java.lang.String folderId, java.lang.String releaseTitle, java.lang.String releaseOwner, java.util.Map<java.lang.String,​java.lang.Object> variableValues, java.util.List<java.lang.String> releaseTags, boolean autoStart, java.util.Date scheduledStartDate, java.lang.String triggerId, java.lang.String startedFromTaskId)  
      com.xebialabs.xlplatform.coc.dto.SCMTraceabilityData createSCMData​(java.lang.String templateId, com.xebialabs.xlplatform.coc.dto.SCMTraceabilityData scmData)  
      com.xebialabs.xlrelease.domain.Release createTemplate​(com.xebialabs.xlrelease.domain.Release templateData)  
      com.xebialabs.xlrelease.domain.Release createTemplate​(com.xebialabs.xlrelease.domain.Release templateData, java.lang.String parentId)  
      com.xebialabs.xlrelease.domain.Release createWithoutTemplate​(com.xebialabs.xlrelease.domain.Release release)  
      com.xebialabs.xlrelease.domain.Release createWithoutTemplate​(com.xebialabs.xlrelease.domain.Release release, java.lang.String folderId)  
      void decorateRemovingUnnecessaryFields​(com.xebialabs.xlrelease.domain.Release release)  
      void delete​(java.lang.String releaseId)  
      void deleteTemplate​(java.lang.String templateId)  
      boolean exists​(java.lang.String id)  
      com.xebialabs.xlrelease.domain.Release findByCalendarToken​(java.lang.String calendarToken)  
      com.xebialabs.xlrelease.domain.Release findById​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release findById​(java.lang.String releaseId, boolean includeRoleIds)  
      com.xebialabs.xlrelease.domain.Release findById​(java.lang.String releaseId, com.xebialabs.xlrelease.serialization.json.repository.ResolveOptions resolveOptions)  
      com.xebialabs.xlrelease.domain.Release findByIdInArchive​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release findByIdInArchive​(java.lang.String releaseId, boolean includeRoleIds)  
      com.xebialabs.xlrelease.domain.Release findByIdIncludingArchived​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release findByIdIncludingArchived​(java.lang.String releaseId, com.xebialabs.xlrelease.serialization.json.repository.ResolveOptions resolveOptions)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> findReleasesByTitle​(java.lang.String folderId, java.lang.String templateTitle, int page, int resultsPerPage, int depth)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> findSpawnedReleases​(java.lang.String rootReleaseId, int maxConcurrency)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> findTemplatesByTitle​(java.lang.String folderId, java.lang.String templateTitle, int page, int resultsPerPage, int depth)  
      java.util.Set<java.lang.String> getAllArchivedTags​(int limitNumber)  
      java.util.Set<java.lang.String> getAllTags​(int limitNumber)  
      org.joda.time.Duration getDurationOf​(com.xebialabs.xlrelease.domain.Release release)  
      java.lang.String getFullId​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.ReleaseKind getReleaseKind​(java.lang.String releaseId)  
      int getRunningTriggeredReleasesCount​(java.lang.Integer templateCiUId)  
      com.xebialabs.xlrelease.domain.status.ReleaseStatus getStatus​(java.lang.String releaseId)  
      java.lang.String getTitle​(java.lang.String id)  
      void importTemplate​(com.xebialabs.xlrelease.domain.Release template)  
      void importTemplate​(com.xebialabs.xlrelease.domain.Release template, java.lang.String parentId)  
      boolean isArchived​(java.lang.String releaseId)  
      boolean isTemplate​(java.lang.String releaseId)  
      boolean isWorkflow​(java.lang.String releaseId)  
      void notifyOverdueRelease​(com.xebialabs.xlrelease.domain.Release release)  
      void setDatesFromTemplate​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Release template)  
      void setDatesFromTemplate​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Release template, org.joda.time.LocalDateTime now)  
      boolean templateExistsWithTitle​(java.lang.String folderId, java.lang.String title)  
      com.xebialabs.xlrelease.domain.Release updateRelease​(java.lang.String releaseId, com.xebialabs.xlrelease.domain.Release toUpdate)  
      void updateReleaseProperties​(com.xebialabs.xlrelease.domain.Release original, com.xebialabs.xlrelease.domain.Release updated)  
      com.xebialabs.xlrelease.domain.Release updateTemplate​(java.lang.String templateId, com.xebialabs.xlrelease.domain.Release toUpdate)  
      com.xebialabs.xlrelease.domain.Release updateVariables​(java.lang.String releaseId, java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variableList)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.xebialabs.xlrelease.service.ReleaseServiceExt

        getTriggerReleaseBlocker
    • Constructor Detail

      • ReleaseService

        @Autowired
        public ReleaseService​(com.xebialabs.xlrelease.repository.ReleaseRepository releaseRepository,
                              com.xebialabs.xlrelease.repository.TriggerRepository triggerRepository,
                              com.xebialabs.xlrelease.service.CiIdService ciIdService,
                              com.xebialabs.xlrelease.service.ArchivingService archivingService,
                              com.xebialabs.xlrelease.service.VariableService variableService,
                              com.xebialabs.xlrelease.api.internal.InternalMetadataDecoratorService decoratorService,
                              XLReleaseEventBus eventBus,
                              com.xebialabs.xlrelease.service.ReleaseSearchService releaseSearchService,
                              PhaseService phaseService,
                              TeamService teamService,
                              com.xebialabs.deployit.security.RoleService roleService,
                              com.xebialabs.xlrelease.security.PermissionChecker permissionChecker,
                              com.xebialabs.xlrelease.repository.SecuredCis securedCis,
                              com.xebialabs.xlplatform.coc.service.SCMTraceabilityService scmTraceabilityService)
    • Method Detail

      • exists

        @Timed
        public boolean exists​(java.lang.String id)
      • createWithoutTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createWithoutTemplate​(com.xebialabs.xlrelease.domain.Release release)
      • createWithoutTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createWithoutTemplate​(com.xebialabs.xlrelease.domain.Release release,
                                                                            @Nullable
                                                                            java.lang.String folderId)
      • createFromTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId,
                                                                         com.xebialabs.xlrelease.domain.Release releaseMetadata)
      • createFromTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId,
                                                                         com.xebialabs.xlrelease.domain.Release releaseMetadata,
                                                                         @Nullable
                                                                         java.lang.String folderId)
      • createFromTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId,
                                                                         com.xebialabs.xlrelease.api.v1.forms.CreateRelease createRelease)
      • createFromTemplate

        public com.xebialabs.xlrelease.domain.Release createFromTemplate​(java.lang.String templateId,
                                                                         java.lang.String folderId,
                                                                         java.lang.String releaseTitle,
                                                                         java.lang.String releaseOwner,
                                                                         java.util.Map<java.lang.String,​java.lang.Object> variableValues,
                                                                         java.util.List<java.lang.String> releaseTags,
                                                                         boolean autoStart,
                                                                         @Nullable
                                                                         java.util.Date scheduledStartDate,
                                                                         @Nullable
                                                                         java.lang.String triggerId,
                                                                         @Nullable
                                                                         java.lang.String startedFromTaskId)
      • createFromTemplate

        public com.xebialabs.xlrelease.domain.Release createFromTemplate​(com.xebialabs.xlrelease.domain.Release template,
                                                                         java.lang.String folderId,
                                                                         java.lang.String releaseTitle,
                                                                         java.lang.String releaseOwner,
                                                                         java.util.Map<java.lang.String,​java.lang.Object> variableValues,
                                                                         java.util.List<java.lang.String> releaseTags,
                                                                         boolean autoStart,
                                                                         @Nullable
                                                                         java.util.Date scheduledStartDate,
                                                                         @Nullable
                                                                         java.lang.String triggerId,
                                                                         @Nullable
                                                                         java.lang.String startedFromTaskId)
      • canTriggerReleases

        public boolean canTriggerReleases​(com.xebialabs.xlrelease.domain.Release template)
      • getRunningTriggeredReleasesCount

        public int getRunningTriggeredReleasesCount​(java.lang.Integer templateCiUId)
      • createTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createTemplate​(com.xebialabs.xlrelease.domain.Release templateData)
      • createTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release createTemplate​(com.xebialabs.xlrelease.domain.Release templateData,
                                                                     java.lang.String parentId)
      • copyTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release copyTemplate​(java.lang.String templateId,
                                                                   java.lang.String title,
                                                                   java.lang.String description)
      • findById

        @Timed
        public com.xebialabs.xlrelease.domain.Release findById​(java.lang.String releaseId)
      • findById

        @Timed
        public com.xebialabs.xlrelease.domain.Release findById​(java.lang.String releaseId,
                                                               boolean includeRoleIds)
      • findById

        @Timed
        public com.xebialabs.xlrelease.domain.Release findById​(java.lang.String releaseId,
                                                               com.xebialabs.xlrelease.serialization.json.repository.ResolveOptions resolveOptions)
      • findByIdInArchive

        @Timed
        public com.xebialabs.xlrelease.domain.Release findByIdInArchive​(java.lang.String releaseId,
                                                                        boolean includeRoleIds)
      • findByIdInArchive

        @Timed
        public com.xebialabs.xlrelease.domain.Release findByIdInArchive​(java.lang.String releaseId)
      • findByIdIncludingArchived

        @Timed
        public com.xebialabs.xlrelease.domain.Release findByIdIncludingArchived​(java.lang.String releaseId)
      • findByIdIncludingArchived

        @Timed
        public com.xebialabs.xlrelease.domain.Release findByIdIncludingArchived​(java.lang.String releaseId,
                                                                                com.xebialabs.xlrelease.serialization.json.repository.ResolveOptions resolveOptions)
      • findByCalendarToken

        @Timed
        public com.xebialabs.xlrelease.domain.Release findByCalendarToken​(java.lang.String calendarToken)
      • templateExistsWithTitle

        @Timed
        public boolean templateExistsWithTitle​(java.lang.String folderId,
                                               java.lang.String title)
      • findTemplatesByTitle

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> findTemplatesByTitle​(java.lang.String folderId,
                                                                                           java.lang.String templateTitle,
                                                                                           int page,
                                                                                           int resultsPerPage,
                                                                                           int depth)
      • findReleasesByTitle

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> findReleasesByTitle​(java.lang.String folderId,
                                                                                          java.lang.String templateTitle,
                                                                                          int page,
                                                                                          int resultsPerPage,
                                                                                          int depth)
      • findSpawnedReleases

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> findSpawnedReleases​(java.lang.String rootReleaseId,
                                                                                          int maxConcurrency)
      • importTemplate

        @Timed
        public void importTemplate​(com.xebialabs.xlrelease.domain.Release template,
                                   java.lang.String parentId)
      • importTemplate

        @Timed
        public void importTemplate​(com.xebialabs.xlrelease.domain.Release template)
      • deleteTemplate

        @Timed
        public void deleteTemplate​(java.lang.String templateId)
      • delete

        @Timed
        public void delete​(java.lang.String releaseId)
      • isArchived

        @Timed
        public boolean isArchived​(java.lang.String releaseId)
      • getStatus

        @Timed
        public com.xebialabs.xlrelease.domain.status.ReleaseStatus getStatus​(java.lang.String releaseId)
      • getReleaseKind

        @Timed
        public com.xebialabs.xlrelease.domain.ReleaseKind getReleaseKind​(java.lang.String releaseId)
      • checkCanBeStarted

        @Timed
        public void checkCanBeStarted​(java.lang.String releaseId)
      • isTemplate

        @Timed
        public boolean isTemplate​(java.lang.String releaseId)
      • isWorkflow

        @Timed
        public boolean isWorkflow​(java.lang.String releaseId)
      • getTitle

        @Timed
        public java.lang.String getTitle​(java.lang.String id)
      • notifyOverdueRelease

        @Timed
        public void notifyOverdueRelease​(com.xebialabs.xlrelease.domain.Release release)
      • updateReleaseProperties

        @Timed
        public void updateReleaseProperties​(com.xebialabs.xlrelease.domain.Release original,
                                            com.xebialabs.xlrelease.domain.Release updated)
      • updateRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release updateRelease​(java.lang.String releaseId,
                                                                    com.xebialabs.xlrelease.domain.Release toUpdate)
      • updateTemplate

        @Timed
        public com.xebialabs.xlrelease.domain.Release updateTemplate​(java.lang.String templateId,
                                                                     com.xebialabs.xlrelease.domain.Release toUpdate)
      • updateVariables

        @Timed
        public com.xebialabs.xlrelease.domain.Release updateVariables​(java.lang.String releaseId,
                                                                      java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variableList)
      • getDurationOf

        public org.joda.time.Duration getDurationOf​(com.xebialabs.xlrelease.domain.Release release)
      • setDatesFromTemplate

        public void setDatesFromTemplate​(com.xebialabs.xlrelease.domain.Release release,
                                         com.xebialabs.xlrelease.domain.Release template)
      • setDatesFromTemplate

        public void setDatesFromTemplate​(com.xebialabs.xlrelease.domain.Release release,
                                         com.xebialabs.xlrelease.domain.Release template,
                                         org.joda.time.LocalDateTime now)
      • getAllTags

        public java.util.Set<java.lang.String> getAllTags​(int limitNumber)
      • getAllArchivedTags

        public java.util.Set<java.lang.String> getAllArchivedTags​(int limitNumber)
      • createSCMData

        @Timed
        public com.xebialabs.xlplatform.coc.dto.SCMTraceabilityData createSCMData​(java.lang.String templateId,
                                                                                  com.xebialabs.xlplatform.coc.dto.SCMTraceabilityData scmData)
      • getFullId

        @Timed
        public java.lang.String getFullId​(java.lang.String releaseId)
      • decorateRemovingUnnecessaryFields

        public void decorateRemovingUnnecessaryFields​(com.xebialabs.xlrelease.domain.Release release)