package org.gbif.checklistbank.nub; import org.gbif.checklistbank.cli.common.NeoConfiguration; import org.gbif.checklistbank.cli.model.GraphFormat; import org.gbif.checklistbank.config.ClbConfiguration; import org.gbif.checklistbank.neo.UsageDao; import org.gbif.checklistbank.nub.source.ClbSource; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.util.UUID; import org.neo4j.graphdb.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ManualDbDump { private static final Logger LOG = LoggerFactory.getLogger(ManualDbDump.class); private static NeoConfiguration neo() { NeoConfiguration cfg = new NeoConfiguration(); cfg.neoRepository = new File("/Users/markus/Desktop/repo/neo"); cfg.mappedMemory = 1024; return cfg; } private static void dump2neo(NeoConfiguration neo, ClbConfiguration clb, UUID datasetKey, boolean nubRanksOnly) throws Exception { LOG.info("Dump dataset {} from postgres to local neo", datasetKey); ClbSource src = new ClbSource(clb, datasetKey, "Checklist " + datasetKey); src.setNeoRepository(neo.neoRepository); src.init(true, nubRanksOnly, false, false); LOG.info("Postrges dumped"); } private static void dump2file(NeoConfiguration cfg, UUID datasetKey, GraphFormat format) throws Exception { File f = new File("/Users/markus/Desktop/repo/tree-"+datasetKey+"."+format.suffix); LOG.info("Dump local neo db {} to {} file {}", datasetKey, format, f.getAbsolutePath()); UsageDao dao = UsageDao.persistentDao(cfg, datasetKey, true, null, false); try (Transaction tx = dao.beginTx()) { dao.printTree(new BufferedWriter(new FileWriter(f)), GraphFormat.TAB); } dao.close(); LOG.info("Neo dumped"); } public static void main(String[] args) throws Exception { //ClbConfigurationUtils.uat() //dump2neo(neo(), uat(), UUID.fromString("99948a8b-63b2-41bf-9d10-6e007e967789"), false); dump2file(neo(), UUID.fromString("99948a8b-63b2-41bf-9d10-6e007e967789"), GraphFormat.TAB); } }