Class SseEmitterService

java.lang.Object
org.qubership.atp.itf.lite.backend.service.SseEmitterService

@Service public class SseEmitterService extends Object
  • Constructor Details

    • SseEmitterService

      public SseEmitterService()
  • Method Details

    • generateAndConfigureEmitter

      public org.springframework.web.servlet.mvc.method.annotation.SseEmitter generateAndConfigureEmitter(UUID sseId, UUID userId)
      Generates and configures emitter for sseId.
      Parameters:
      sseId - sse id
      userId - user id
      Returns:
      configured sse emitter with connection event
    • getEmitter

      public org.springframework.web.servlet.mvc.method.annotation.SseEmitter getEmitter(UUID sseId)
      Checks that emitter exists and returns emitter.
      Parameters:
      sseId - sse id
    • emitterCompleteWithError

      public void emitterCompleteWithError(org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter, Exception e)
      Completes emitter with error.
      Parameters:
      emitter - emitter
    • sendGetAccessTokenResult

      public void sendGetAccessTokenResult(UUID sseId, org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter, GetAccessTokenData getAccessTokenData)
      Sends event about export finish.
      Parameters:
      sseId - sse id
      emitter - emitter
      getAccessTokenData - getAccessTokenData
    • sendEventWithExportResult

      public void sendEventWithExportResult(UUID sseId, org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter, ImportToolType importToolType, RequestExportResultResponse exportResult) throws IOException
      Sends event about export finish.
      Parameters:
      sseId - sse id
      emitter - emitter
      importToolType - import tool type (MIA or ITF)
      exportResult - export result
      Throws:
      IOException
    • sendEventWithExecutionResult

      public void sendEventWithExecutionResult(UUID sseId, org.springframework.web.servlet.mvc.method.annotation.SseEmitter emitter, RequestExecutionResponse requestExecutionResponse)
      Sends event about execution finish.
      Parameters:
      sseId - sse id
      requestExecutionResponse - request execution response
    • processRequestExecution

      public void processRequestExecution(RequestEntitySaveRequest requestEntity, String context, String token, UUID sseId, Optional<org.springframework.web.multipart.MultipartFile> file, List<org.springframework.web.multipart.MultipartFile> files, UUID environmentId)
      Executes request. After that sends sse event if emitter exists on current itf-lite instance or sends kafka event about execution finish.
      Parameters:
      requestEntity - request entity
      context - itf context
      token - auth token
      sseId - sse id
      file - diameter dictionary or binary file
      files - files from form-data
    • processRequestExecution

      public void processRequestExecution(RequestEntitySaveRequest requestEntity, String context, String token, UUID sseId, Optional<org.springframework.web.multipart.MultipartFile> file, List<org.springframework.web.multipart.MultipartFile> files, UUID environmentId, RequestRuntimeOptions runtimeOptions, UUID sessionId)
      Executes request. After that sends sse event if emitter exists on current itf-lite instance or sends kafka event about execution finish.
      Parameters:
      requestEntity - request entity
      context - itf context
      token - auth token
      sseId - sse id
      file - diameter dictionary or binary file
      files - files from form-data
      runtimeOptions - runtime request options
    • generateResponseAndSendToEmitter

      public void generateResponseAndSendToEmitter(org.springframework.web.servlet.mvc.method.annotation.SseEmitter sseEmitter, ItfLiteExecutionFinishEvent executionFinishEvent)
      Generate response for SSE and send to emitter.
      Parameters:
      sseEmitter - emitter
      executionFinishEvent - ItfLiteExecutionFinishEvent
    • convertListMultipartToFileData

      protected List<FileData> convertListMultipartToFileData(List<org.springframework.web.multipart.MultipartFile> files)