package mil.nga.giat.geowave.datastore.accumulo.index.secondary;
import mil.nga.giat.geowave.core.store.StoreFactoryOptions;
import mil.nga.giat.geowave.core.store.index.SecondaryIndexDataStore;
import mil.nga.giat.geowave.datastore.accumulo.AbstractAccumuloStoreFactory;
import mil.nga.giat.geowave.datastore.accumulo.operations.config.AccumuloOptions;
import mil.nga.giat.geowave.datastore.accumulo.operations.config.AccumuloRequiredOptions;
public class AccumuloSecondaryIndexDataStoreFactory extends
AbstractAccumuloStoreFactory<SecondaryIndexDataStore>
{
@Override
public SecondaryIndexDataStore createStore(
StoreFactoryOptions options ) {
if (!(options instanceof AccumuloRequiredOptions)) {
throw new AssertionError(
"Expected " + AccumuloRequiredOptions.class.getSimpleName());
}
AccumuloRequiredOptions opts = (AccumuloRequiredOptions) options;
if (opts.getAdditionalOptions() == null) {
opts.setAdditionalOptions(new AccumuloOptions());
}
return new AccumuloSecondaryIndexDataStore(
createOperations(opts),
opts.getAdditionalOptions());
}
}