package org.gbif.checklistbank.cli.importer;
import org.gbif.checklistbank.cli.common.NeoConfiguration;
import org.gbif.checklistbank.cli.common.ZooKeeperConfiguration;
import org.gbif.checklistbank.config.ClbConfiguration;
import org.gbif.checklistbank.config.GangliaConfiguration;
import org.gbif.common.messaging.config.MessagingConfiguration;
import org.gbif.common.search.solr.SolrConfig;
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.ParametersDelegate;
/**
*
*/
@SuppressWarnings("PublicField")
public class ImporterConfiguration {
@ParametersDelegate
@Valid
@NotNull
public GangliaConfiguration ganglia = new GangliaConfiguration();
@ParametersDelegate
@Valid
@NotNull
public NeoConfiguration neo = new NeoConfiguration();
@Parameter(names = "--deleteNeo")
public boolean deleteNeo = true;
@ParametersDelegate
@NotNull
@Valid
public MessagingConfiguration messaging = new MessagingConfiguration();
@ParametersDelegate
@Valid
@NotNull
public ClbConfiguration clb = new ClbConfiguration();
@ParametersDelegate
@Valid
@NotNull
public ZooKeeperConfiguration zookeeper = new ZooKeeperConfiguration();
@ParametersDelegate
@Valid
@NotNull
public SolrConfig solr = new SolrConfig();
@Parameter(names = "--solr-sync-threads")
@Min(1)
public int solrSyncThreads = 1;
@Parameter(names = "--pool-size")
@Min(1)
public int poolSize = 1;
@Parameter(names = "--chunk-size")
@Min(1)
public int chunkSize = 10000;
@Parameter(names = "--chunk-min-size")
@Min(0)
public int chunkMinSize = 100;
}