package com.sequenceiq.cloudbreak.service; import javax.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.sequenceiq.cloudbreak.domain.Stack; import com.sequenceiq.cloudbreak.repository.StackRepository; public abstract class StackBasedStatusCheckerTask<T extends StackContext> extends SimpleStatusCheckerTask<T> { private static final Logger LOGGER = LoggerFactory.getLogger(ClusterBasedStatusCheckerTask.class); @Inject private StackRepository stackRepository; public boolean exitPolling(T t) { try { Stack stack = stackRepository.findByIdLazy(t.getStack().getId()); return stack == null || stack.isDeleteInProgress() || stack.isDeleteCompleted(); } catch (Exception ex) { LOGGER.error("Error occurred when check status checker exit criteria: ", ex); return true; } } }