@Override protected void configure() { DatabaseConfiguration c = getConfiguration(); bindConstant() .annotatedWith(Names.named(DatabaseConnector.NAMESPACE_PARAM)) .to(c.getNamespace()); bindConstant() .annotatedWith(Names.named(DatabaseConnector.DATABASE_URL_PARAM)) .to(c.getDatabaseUrl()); bind(DatabaseConnector.class).to(MongoConnector.class); }
public static <V, E> Neo4jTopology loadTopology(Neo4jWorkspaceSettings settings) throws Exception { String db = DatabaseConfiguration.readDatabase(settings); Logger.getLogger(Neo4jWorkspace.class).info("using db " + db); // Get neo4j stuffs GraphDatabaseFactory factory = new GraphDatabaseFactory(); GraphDatabaseService database = factory.newEmbeddedDatabase(db); GlobalGraphOperations operation = GlobalGraphOperations.at(database); ViewsManager views = new ViewsManager(); views.load(settings); // Setup graph model Neo4jGraphModelIO gio = new Neo4jGraphModelIO(); gio.read(SimpleFile.read(settings.getModelPath())); Neo4jGraphModel typeModel = gio.getGraphModel(); // Build graph INeo4jGraphReader r = views.getFirst().getFilter(); Graph<IPropertyNode, IPropertyEdge> graph = r.read(operation, typeModel); Logger.getLogger(Neo4jWorkspace.class) .info("filtered graph has " + graph.getVertexCount() + " nodes using db " + db); // Build topology using graph typing model String topologyName = views.getFirst().getTopologyName(); Neo4jTopologyFactory tfact = new Neo4jTopologyFactory(); Neo4jTopology topology = tfact.newTopology(topologyName, graph, typeModel); return topology; }
/** * Build full Neo4jWorkspace involving reading files given by settings: * * <ul> * <li>neo4j database * <li>view * <li>graph model * <li>projection * </ul> * * and build topology & geometrical model according to Neo4j factories * * @param settings * @throws Exception */ public Neo4jWorkspace(Neo4jWorkspaceSettings settings) throws Exception { String db = DatabaseConfiguration.readDatabase(settings); Logger.getLogger(Neo4jWorkspace.class).info("using db " + db); // Get neo4j stuffs GraphDatabaseFactory factory = new GraphDatabaseFactory(); database = factory.newEmbeddedDatabase(db); operation = GlobalGraphOperations.at(database); views = new ViewsManager(); views.load(settings); layoutML = views.getFirst().getLayout(); // Setup graph model Neo4jGraphModelIO gio = new Neo4jGraphModelIO(); gio.read(SimpleFile.read(settings.getModelPath())); Neo4jGraphModel typeModel = gio.getGraphModel(); // Build graph INeo4jGraphReader r = views.getFirst().getFilter(); Graph<IPropertyNode, IPropertyEdge> graph = r.read(operation, typeModel); Logger.getLogger(Neo4jWorkspace.class) .info("filtered graph has " + graph.getVertexCount() + " nodes using db " + db); // Build topology using graph typing model String topologyName = views.getFirst().getTopologyName(); Neo4jTopologyFactory tfact = new Neo4jTopologyFactory(); topology = tfact.newTopology(topologyName, graph, typeModel); // Edit topology according to dataprism Dataprism dp = loadDataprism(settings); if (dp != null) ((Neo4jTopology) topology).edit().apply(dp); // Build layout model modelFactory = new Neo4jModelFactory(gio.getGraphModel()); model = (IHierarchicalNodeModel) modelFactory.getLayoutModel(topology); edgeModel = model.getEdgeModel(); applyLayoutMLConfiguration(model, layoutML); // Build layout layoutFactory = new Neo4jLayoutFactory(typeModel); if (layoutML != null) { Map<String, String> mapping = extractModelLayoutMapping(layoutML); layoutFactory.setModelLayoutMapping(mapping); } layout = layoutFactory.getLayout(model); layout.getEdgeLayout().setEdgePostProcess(null); // finalize workspace annotationModel = new AnnotationModel(); metadata = null; setName(settings.getName()); loadMapIfExist(); this.configuration = new ConfigurationFacade(this); }
/** * Made this static so that following tests don't run if assumption fails. (With AT_Before, tests * also would not be executed but marked as passed) This could be changed back as soon as JUnit * ignored tests after failed assumptions */ @BeforeClass public static void setupWikipedia() { DatabaseConfiguration db = new DatabaseConfiguration(); db.setDatabase("wikiapi_test"); db.setHost("bender.ukp.informatik.tu-darmstadt.de"); db.setUser("student"); db.setPassword("student"); db.setLanguage(Language._test); try { wiki = new Wikipedia(db); } catch (Exception e) { assumeNoException(e); // fail("Wikipedia could not be initialized."); } try { catGraph = CategoryGraphManager.getCategoryGraph(wiki, false); } catch (WikiApiException e) { fail("CategoryGraph could not be initialized."); } }
public ManagedDataSource build( MetricRegistry metricRegistry, DatabaseConfiguration configuration, String name) throws ClassNotFoundException { final Properties properties = new Properties(); for (Map.Entry<String, String> property : configuration.getProperties().entrySet()) { properties.setProperty(property.getKey(), property.getValue()); } final PoolProperties poolConfig = new PoolProperties(); poolConfig.setAbandonWhenPercentageFull(configuration.getAbandonWhenPercentageFull()); poolConfig.setAlternateUsernameAllowed(configuration.isAlternateUsernamesAllowed()); poolConfig.setCommitOnReturn(configuration.getCommitOnReturn()); poolConfig.setDbProperties(properties); poolConfig.setDefaultAutoCommit(configuration.getAutoCommitByDefault()); poolConfig.setDefaultCatalog(configuration.getDefaultCatalog()); poolConfig.setDefaultReadOnly(configuration.getReadOnlyByDefault()); poolConfig.setDefaultTransactionIsolation( configuration.getDefaultTransactionIsolation().getValue()); poolConfig.setDriverClassName(configuration.getDriverClass()); poolConfig.setFairQueue(configuration.getUseFairQueue()); poolConfig.setInitialSize(configuration.getInitialSize()); poolConfig.setInitSQL(configuration.getInitializationQuery()); poolConfig.setLogAbandoned(configuration.getLogAbandonedQueries()); poolConfig.setLogValidationErrors(configuration.getLogValidationErrors()); poolConfig.setMaxActive(configuration.getMaxSize()); poolConfig.setMaxIdle(configuration.getMaxSize()); poolConfig.setMinIdle(configuration.getMinSize()); for (Duration duration : configuration.getMaxConnectionAge().asSet()) { poolConfig.setMaxAge(duration.toMilliseconds()); } poolConfig.setMaxWait((int) configuration.getMaxWaitForConnection().toMilliseconds()); poolConfig.setMinEvictableIdleTimeMillis((int) configuration.getMinIdleTime().toMilliseconds()); poolConfig.setName(name); poolConfig.setUrl(configuration.getUrl()); poolConfig.setUsername(configuration.getUser()); poolConfig.setPassword(configuration.getPassword()); poolConfig.setTestWhileIdle(configuration.getCheckConnectionWhileIdle()); poolConfig.setValidationQuery(configuration.getValidationQuery()); poolConfig.setTestOnBorrow(configuration.getCheckConnectionOnBorrow()); poolConfig.setTestOnConnect(configuration.getCheckConnectionOnConnect()); poolConfig.setTestOnReturn(configuration.getCheckConnectionOnReturn()); poolConfig.setTimeBetweenEvictionRunsMillis( (int) configuration.getEvictionInterval().toMilliseconds()); poolConfig.setValidationInterval(1); return new ManagedPooledDataSource(poolConfig, metricRegistry); }