Search in sources :

Example 1 with NodeFactoryFactoryTransactingOnDatasetNeo4j2

use of org.eol.globi.tool.NodeFactoryFactoryTransactingOnDatasetNeo4j2 in project eol-globi-data by jhpoelen.

the class Elton4N method importWithVersion.

private void importWithVersion(CommandLine cmdLine, String neo4jVersion) throws StudyImporterException {
    final String graphDbDirPath = cmdLine.getOptionValue(CmdOptionConstants.OPTION_GRAPHDB_DIR, "graph.db");
    Factories factoriesNeo4j = new Factories() {

        final GraphServiceFactory factory = new GraphServiceFactoryImpl(new File(graphDbDirPath));

        final NodeFactoryFactory nodeFactoryFactory = StringUtils.equals("2", neo4jVersion) ? new NodeFactoryFactoryTransactingOnDatasetNeo4j2(factory) : new NodeFactoryFactoryTransactingOnDatasetNeo4j3(factory);

        @Override
        public GraphServiceFactory getGraphServiceFactory() {
            return factory;
        }

        @Override
        public NodeFactoryFactory getNodeFactoryFactory() {
            return nodeFactoryFactory;
        }
    };
    try {
        String datasetDir = CmdUtil.getDatasetDir(cmdLine);
        GraphServiceFactory graphServiceFactory = factoriesNeo4j.getGraphServiceFactory();
        List<Cmd> steps = new ArrayList<>();
        LOG.info("processing steps: [" + StringUtils.join(cmdLine.getArgList(), ", ") + "]");
        if (cmdLine.getArgList().isEmpty() || cmdLine.getArgList().contains(ELTON_STEP_COMPILE)) {
            steps.add(new CmdImportDatasets(factoriesNeo4j.getNodeFactoryFactory(), graphServiceFactory, datasetDir));
        }
        String exportDir = cmdLine.getOptionValue(CmdOptionConstants.OPTION_EXPORT_DIR, ".");
        CmdInterpretTaxa interpretTaxa = createInterpretTaxaCmd(cmdLine, graphServiceFactory, exportDir);
        if (cmdLine.getArgList().isEmpty() || cmdLine.getArgList().contains(ELTON_STEP_LINK_NAMES)) {
            steps.add(interpretTaxa);
        }
        if (cmdLine.getArgList().isEmpty() || cmdLine.getArgList().contains(ELTON_STEP_LINK)) {
            if (!steps.contains(interpretTaxa)) {
                steps.add(interpretTaxa);
            }
            steps.addAll(Arrays.asList(new CmdIndexTaxa(graphServiceFactory), new CmdIndexTaxonStrings(graphServiceFactory), new CmdGenerateReport(graphServiceFactory.getGraphService())));
        }
        CmdExportInteractionsTSV interactionsTSVExporter = new CmdExportInteractionsTSV(graphServiceFactory, new File(exportDir));
        if (cmdLine.getArgList().isEmpty() || cmdLine.getArgList().contains(ELTON_STEP_PACKAGE_INTERACTIONS_TSV)) {
            steps.add(interactionsTSVExporter);
        }
        if (cmdLine.getArgList().isEmpty() || cmdLine.getArgList().contains(ELTON_STEP_PACKAGE)) {
            if (!steps.contains(interactionsTSVExporter)) {
                steps.add(interactionsTSVExporter);
            }
            steps.add(new CmdExport(graphServiceFactory, new File(exportDir)));
        }
        for (Cmd step : steps) {
            step.run();
        }
    } finally {
        HttpUtil.shutdown();
    }
}
Also used : NodeFactoryFactory(org.eol.globi.tool.NodeFactoryFactory) CmdInterpretTaxa(org.eol.globi.tool.CmdInterpretTaxa) ArrayList(java.util.ArrayList) CmdImportDatasets(org.eol.globi.tool.CmdImportDatasets) CmdExport(org.eol.globi.tool.CmdExport) GraphServiceFactoryImpl(org.eol.globi.db.GraphServiceFactoryImpl) CmdIndexTaxonStrings(org.eol.globi.tool.CmdIndexTaxonStrings) CmdIndexTaxa(org.eol.globi.tool.CmdIndexTaxa) NodeFactoryFactoryTransactingOnDatasetNeo4j3(org.eol.globi.tool.NodeFactoryFactoryTransactingOnDatasetNeo4j3) CmdExportInteractionsTSV(org.eol.globi.tool.CmdExportInteractionsTSV) CmdGenerateReport(org.eol.globi.tool.CmdGenerateReport) GraphServiceFactory(org.eol.globi.db.GraphServiceFactory) Cmd(org.eol.globi.tool.Cmd) Factories(org.eol.globi.tool.Factories) File(java.io.File) NodeFactoryFactoryTransactingOnDatasetNeo4j2(org.eol.globi.tool.NodeFactoryFactoryTransactingOnDatasetNeo4j2)

Aggregations

File (java.io.File)1 ArrayList (java.util.ArrayList)1 GraphServiceFactory (org.eol.globi.db.GraphServiceFactory)1 GraphServiceFactoryImpl (org.eol.globi.db.GraphServiceFactoryImpl)1 Cmd (org.eol.globi.tool.Cmd)1 CmdExport (org.eol.globi.tool.CmdExport)1 CmdExportInteractionsTSV (org.eol.globi.tool.CmdExportInteractionsTSV)1 CmdGenerateReport (org.eol.globi.tool.CmdGenerateReport)1 CmdImportDatasets (org.eol.globi.tool.CmdImportDatasets)1 CmdIndexTaxa (org.eol.globi.tool.CmdIndexTaxa)1 CmdIndexTaxonStrings (org.eol.globi.tool.CmdIndexTaxonStrings)1 CmdInterpretTaxa (org.eol.globi.tool.CmdInterpretTaxa)1 Factories (org.eol.globi.tool.Factories)1 NodeFactoryFactory (org.eol.globi.tool.NodeFactoryFactory)1 NodeFactoryFactoryTransactingOnDatasetNeo4j2 (org.eol.globi.tool.NodeFactoryFactoryTransactingOnDatasetNeo4j2)1 NodeFactoryFactoryTransactingOnDatasetNeo4j3 (org.eol.globi.tool.NodeFactoryFactoryTransactingOnDatasetNeo4j3)1