// Path: integration_test/src/main/java/com/caseystella/analytics/integration/InMemoryComponent.java
// public interface InMemoryComponent {
//     public void start() throws UnableToStartException;
//     public void stop();
// }
// 
// Path: integration_test/src/main/java/com/caseystella/analytics/integration/UnableToStartException.java
// public class UnableToStartException extends Exception {
//     public UnableToStartException(String message) {
//         super(message);
//     }
//     public UnableToStartException(String message, Throwable t) {
//         super(message, t);
//     }
// }


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Properties;
import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.generated.StormTopology;
import backtype.storm.topology.TopologyBuilder;
import backtype.storm.utils.Utils;
import com.caseystella.analytics.integration.InMemoryComponent;
import com.caseystella.analytics.integration.UnableToStartException;
import org.apache.storm.flux.FluxBuilder;
import org.apache.storm.flux.model.ExecutionContext;
import org.apache.storm.flux.model.TopologyDef;
import org.apache.storm.flux.parser.FluxParser;
import org.apache.thrift7.TException;
import org.junit.Assert;
        this.topologyBuilder = builder;
        this.topologyName = topologyName;
        this.stormConfig = config;
    }
    StormTopologyComponent(String topologyName, File topologyLocation, Properties topologyProperties) {
        this.topologyName = topologyName;
        this.topologyLocation = topologyLocation;
        this.topologyProperties = topologyProperties;
    }

    public LocalCluster getStormCluster() {
        return stormCluster;
    }

    public String getTopologyName() {
        return topologyName;
    }

    public File getTopologyLocation() {
        return topologyLocation;
    }

    public Properties getTopologyProperties() {
        return topologyProperties;
    }

    public Config getStormConfig() {
        return stormConfig;
    }

// Path: integration_test/src/main/java/com/caseystella/analytics/integration/InMemoryComponent.java
// public interface InMemoryComponent {
//     public void start() throws UnableToStartException;
//     public void stop();
// }
// 
// Path: integration_test/src/main/java/com/caseystella/analytics/integration/UnableToStartException.java
// public class UnableToStartException extends Exception {
//     public UnableToStartException(String message) {
//         super(message);
//     }
//     public UnableToStartException(String message, Throwable t) {
//         super(message, t);
//     }
// }


// Path: integration_test/src/main/java/com/caseystella/analytics/integration/components/StormTopologyComponent.java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Properties;
import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.generated.StormTopology;
import backtype.storm.topology.TopologyBuilder;
import backtype.storm.utils.Utils;
import com.caseystella.analytics.integration.InMemoryComponent;
import com.caseystella.analytics.integration.UnableToStartException;
import org.apache.storm.flux.FluxBuilder;
import org.apache.storm.flux.model.ExecutionContext;
import org.apache.storm.flux.model.TopologyDef;
import org.apache.storm.flux.parser.FluxParser;
import org.apache.thrift7.TException;
import org.junit.Assert;

        this.topologyBuilder = builder;
        this.topologyName = topologyName;
        this.stormConfig = config;
    }
    StormTopologyComponent(String topologyName, File topologyLocation, Properties topologyProperties) {
        this.topologyName = topologyName;
        this.topologyLocation = topologyLocation;
        this.topologyProperties = topologyProperties;
    }

    public LocalCluster getStormCluster() {
        return stormCluster;
    }

    public String getTopologyName() {
        return topologyName;
    }

    public File getTopologyLocation() {
        return topologyLocation;
    }

    public Properties getTopologyProperties() {
        return topologyProperties;
    }

    public Config getStormConfig() {
        return stormConfig;
    }

    public void start() throws UnableToStartException {