62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
/*
|
|
* 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;
|
|
}
|
|
|
|
} |