use of com.sequenceiq.flow.api.model.FlowCheckResponse in project cloudbreak by hortonworks.
the class FlowService method getFlowState.
public FlowCheckResponse getFlowState(String flowId) {
List<FlowLog> allByFlowIdOrderByCreatedDesc = flowLogDBService.findAllByFlowIdOrderByCreatedDesc(flowId);
FlowCheckResponse flowCheckResponse = new FlowCheckResponse();
flowCheckResponse.setFlowId(flowId);
flowCheckResponse.setHasActiveFlow(!completed("Flow", flowId, List.of(), allByFlowIdOrderByCreatedDesc));
flowCheckResponse.setLatestFlowFinalizedAndFailed(isFlowInFailedState(allByFlowIdOrderByCreatedDesc, failHandledEvents));
return flowCheckResponse;
}
use of com.sequenceiq.flow.api.model.FlowCheckResponse in project cloudbreak by hortonworks.
the class FlowService method getFlowChainStateSafe.
public FlowCheckResponse getFlowChainStateSafe(List<Long> resourceIdList, String chainId) {
FlowCheckResponse flowCheckResponse = new FlowCheckResponse();
flowCheckResponse.setFlowChainId(chainId);
List<FlowChainLog> flowChains = flowChainLogService.findByFlowChainIdOrderByCreatedDesc(chainId);
if (!flowChains.isEmpty()) {
LOGGER.info("Checking if there is an active flow based on flow chain id {}", chainId);
List<FlowChainLog> relatedChains = getRelatedFlowChainLogs(flowChains);
Set<String> relatedChainIds = relatedChains.stream().map(FlowChainLog::getFlowChainId).collect(toSet());
Set<String> relatedFlowIds = flowLogDBService.getFlowIdsByChainIds(relatedChainIds);
List<FlowLog> relatedFlowLogs = flowLogDBService.getFlowLogsByFlowIdsCreatedDesc(relatedFlowIds);
validateResourceId(relatedFlowLogs, resourceIdList);
flowCheckResponse.setHasActiveFlow(!completed("Flow chain", chainId, relatedChains, relatedFlowLogs));
flowCheckResponse.setLatestFlowFinalizedAndFailed(isFlowInFailedState(relatedFlowLogs, failHandledEvents));
return flowCheckResponse;
} else {
flowCheckResponse.setHasActiveFlow(Boolean.FALSE);
return flowCheckResponse;
}
}
use of com.sequenceiq.flow.api.model.FlowCheckResponse in project cloudbreak by hortonworks.
the class FlowService method getFlowChainState.
public FlowCheckResponse getFlowChainState(String chainId) {
FlowCheckResponse flowCheckResponse = new FlowCheckResponse();
flowCheckResponse.setFlowChainId(chainId);
List<FlowChainLog> flowChains = flowChainLogService.findByFlowChainIdOrderByCreatedDesc(chainId);
if (!flowChains.isEmpty()) {
LOGGER.info("Checking if there is an active flow based on flow chain id {}", chainId);
List<FlowChainLog> relatedChains = getRelatedFlowChainLogs(flowChains);
Set<String> relatedChainIds = relatedChains.stream().map(FlowChainLog::getFlowChainId).collect(toSet());
Set<String> relatedFlowIds = flowLogDBService.getFlowIdsByChainIds(relatedChainIds);
List<FlowLog> relatedFlowLogs = flowLogDBService.getFlowLogsByFlowIdsCreatedDesc(relatedFlowIds);
flowCheckResponse.setHasActiveFlow(!completed("Flow chain", chainId, relatedChains, relatedFlowLogs));
flowCheckResponse.setLatestFlowFinalizedAndFailed(isFlowInFailedState(relatedFlowLogs, failHandledEvents));
return flowCheckResponse;
} else {
flowCheckResponse.setHasActiveFlow(Boolean.FALSE);
return flowCheckResponse;
}
}
Aggregations