package mil.nga.giat.geowave.format.stanag4676; import mil.nga.giat.geowave.core.ingest.avro.AvroFormatPlugin; import mil.nga.giat.geowave.core.ingest.avro.WholeFile; import mil.nga.giat.geowave.core.ingest.hdfs.mapreduce.IngestFromHdfsPlugin; import mil.nga.giat.geowave.core.ingest.local.LocalFileIngestPlugin; import mil.nga.giat.geowave.core.ingest.spi.IngestFormatOptionProvider; import mil.nga.giat.geowave.core.ingest.spi.IngestFormatPluginProviderSpi; public class Stanag4676IngestFormat implements IngestFormatPluginProviderSpi<WholeFile, Object> { private static Stanag4676IngestPlugin singletonInstance; private static synchronized Stanag4676IngestPlugin getSingletonInstance() { if (singletonInstance == null) { singletonInstance = new Stanag4676IngestPlugin(); } return singletonInstance; } @Override public AvroFormatPlugin<WholeFile, Object> createAvroFormatPlugin( IngestFormatOptionProvider options ) throws UnsupportedOperationException { return getSingletonInstance(); } @Override public IngestFromHdfsPlugin<WholeFile, Object> createIngestFromHdfsPlugin( IngestFormatOptionProvider options ) throws UnsupportedOperationException { return getSingletonInstance(); } @Override public LocalFileIngestPlugin<Object> createLocalFileIngestPlugin( IngestFormatOptionProvider options ) throws UnsupportedOperationException { return getSingletonInstance(); } @Override public String getIngestFormatName() { return "stanag4676"; } @Override public String getIngestFormatDescription() { return "xml files representing track data that adheres to the schema defined by STANAG-4676"; } @Override public IngestFormatOptionProvider createOptionsInstances() { // for now don't support filtering return null; } }