package mil.nga.giat.geowave.cli.debug;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import mil.nga.giat.geowave.adapter.vector.GeotoolsFeatureDataAdapter;
import mil.nga.giat.geowave.core.cli.annotations.GeowaveOperation;
import mil.nga.giat.geowave.core.index.ByteArrayId;
import mil.nga.giat.geowave.core.store.CloseableIterator;
import mil.nga.giat.geowave.core.store.DataStore;
import mil.nga.giat.geowave.core.store.query.QueryOptions;
import com.beust.jcommander.Parameters;
@GeowaveOperation(name = "fullscan", parentOperation = DebugSection.class)
@Parameters(commandDescription = "fulltable scan")
public class FullTableScan extends
AbstractGeoWaveQuery
{
private static Logger LOGGER = LoggerFactory.getLogger(FullTableScan.class);
@Override
protected long runQuery(
final GeotoolsFeatureDataAdapter adapter,
final ByteArrayId adapterId,
final ByteArrayId indexId,
final DataStore dataStore,
final boolean debug ) {
long count = 0;
try (final CloseableIterator<Object> it = dataStore.query(
new QueryOptions(
adapterId,
indexId),
null)) {
while (it.hasNext()) {
if (debug) {
System.out.println(it.next());
}
else {
it.next();
}
count++;
}
}
catch (final IOException e) {
LOGGER.warn(
"Unable to read result",
e);
}
return count;
}
}