package mil.nga.giat.geowave.test.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import mil.nga.giat.geowave.test.TestEnvironment; import mil.nga.giat.geowave.test.kafka.KafkaTestEnvironment; import mil.nga.giat.geowave.test.mapreduce.MapReduceTestEnvironment; import mil.nga.giat.geowave.test.service.ServicesTestEnvironment; /** * The <code>Environments</code> annotation specifies the GeoWave test * environments to be setup and torn down when a class annotated with * <code>@RunWith(GeoWaveIT.class)</code> is run. */ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE, ElementType.METHOD }) public @interface Environments { /** * @return the data stores to run with */ public Environment[] value(); public static enum Environment { MAP_REDUCE( MapReduceTestEnvironment.getInstance()), SERVICES( ServicesTestEnvironment.getInstance()), KAFKA( KafkaTestEnvironment.getInstance()); private final TestEnvironment testEnvironment; private Environment( final TestEnvironment testEnvironment ) { this.testEnvironment = testEnvironment; } public TestEnvironment getTestEnvironment() { return testEnvironment; } } }