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; } }