package org.gbif.checklistbank.nub;
import org.gbif.api.model.Constants;
import org.gbif.checklistbank.cli.nubbuild.NubConfiguration;
import org.gbif.checklistbank.neo.UsageDao;
import org.gbif.checklistbank.nub.source.ClbSourceList;
import org.gbif.nub.lookup.straight.IdLookupPassThru;
import java.io.File;
import java.net.URI;
import java.util.Arrays;
import java.util.UUID;
import com.google.common.collect.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ManualNubBuild {
private static final Logger LOG = LoggerFactory.getLogger(ManualNubBuild.class);
private static NubConfiguration local() {
NubConfiguration cfg = new NubConfiguration();
cfg.autoImport = false;
cfg.registry.wsUrl = "http://api.gbif-uat.org/v1";
cfg.neo.neoRepository = new File("/Users/markus/Desktop/repo");
cfg.neo.mappedMemory = 1024;
cfg.clb.serverName = "localhost";
cfg.clb.databaseName = "clb";
cfg.clb.user = "postgres";
cfg.clb.password = "pogo";
return cfg;
}
private static NubConfiguration uat() {
NubConfiguration cfg = local();
cfg.registry.wsUrl = "http://api.gbif.org/v1";
cfg.clb.serverName = "pg1.gbif-uat.org";
cfg.clb.databaseName = "uat_checklistbank";
cfg.clb.user = "clb";
cfg.clb.password = "%BBJu2MgstXJ";
cfg.sourceList = URI.create("https://dl.dropboxusercontent.com/u/457027/nub-sources.tsv");
return cfg;
}
private static void build(NubConfiguration cfg) {
LOG.info("Build new nub");
UsageDao dao = UsageDao.persistentDao(cfg.neo, Constants.NUB_DATASET_KEY, false, null, true);
NubBuilder builder = NubBuilder.create(dao, ClbSourceList.create(cfg, Lists.newArrayList(UUID.fromString("bf3db7c9-5e5d-4fd0-bd5b-94539eaf9598"))), new IdLookupPassThru(), 1000, 1000);
builder.run();
dao.close();
LOG.info("New backbone ready");
}
private static void build(NubConfiguration cfg, UUID ... sources) {
LOG.info("Build new nub");
UsageDao dao = UsageDao.persistentDao(cfg.neo, Constants.NUB_DATASET_KEY, false, null, true);
NubBuilder builder;
if (sources == null) {
builder = NubBuilder.create(dao, ClbSourceList.create(cfg), new IdLookupPassThru(), 1000, 1000);
} else {
builder = NubBuilder.create(dao, ClbSourceList.create(cfg, Arrays.asList(sources)), new IdLookupPassThru(), 1000, 1000);
}
builder.run();
dao.close();
LOG.info("New backbone ready");
}
public static void main(String[] args) {
build(uat(), UUID.fromString("bf3db7c9-5e5d-4fd0-bd5b-94539eaf9598"));
}
}