Example usage for com.amazonaws.services.elasticmapreduce.model ClusterState fromValue

List of usage examples for com.amazonaws.services.elasticmapreduce.model ClusterState fromValue

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticmapreduce.model ClusterState fromValue.

Prototype

public static ClusterState fromValue(String value) 

Source Link

Document

Use this in place of valueOf.

Usage

From source file:com.aegeus.aws.ElasticMapReduceService.java

License:Apache License

/**
 * Wait cluster until cluster is ready/*from   w  ww. ja  va2  s .  co m*/
 */
public void waitCluster() {
    String lastReason = null;
    DescribeClusterRequest request = new DescribeClusterRequest().withClusterId(clusterId);
    DescribeClusterResult result;

    while (true) {
        try {
            result = emr.describeCluster(request);
            String reason = result.getCluster().getStatus().getStateChangeReason().getMessage();

            if (!reason.equals(lastReason)) {
                LOGGER.info("Cluster status changed. New status is " + reason);
                lastReason = reason;
            }

            ClusterState status = ClusterState.fromValue(result.getCluster().getStatus().getState());
            if (status.equals(ClusterState.WAITING)) {
                return;
            }

            Thread.sleep(SLEEP);
        } catch (InterruptedException e) {
            LOGGER.error(e.getMessage(), e);
        }
    }
}