package org.gbif.checklistbank.cli.normalizer; 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 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; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * */ @SuppressWarnings("PublicField") public class NormalizerConfiguration { private static final Logger LOG = LoggerFactory.getLogger(NormalizerConfiguration.class); @ParametersDelegate @Valid @NotNull public GangliaConfiguration ganglia = new GangliaConfiguration(); @ParametersDelegate @Valid @NotNull public NeoConfiguration neo = new NeoConfiguration(); @ParametersDelegate @NotNull @Valid public MessagingConfiguration messaging = new MessagingConfiguration(); @ParametersDelegate @Valid public ZooKeeperConfiguration zookeeper = new ZooKeeperConfiguration(); @ParametersDelegate @Valid @NotNull public ClbConfiguration clb = new ClbConfiguration(); @Parameter(names = "--pool-size") @Min(1) public int poolSize = 3; @Parameter(names = "--archive-repository") @NotNull public File archiveRepository; /** * Returns the directory with the decompressed archive folder created by the dwca downloader. */ public File archiveDir(UUID datasetKey) { return new File(archiveRepository, datasetKey.toString()); } }