package org.gbif.checklistbank.cli.crawler; import org.gbif.checklistbank.config.RegistryServiceConfiguration; import org.gbif.checklistbank.config.GangliaConfiguration; import org.gbif.common.messaging.config.MessagingConfiguration; import java.io.File; import java.util.UUID; 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 CrawlerConfiguration { @ParametersDelegate @Valid @NotNull public GangliaConfiguration ganglia = new GangliaConfiguration(); @ParametersDelegate @NotNull @Valid public MessagingConfiguration messaging = new MessagingConfiguration(); @ParametersDelegate @NotNull @Valid public RegistryServiceConfiguration registry = new RegistryServiceConfiguration(); @Parameter(names = "--archive-repository") @NotNull public File archiveRepository; @Parameter(names = "--pool-size") @Min(1) public int poolSize = 1; /** * Http timeout in milliseconds */ @Parameter(names = "--http-timeout") @Min(1) public int httpTimeout = 60*1000; /** * Returns the directory with the decompressed archive folder created by the dwca downloader. */ public File archiveDir(UUID datasetKey) { return new File(archiveRepository, datasetKey.toString()); } /** * Returns the dwc archive file within the data repository. */ public File archiveFile(UUID datasetKey) { return new File(archiveRepository, datasetKey.toString() + ".zip"); } }