CanaryAnalysisExecutionStatusResponse.CanaryAnalysisExecutionStatusResponseBuilder responseBuilder = CanaryAnalysisExecutionStatusResponse.builder() .application(pipeline.getApplication()) .pipelineId(pipeline.getId()) .stageStatus(pipeline.getStages() .stream() .map(stage -> new StageMetadata(stage.getType(), stage.getName(), stage.getStatus())) .collect(Collectors.toList())) .complete(isComplete) .executionStatus(pipelineStatus); .ifPresent(data -> { CanaryAnalysisConfig canaryAnalysisConfig = kayentaObjectMapper.convertValue(data, CanaryAnalysisConfig.class); responseBuilder.user(canaryAnalysisConfig.getUser()); responseBuilder.application(canaryAnalysisConfig.getApplication()); responseBuilder.canaryConfigId(canaryAnalysisConfig.getCanaryConfigId()); responseBuilder.canaryAnalysisExecutionRequest(canaryAnalysisConfig.getExecutionRequest()); responseBuilder.canaryConfig(canaryAnalysisConfig.getCanaryConfig()); })); .ofNullable(generateCanaryAnalysisResultStage.getOutputs() .getOrDefault(CANARY_ANALYSIS_EXECUTION_RESULT, null)) .ifPresent(data -> responseBuilder.canaryAnalysisExecutionResult(kayentaObjectMapper.convertValue(data, CanaryAnalysisExecutionResult.class)))); .filter(stage -> stage.getContext().containsKey("exception")) .findFirst() .ifPresent(stage -> responseBuilder.exception(stage.getContext().get("exception")));
CanaryAnalysisExecutionStatusResponse.CanaryAnalysisExecutionStatusResponseBuilder responseBuilder = CanaryAnalysisExecutionStatusResponse.builder() .application(pipeline.getApplication()) .pipelineId(pipeline.getId()) .stageStatus(pipeline.getStages() .stream() .map(stage -> new StageMetadata(stage.getType(), stage.getName(), stage.getStatus())) .collect(Collectors.toList())) .complete(isComplete) .executionStatus(pipelineStatus); .ifPresent(data -> { CanaryAnalysisConfig canaryAnalysisConfig = kayentaObjectMapper.convertValue(data, CanaryAnalysisConfig.class); responseBuilder.user(canaryAnalysisConfig.getUser()); responseBuilder.application(canaryAnalysisConfig.getApplication()); responseBuilder.canaryConfigId(canaryAnalysisConfig.getCanaryConfigId()); responseBuilder.canaryAnalysisExecutionRequest(canaryAnalysisConfig.getExecutionRequest()); responseBuilder.canaryConfig(canaryAnalysisConfig.getCanaryConfig()); })); .ofNullable(generateCanaryAnalysisResultStage.getOutputs() .getOrDefault(CANARY_ANALYSIS_EXECUTION_RESULT, null)) .ifPresent(data -> responseBuilder.canaryAnalysisExecutionResult(kayentaObjectMapper.convertValue(data, CanaryAnalysisExecutionResult.class)))); .filter(stage -> stage.getContext().containsKey("exception")) .findFirst() .ifPresent(stage -> responseBuilder.exception(stage.getContext().get("exception")));