// Path: src/main/java/acromusashi/stream/client/NimbusClientFactory.java
// public class NimbusClientFactory
// {
//     /**
//      * パラメータを指定せずにインスタンスを生成する。
//      */
//     public NimbusClientFactory()
//     {}
// 
//     /**
//      * Nimbusへの接続クライアントを生成する。
//      *
//      * @param host Nimbusホスト
//      * @param port NimbusPort
//      * @return Nimbusへの接続クライアント
//      */
//     public NimbusClient createClient(String host, int port)
//     {
//         Map<String, Object> nimbusConf = Maps.newHashMap();
//         nimbusConf.put(Config.NIMBUS_HOST, host);
//         nimbusConf.put(Config.NIMBUS_THRIFT_PORT, port);
//         nimbusConf.put(Config.STORM_THRIFT_TRANSPORT_PLUGIN,
//                 "backtype.storm.security.auth.SimpleTransportPlugin");
//         NimbusClient nimbusClient = NimbusClient.getConfiguredClient(nimbusConf);
//         return nimbusClient;
//     }
// }
// 
// Path: src/main/java/acromusashi/stream/exception/ConnectFailException.java
// public class ConnectFailException extends Exception
// {
//     /** serialVersionUID */
//     private static final long serialVersionUID = -3457655487597730586L;
// 
//     /**
//      * パラメータを指定せずにインスタンスを生成する。
//      */
//     public ConnectFailException()
//     {
//         super();
//     }
// 
//     /**
//      * コンストラクタ
//      *
//      * @param message メッセージ
//      */
//     public ConnectFailException(String message)
//     {
//         super(message);
//     }
// 
//     /**
//      * コンストラクタ
//      *
//      * @param message メッセージ
//      * @param cause 発生原因例外
//      */
//     public ConnectFailException(String message, Throwable cause)
//     {
//         super(message, cause);
//     }
// 
//     /**
//      * コンストラクタ
//      *
//      * @param cause 発生原因例外
//      */
//     public ConnectFailException(Throwable cause)
//     {
//         super(cause);
//     }
// }


import java.util.concurrent.TimeUnit;
import org.apache.commons.lang.StringUtils;
import acromusashi.stream.client.NimbusClientFactory;
import acromusashi.stream.exception.ConnectFailException;
import backtype.storm.generated.ClusterSummary;
import backtype.storm.generated.Nimbus;
import backtype.storm.generated.NotAliveException;
import backtype.storm.generated.TopologyInfo;
import backtype.storm.utils.NimbusClient;
        }
        catch (org.apache.thrift7.TException ex)
        {
            throw new ConnectFailException(ex);
        }

        String topologyId = StormSummaryExtractor.extractStormTopologyId(clusterSummary,
                topologyName);

        if (topologyId == null)
        {
            return TopologyExecutionStatus.NOT_ALIVED;
        }

        TopologyExecutionCount compareCount = null;

        for (int getCount = 0; getCount < number; getCount++)
        {
            TopologyInfo topologyInfo = null;

            try
            {
                topologyInfo = client.getTopologyInfo(topologyId);
            }
            catch (NotAliveException ex)
            {
                return TopologyExecutionStatus.NOT_ALIVED;
            }
            catch (org.apache.thrift7.TException ex)
            {
// Path: src/main/java/acromusashi/stream/client/NimbusClientFactory.java
// public class NimbusClientFactory
// {
//     /**
//      * パラメータを指定せずにインスタンスを生成する。
//      */
//     public NimbusClientFactory()
//     {}
// 
//     /**
//      * Nimbusへの接続クライアントを生成する。
//      *
//      * @param host Nimbusホスト
//      * @param port NimbusPort
//      * @return Nimbusへの接続クライアント
//      */
//     public NimbusClient createClient(String host, int port)
//     {
//         Map<String, Object> nimbusConf = Maps.newHashMap();
//         nimbusConf.put(Config.NIMBUS_HOST, host);
//         nimbusConf.put(Config.NIMBUS_THRIFT_PORT, port);
//         nimbusConf.put(Config.STORM_THRIFT_TRANSPORT_PLUGIN,
//                 "backtype.storm.security.auth.SimpleTransportPlugin");
//         NimbusClient nimbusClient = NimbusClient.getConfiguredClient(nimbusConf);
//         return nimbusClient;
//     }
// }
// 
// Path: src/main/java/acromusashi/stream/exception/ConnectFailException.java
// public class ConnectFailException extends Exception
// {
//     /** serialVersionUID */
//     private static final long serialVersionUID = -3457655487597730586L;
// 
//     /**
//      * パラメータを指定せずにインスタンスを生成する。
//      */
//     public ConnectFailException()
//     {
//         super();
//     }
// 
//     /**
//      * コンストラクタ
//      *
//      * @param message メッセージ
//      */
//     public ConnectFailException(String message)
//     {
//         super(message);
//     }
// 
//     /**
//      * コンストラクタ
//      *
//      * @param message メッセージ
//      * @param cause 発生原因例外
//      */
//     public ConnectFailException(String message, Throwable cause)
//     {
//         super(message, cause);
//     }
// 
//     /**
//      * コンストラクタ
//      *
//      * @param cause 発生原因例外
//      */
//     public ConnectFailException(Throwable cause)
//     {
//         super(cause);
//     }
// }


// Path: src/main/java/acromusashi/stream/topology/state/TopologyExecutionGetter.java
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang.StringUtils;
import acromusashi.stream.client.NimbusClientFactory;
import acromusashi.stream.exception.ConnectFailException;
import backtype.storm.generated.ClusterSummary;
import backtype.storm.generated.Nimbus;
import backtype.storm.generated.NotAliveException;
import backtype.storm.generated.TopologyInfo;
import backtype.storm.utils.NimbusClient;

        }
        catch (org.apache.thrift7.TException ex)
        {
            throw new ConnectFailException(ex);
        }

        String topologyId = StormSummaryExtractor.extractStormTopologyId(clusterSummary,
                topologyName);

        if (topologyId == null)
        {
            return TopologyExecutionStatus.NOT_ALIVED;
        }

        TopologyExecutionCount compareCount = null;

        for (int getCount = 0; getCount < number; getCount++)
        {
            TopologyInfo topologyInfo = null;

            try
            {
                topologyInfo = client.getTopologyInfo(topologyId);
            }
            catch (NotAliveException ex)
            {
                return TopologyExecutionStatus.NOT_ALIVED;
            }
            catch (org.apache.thrift7.TException ex)
            {
                throw new ConnectFailException(ex);