示例#1
0
  @Override
  public Container create(Integer graphId, Map<String, Object> extraParam) {
    LOGGER.debug("Gephi: Setup container, nodes and edges.");

    Container container = CONTAINER_FACTORY.newContainer();
    container.setReport(new Report());

    try (Connection con = graphDataSource.getConnection()) {
      con.setAutoCommit(false);

      Map<String, Object> graphParam = graphDataSource.getGraphByID(con, graphId);
      graphParam.putAll(extraParam);

      ContainerLoader cl = container.getLoader();

      setupDirectedMode(cl, graphParam);

      cl.addNodeColumn(KEY_URL, String.class);
      cl.addNodeColumn(KEY_TAG, String[].class);

      addNodes(graphId, con, cl, graphParam);
      addEdges(graphId, con, cl, graphParam);
    } catch (SQLException e) {
      throw new RuntimeException(e);
    }

    return container;
  }