/*
* 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 br.edu.ifnmg.RetornoPagSeguro.DataAccess;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
*
* @author petronio
*/
public class ConnectionFactory {
private EntityManager manager;
private ConnectionFactory() {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("RetornoPagSeguroPU", getProperties());
manager = factory.createEntityManager();
}
private static ConnectionFactory instance;
public static ConnectionFactory getInstance() {
if(instance == null) {
instance = new ConnectionFactory();
}
return instance;
}
public EntityManager getManager() {
return manager;
}
private static Map getProperties() {
FileInputStream file = null;
try {
Map properties = new HashMap<>();
Properties props = new Properties();
file = new FileInputStream("./RetornoPagSeguro.properties");
props.load(file);
properties.put("javax.persistence.jdbc.url", props.getProperty("javax.persistence.jdbc.url"));
properties.put("javax.persistence.jdbc.password", props.getProperty("javax.persistence.jdbc.password"));
properties.put("javax.persistence.jdbc.driver", props.getProperty("javax.persistence.jdbc.driver"));
properties.put("javax.persistence.jdbc.user", props.getProperty("javax.persistence.jdbc.user"));
properties.put("javax.persistence.schema-generation.database.action", props.getProperty("javax.persistence.schema-generation.database.action"));
return properties;
} catch (FileNotFoundException ex) {
Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
return null;
} catch (IOException ex) {
Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
return null;
} finally {
try {
file.close();
} catch (IOException ex) {
Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}