package com.sequenceiq.cloudbreak.service.cluster.flow; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import com.sequenceiq.cloudbreak.service.ClusterBasedStatusCheckerTask; @Component public class AmbariDFSSpaceRetrievalTask extends ClusterBasedStatusCheckerTask<AmbariClientPollerObject> { public static final int AMBARI_RETRYING_INTERVAL = 5000; public static final int AMBARI_RETRYING_COUNT = 3; private static final Logger LOGGER = LoggerFactory.getLogger(AmbariDFSSpaceRetrievalTask.class); private Map<String, Map<Long, Long>> dfsSpace; @Override public boolean checkStatus(AmbariClientPollerObject ambariClientPollerObject) { try { dfsSpace = ambariClientPollerObject.getAmbariClient().getDFSSpace(); return true; } catch (Exception ex) { LOGGER.warn("Error during getting dfs space from ambari", ex); return false; } } @Override public void handleTimeout(AmbariClientPollerObject ambariClientPollerObject) { } @Override public String successMessage(AmbariClientPollerObject ambariClientPollerObject) { return "Dfs space successfully get from ambari."; } public Map<String, Map<Long, Long>> getDfsSpace() { return dfsSpace; } }