Class ReleaseApiImpl

  • All Implemented Interfaces:
    com.xebialabs.xlrelease.api.ApiService, com.xebialabs.xlrelease.api.v1.ReleaseApi

    @Controller
    public class ReleaseApiImpl
    extends java.lang.Object
    implements com.xebialabs.xlrelease.api.v1.ReleaseApi
    • Field Summary

      • Fields inherited from interface com.xebialabs.xlrelease.api.ApiService

        DEFAULT_RESULTS_PER_PAGE, DEFAULT_RESULTS_PER_PAGE_STRING, DEPTH, ORDER_BY, PAGE, PAGE_IS_OFFSET, RESULTS_PER_PAGE, ROLE_IDS_DATA
      • Fields inherited from interface com.xebialabs.xlrelease.api.v1.ReleaseApi

        ARCHIVE_PAGE, ARCHIVE_RESULTS_PER_PAGE, DEFAULT_PAGE, SERVICE_NAME
    • Constructor Summary

      Constructors 
      Constructor Description
      ReleaseApiImpl​(com.xebialabs.xlrelease.security.PermissionChecker permissions, ReleaseService releaseService, com.xebialabs.xlrelease.service.ReleaseSearchService releaseSearchService, VariableComponent variableComponent, com.xebialabs.xlrelease.actors.ReleaseActorService releaseActorService, TeamFacade teamFacade, AttachmentService attachmentService, com.xebialabs.xlrelease.service.VariableService variableService, com.xebialabs.xlrelease.service.FolderVariableService folderVariableService, PhaseService phaseService)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.xebialabs.xlrelease.domain.Release abort​(java.lang.String releaseId, com.xebialabs.xlrelease.api.v1.forms.AbortRelease abortRelease)  
      com.xebialabs.xlrelease.domain.Release abort​(java.lang.String releaseId, java.lang.String abortComment)  
      com.xebialabs.xlrelease.search.ReleaseCountResults countReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters)  
      com.xebialabs.xlrelease.domain.variables.Variable createVariable​(java.lang.String releaseId, com.xebialabs.xlrelease.api.v1.forms.Variable variable)  
      void delete​(java.lang.String releaseId)  
      void deleteVariable​(java.lang.String variableId)  
      javax.ws.rs.core.Response downloadAttachment​(java.lang.String attachmentId)  
      com.xebialabs.xlrelease.search.ReleaseFullSearchResult fullSearchReleases​(java.lang.Long page, java.lang.Long archivePage, java.lang.Long resultsPerPage, java.lang.Long archiveResultsPerPage, com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters)  
      java.util.List<com.xebialabs.xlrelease.domain.Task> getActiveTasks​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release getArchivedRelease​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release getArchivedRelease​(java.lang.String releaseId, boolean withRoleIds)  
      byte[] getAttachment​(java.lang.String attachmentId)  
      java.util.List<java.lang.String> getPermissions()  
      com.xebialabs.xlrelease.domain.Release getRelease​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release getRelease​(java.lang.String releaseId, boolean withRoleIds)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> getReleases()  
      java.util.List<com.xebialabs.xlrelease.domain.Release> getReleases​(java.lang.Long page, java.lang.Long resultsPerPage, java.lang.Integer depth)  
      java.util.List<com.xebialabs.xlrelease.api.v1.views.TeamView> getTeams​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.variables.Variable getVariable​(java.lang.String variableId)  
      java.util.Collection<java.lang.Object> getVariablePossibleValues​(java.lang.String variableId)  
      java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> getVariables​(java.lang.String releaseId)  
      java.util.Map<java.lang.String,​java.lang.String> getVariableValues​(java.lang.String releaseId)  
      java.lang.Boolean isVariableUsed​(java.lang.String variableId)  
      void replaceVariable​(java.lang.String variableId, com.xebialabs.xlrelease.api.v1.forms.VariableOrValue variableOrValue)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release, boolean resumeRelease)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Phase phase)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Phase phase, com.xebialabs.xlrelease.domain.Task task)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Phase phase, com.xebialabs.xlrelease.domain.Task task, com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Phase phase, com.xebialabs.xlrelease.domain.Task task, com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion, boolean resumeRelease)  
      com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release, com.xebialabs.xlrelease.domain.Phase phase, com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion)  
      com.xebialabs.xlrelease.domain.Release restartPhases​(java.lang.String releaseId, java.lang.String phaseId, java.lang.String taskId, com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion, boolean resumeRelease)  
      com.xebialabs.xlrelease.domain.Release resume​(java.lang.String releaseId)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters, java.lang.Long page, java.lang.Long resultsPerPage)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters, java.lang.Long page, java.lang.Long resultsPerPage, java.lang.Boolean pageIsOffset)  
      java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleasesByTitle​(java.lang.String releaseTitle)  
      java.util.List<com.xebialabs.xlrelease.api.v1.views.TeamView> setTeams​(java.lang.String releaseId, java.util.List<com.xebialabs.xlrelease.api.v1.views.TeamView> teams)  
      com.xebialabs.xlrelease.domain.Release start​(java.lang.String releaseId)  
      com.xebialabs.xlrelease.domain.Release updateRelease​(com.xebialabs.xlrelease.domain.Release release)  
      com.xebialabs.xlrelease.domain.Release updateRelease​(java.lang.String releaseId, com.xebialabs.xlrelease.domain.Release release)  
      com.xebialabs.xlrelease.domain.variables.Variable updateVariable​(com.xebialabs.xlrelease.domain.variables.Variable variable)  
      com.xebialabs.xlrelease.domain.variables.Variable updateVariable​(java.lang.String variableId, com.xebialabs.xlrelease.domain.variables.Variable variable)  
      java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> updateVariables​(java.lang.String releaseId, java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variables)  
      • 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.api.v1.ReleaseApi

        serviceName
    • Constructor Detail

      • ReleaseApiImpl

        @Autowired
        public ReleaseApiImpl​(com.xebialabs.xlrelease.security.PermissionChecker permissions,
                              ReleaseService releaseService,
                              com.xebialabs.xlrelease.service.ReleaseSearchService releaseSearchService,
                              VariableComponent variableComponent,
                              com.xebialabs.xlrelease.actors.ReleaseActorService releaseActorService,
                              TeamFacade teamFacade,
                              AttachmentService attachmentService,
                              com.xebialabs.xlrelease.service.VariableService variableService,
                              com.xebialabs.xlrelease.service.FolderVariableService folderVariableService,
                              PhaseService phaseService)
    • Method Detail

      • downloadAttachment

        @Timed
        public javax.ws.rs.core.Response downloadAttachment​(java.lang.String attachmentId)
        Specified by:
        downloadAttachment in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getAttachment

        @Timed
        public byte[] getAttachment​(java.lang.String attachmentId)
                             throws java.io.IOException
        Specified by:
        getAttachment in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
        Throws:
        java.io.IOException
      • countReleases

        @Timed
        public com.xebialabs.xlrelease.search.ReleaseCountResults countReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters)
        Specified by:
        countReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • searchReleases

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters,
                                                                                     java.lang.Long page,
                                                                                     java.lang.Long resultsPerPage,
                                                                                     java.lang.Boolean pageIsOffset)
        Specified by:
        searchReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • searchReleases

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters,
                                                                                     java.lang.Long page,
                                                                                     java.lang.Long resultsPerPage)
        Specified by:
        searchReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • searchReleases

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleases​(com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters)
        Specified by:
        searchReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • fullSearchReleases

        @Timed
        public com.xebialabs.xlrelease.search.ReleaseFullSearchResult fullSearchReleases​(java.lang.Long page,
                                                                                         java.lang.Long archivePage,
                                                                                         java.lang.Long resultsPerPage,
                                                                                         java.lang.Long archiveResultsPerPage,
                                                                                         com.xebialabs.xlrelease.api.v1.forms.ReleasesFilters releasesFilters)
        Specified by:
        fullSearchReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getReleases

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> getReleases​(java.lang.Long page,
                                                                                  java.lang.Long resultsPerPage,
                                                                                  java.lang.Integer depth)
        Specified by:
        getReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getReleases

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> getReleases()
        Specified by:
        getReleases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release getRelease​(java.lang.String releaseId,
                                                                 boolean withRoleIds)
        Specified by:
        getRelease in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release getRelease​(java.lang.String releaseId)
        Specified by:
        getRelease in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getArchivedRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release getArchivedRelease​(java.lang.String releaseId,
                                                                         boolean withRoleIds)
        Specified by:
        getArchivedRelease in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getArchivedRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release getArchivedRelease​(java.lang.String releaseId)
        Specified by:
        getArchivedRelease in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getActiveTasks

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Task> getActiveTasks​(java.lang.String releaseId)
        Specified by:
        getActiveTasks in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • start

        @Timed
        public com.xebialabs.xlrelease.domain.Release start​(java.lang.String releaseId)
        Specified by:
        start in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • updateRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release updateRelease​(java.lang.String releaseId,
                                                                    com.xebialabs.xlrelease.domain.Release release)
        Specified by:
        updateRelease in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • updateRelease

        @Timed
        public com.xebialabs.xlrelease.domain.Release updateRelease​(com.xebialabs.xlrelease.domain.Release release)
        Specified by:
        updateRelease in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • delete

        @Timed
        public void delete​(java.lang.String releaseId)
        Specified by:
        delete in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • abort

        @Timed
        public com.xebialabs.xlrelease.domain.Release abort​(java.lang.String releaseId,
                                                            com.xebialabs.xlrelease.api.v1.forms.AbortRelease abortRelease)
        Specified by:
        abort in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • abort

        @Timed
        public com.xebialabs.xlrelease.domain.Release abort​(java.lang.String releaseId,
                                                            java.lang.String abortComment)
        Specified by:
        abort in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • searchReleasesByTitle

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.Release> searchReleasesByTitle​(java.lang.String releaseTitle)
        Specified by:
        searchReleasesByTitle in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getVariables

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> getVariables​(java.lang.String releaseId)
        Specified by:
        getVariables in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getVariableValues

        @Timed
        public java.util.Map<java.lang.String,​java.lang.String> getVariableValues​(java.lang.String releaseId)
        Specified by:
        getVariableValues in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getVariable

        @Timed
        public com.xebialabs.xlrelease.domain.variables.Variable getVariable​(java.lang.String variableId)
        Specified by:
        getVariable in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getVariablePossibleValues

        @Timed
        public java.util.Collection<java.lang.Object> getVariablePossibleValues​(java.lang.String variableId)
        Specified by:
        getVariablePossibleValues in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • isVariableUsed

        @Timed
        public java.lang.Boolean isVariableUsed​(java.lang.String variableId)
        Specified by:
        isVariableUsed in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • replaceVariable

        @Timed
        public void replaceVariable​(java.lang.String variableId,
                                    com.xebialabs.xlrelease.api.v1.forms.VariableOrValue variableOrValue)
        Specified by:
        replaceVariable in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • deleteVariable

        @Timed
        public void deleteVariable​(java.lang.String variableId)
        Specified by:
        deleteVariable in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • createVariable

        @Timed
        public com.xebialabs.xlrelease.domain.variables.Variable createVariable​(java.lang.String releaseId,
                                                                                com.xebialabs.xlrelease.api.v1.forms.Variable variable)
        Specified by:
        createVariable in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • updateVariables

        @Timed
        public java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> updateVariables​(java.lang.String releaseId,
                                                                                                 java.util.List<com.xebialabs.xlrelease.domain.variables.Variable> variables)
        Specified by:
        updateVariables in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • updateVariable

        @Timed
        public com.xebialabs.xlrelease.domain.variables.Variable updateVariable​(java.lang.String variableId,
                                                                                com.xebialabs.xlrelease.domain.variables.Variable variable)
        Specified by:
        updateVariable in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • updateVariable

        @Timed
        public com.xebialabs.xlrelease.domain.variables.Variable updateVariable​(com.xebialabs.xlrelease.domain.variables.Variable variable)
        Specified by:
        updateVariable in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getPermissions

        @Timed
        public java.util.List<java.lang.String> getPermissions()
        Specified by:
        getPermissions in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • getTeams

        @Timed
        public java.util.List<com.xebialabs.xlrelease.api.v1.views.TeamView> getTeams​(java.lang.String releaseId)
        Specified by:
        getTeams in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • setTeams

        @Timed
        public java.util.List<com.xebialabs.xlrelease.api.v1.views.TeamView> setTeams​(java.lang.String releaseId,
                                                                                      java.util.List<com.xebialabs.xlrelease.api.v1.views.TeamView> teams)
        Specified by:
        setTeams in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • resume

        @Timed
        public com.xebialabs.xlrelease.domain.Release resume​(java.lang.String releaseId)
        Specified by:
        resume in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhases

        @Timed
        public com.xebialabs.xlrelease.domain.Release restartPhases​(java.lang.String releaseId,
                                                                    java.lang.String phaseId,
                                                                    java.lang.String taskId,
                                                                    com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion,
                                                                    boolean resumeRelease)
        Specified by:
        restartPhases in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release,
                                                                   boolean resumeRelease)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release,
                                                                   com.xebialabs.xlrelease.domain.Phase phase)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release,
                                                                   com.xebialabs.xlrelease.domain.Phase phase,
                                                                   com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release,
                                                                   com.xebialabs.xlrelease.domain.Phase phase,
                                                                   com.xebialabs.xlrelease.domain.Task task)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release,
                                                                   com.xebialabs.xlrelease.domain.Phase phase,
                                                                   com.xebialabs.xlrelease.domain.Task task,
                                                                   com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi
      • restartPhase

        public com.xebialabs.xlrelease.domain.Release restartPhase​(com.xebialabs.xlrelease.domain.Release release,
                                                                   com.xebialabs.xlrelease.domain.Phase phase,
                                                                   com.xebialabs.xlrelease.domain.Task task,
                                                                   com.xebialabs.xlrelease.repository.PhaseVersion phaseVersion,
                                                                   boolean resumeRelease)
        Specified by:
        restartPhase in interface com.xebialabs.xlrelease.api.v1.ReleaseApi