package mil.nga.giat.geowave.analytic.mapreduce; import java.util.Arrays; import java.util.Collection; import mil.nga.giat.geowave.analytic.PropertyManagement; import mil.nga.giat.geowave.analytic.param.FormatConfiguration; import mil.nga.giat.geowave.analytic.param.InputParameters; import mil.nga.giat.geowave.analytic.param.ParameterEnum; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat; public class SequenceFileInputFormatConfiguration implements FormatConfiguration { final Path inputPath; public SequenceFileInputFormatConfiguration() { inputPath = null; } public SequenceFileInputFormatConfiguration( final Path inputPath ) { this.inputPath = inputPath; } @Override public void setup( final PropertyManagement runTimeProperties, final Configuration configuration ) throws Exception { final Path localInputPath = inputPath == null ? runTimeProperties .getPropertyAsPath(InputParameters.Input.HDFS_INPUT_PATH) : inputPath; if (localInputPath != null) { configuration.set( "mapred.input.dir", localInputPath.toString()); } } @Override public Class<?> getFormatClass() { return SequenceFileInputFormat.class; } @Override public boolean isDataWritable() { return true; } @Override public void setDataIsWritable( final boolean isWritable ) { } @Override public Collection<ParameterEnum<?>> getParameters() { return Arrays.asList(new ParameterEnum<?>[] { InputParameters.Input.HDFS_INPUT_PATH }); } }