package mil.nga.giat.geowave.datastore.hbase.operations.config; import org.apache.hadoop.hbase.HConstants; import com.beust.jcommander.Parameter; import mil.nga.giat.geowave.core.store.BaseDataStoreOptions; public class HBaseOptions extends BaseDataStoreOptions { public static final String COPROCESSOR_JAR_KEY = "coprocessorJar"; @Parameter(names = "--disableServer", description = "Disable all custom GeoWave server side processing, to include coprocessors and custom filters. This will alleviate the requirement to have a GeoWave jar on HBase's region server classpath.") protected boolean disableServiceSide = false; @Parameter(names = "--scanCacheSize") protected int scanCacheSize = HConstants.DEFAULT_HBASE_CLIENT_SCANNER_CACHING; protected boolean disableCustomFilters = false; protected boolean disableCoprocessors = false; @Parameter(names = "--disableVerifyCoprocessors") protected boolean disableVerifyCoprocessors = false; protected boolean bigTable = false; @Parameter(names = { "--" + COPROCESSOR_JAR_KEY }, description = "Path (HDFS URL) to the jar containing coprocessor classes") private String coprocessorJar; public void setBigTable( boolean bigTable ) { this.bigTable = bigTable; if (bigTable) { setServerSideDisabled(true); } } public boolean isBigTable() { return bigTable; } public boolean isServerSideDisabled() { return disableServiceSide; } public void setServerSideDisabled( final boolean disableServiceSide ) { this.disableServiceSide = disableServiceSide; } public int getScanCacheSize() { return scanCacheSize; } public void setScanCacheSize( final int scanCacheSize ) { this.scanCacheSize = scanCacheSize; } public boolean isEnableCustomFilters() { return !disableCustomFilters && !disableServiceSide; } public void setEnableCustomFilters( final boolean enableCustomFilters ) { this.disableCustomFilters = !enableCustomFilters; } public boolean isEnableCoprocessors() { return !disableCoprocessors && !disableServiceSide; } public void setEnableCoprocessors( final boolean enableCoprocessors ) { this.disableCoprocessors = !enableCoprocessors; } public boolean isVerifyCoprocessors() { return !disableVerifyCoprocessors && !disableServiceSide; } public void setVerifyCoprocessors( final boolean verifyCoprocessors ) { this.disableVerifyCoprocessors = !verifyCoprocessors; } public String getCoprocessorJar() { return coprocessorJar; } public void setCoprocessorJar( final String coprocessorJar ) { this.coprocessorJar = coprocessorJar; } }