Exemplo n.º 1
0
  @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);
  }
Exemplo n.º 2
0
  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;
  }
Exemplo n.º 3
0
  /**
   * 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);
  }
Exemplo n.º 4
0
  /**
   * 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);
  }