Open Kilda Java Documentation
Neo4jFixture.java
Go to the documentation of this file.
1 package org.openkilda.wfm;
2 
3 import org.neo4j.graphdb.GraphDatabaseService;
4 import org.neo4j.graphdb.factory.GraphDatabaseBuilder;
5 import org.neo4j.graphdb.factory.GraphDatabaseFactory;
6 import org.neo4j.kernel.configuration.BoltConnector;
7 
8 import java.io.File;
9 import java.nio.file.Path;
10 
11 public class Neo4jFixture {
12  private final String DIRECTORY_NAME = "neo4j";
13 
14  private final GraphDatabaseBuilder dbBuilder;
15  private GraphDatabaseService db = null;
16  private final String listenAddress;
17 
18  public Neo4jFixture(Path rootDir, String listenAddress) {
19  this.listenAddress = listenAddress;
20 
21  Path dbPath = rootDir.resolve(DIRECTORY_NAME);
22  File dbDir = dbPath.toFile();
23  dbDir.mkdir();
24 
25  BoltConnector bolt = new BoltConnector("0");
26  dbBuilder = new GraphDatabaseFactory()
27  .newEmbeddedDatabaseBuilder(dbDir)
28  .setConfig(bolt.type, "BOLT")
29  .setConfig(bolt.enabled, "true")
30  .setConfig(bolt.listen_address, this.listenAddress);
31  }
32 
33  public void start() {
34  db = dbBuilder.newGraphDatabase();
35  }
36 
37  public void stop() {
38  db.shutdown();
39  }
40 
41  public String getListenAddress() {
42  return listenAddress;
43  }
44 
45  public GraphDatabaseService getGraphDatabaseService()
46  {
47  return db;
48  }
49 }
GraphDatabaseService getGraphDatabaseService()
Neo4jFixture(Path rootDir, String listenAddress)