package org.gbif.occurrence.common.config;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import com.beust.jcommander.Parameter;
import com.google.common.base.Objects;
/**
* Configs needed to connect to the occurrence HBase db.
*/
public class OccHBaseConfiguration {
@Parameter(names = "--hbase-pool-size")
@Min(1)
public int hbasePoolSize = 5;
@Parameter(names = "--occ-table")
@NotNull
public String occTable;
@Parameter(names = "--occ-counter-table")
@NotNull
public String counterTable;
@Parameter(names = "--occ-lookup-table")
@NotNull
public String lookupTable;
/**
* The zookeeper connection being used to create a lock provider
*/
@Parameter(names = "--occ-zk-connection")
@NotNull
public String zkConnectionString;
/**
* Uses conventions to populate all table names based on the environment prefix. Only used in tests!
* @param prefix environment prefix, e.g. prod or uat
*/
public void setEnvironment(String prefix) {
occTable = prefix + "_occurrence";
counterTable = prefix + "_occurrence_counter";
lookupTable = prefix + "_occurrence_lookup";
}
@Override
public String toString() {
return Objects.toStringHelper(this)
.add("hbasePoolSize", hbasePoolSize)
.add("occTable", occTable)
.add("counterTable", counterTable)
.add("lookupTable", lookupTable)
.add("zkConnectionString", zkConnectionString)
.toString();
}
}