connector

This commit is contained in:
DonRenando
2016-11-14 16:52:26 +01:00
parent dec18968b9
commit 866f0255a1
3 changed files with 66 additions and 3 deletions

View File

@ -0,0 +1,62 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.camillepradel.movierecommender.controller;
import java.net.ConnectException;
import org.neo4j.driver.v1.*;
import org.neo4j.driver.v1.exceptions.Neo4jException;
/**
*
* @author renando
*/
public class Neo4jConnector {
private static Neo4jConnector INSTANCE = null;
private static Session session = null;
private static Driver driver = null;
private Neo4jConnector() {
}
public static synchronized Neo4jConnector getInstance()
{
if (INSTANCE == null)
{
INSTANCE = new Neo4jConnector();
driver = GraphDatabase.driver( "bolt://localhost", AuthTokens.basic( "neo4j", "root1234" ) );
session = driver.session();
}
return INSTANCE;
}
public Session getConnection() throws ConnectException {
if (session == null || driver == null){
Neo4jConnector.getInstance();
}
return this.session;
}
public boolean close() throws ConnectException {
boolean etat = false;
if (session != null) {
try {
session.close();
driver.close();
etat = true;
} catch (Neo4jException e) {
etat = false;
}
} else {
throw new ConnectException();
}
return etat;
}
}