Advertisement
Guest User

Untitled

a guest
Sep 14th, 2014
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.27 KB | None | 0 0
  1. public class DBConnection {
  2. private static final String PERSISTENCE_UNIT_NAME = "todos2";
  3. private static EntityManagerFactory factory;
  4.  
  5. public static EntityManager connect() {
  6. System.out.println("CONNECT");
  7. factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
  8. EntityManager em = factory.createEntityManager();
  9. return em;
  10. }
  11. }
  12.  
  13. package legacy.database;
  14.  
  15. import java.sql.Timestamp;
  16. import java.util.ArrayList;
  17. import java.util.Date;
  18. import java.util.List;
  19. import java.util.logging.Logger;
  20. import javax.persistence.EntityManager;
  21. import javax.persistence.EntityManagerFactory;
  22. import javax.persistence.Persistence;
  23. import javax.persistence.Query;
  24. import javax.persistence.criteria.CriteriaBuilder;
  25. import javax.persistence.criteria.CriteriaQuery;
  26. import javax.persistence.criteria.Predicate;
  27. import javax.persistence.criteria.Root;
  28.  
  29. public enum Database {
  30.  
  31. INSTANCE;
  32. private final Logger log = Logger.getLogger(Database.class.getName());
  33.  
  34. private EntityManager connect() {
  35. EntityManagerFactory emf = Persistence.createEntityManagerFactory("LegacyDatabasePU");
  36. EntityManager em = emf.createEntityManager();
  37. log.fine("" + em.isOpen());
  38. return em;
  39. }
  40.  
  41. private List<Clients> findAll() {
  42. EntityManager em = connect();
  43. Query q = em.createQuery("select c from Clients c");
  44. List<Clients> clients = q.getResultList();
  45. em.close();
  46. return clients;
  47. }
  48.  
  49. public List<Clients> selectByCriteria(Criteria criteria) {
  50. log.info(criteria.toString());
  51. EntityManager em = connect();
  52. CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
  53. CriteriaQuery<Clients> clientCriteriaQuery = criteriaBuilder.createQuery(Clients.class);
  54. Root<Clients> clientRoot = clientCriteriaQuery.from(Clients.class);
  55. clientCriteriaQuery.select(clientRoot);
  56. List<Predicate> predicates = new ArrayList<>();
  57. predicates.add(criteriaBuilder.like(clientRoot.get(Clients_.name), "%" + criteria.getName() + "%"));
  58. predicates.add(criteriaBuilder.like(clientRoot.get(Clients_.phone1), "%" + criteria.getPhone1() + "%"));
  59. predicates.add(criteriaBuilder.like(clientRoot.get(Clients_.email), "%" + criteria.getEmail() + "%"));
  60. if (!criteria.getStatus().equalsIgnoreCase("all")) {
  61. predicates.add(criteriaBuilder.like(clientRoot.get(Clients_.status), "%" + criteria.getStatus() + "%"));
  62. }
  63. clientCriteriaQuery.where(predicates.toArray(new Predicate[0]));
  64. List<Clients> clients = em.createQuery(clientCriteriaQuery).getResultList();
  65. em.close();
  66. return clients;
  67. }
  68.  
  69. public Clients findById(int id) {
  70. EntityManager em = connect();
  71. Clients client = em.find(Clients.class, id);
  72. em.close();
  73. return client;
  74. }
  75.  
  76. public void send(int id) {
  77. EntityManager em = connect();
  78. Clients c = em.find(Clients.class, id);
  79. java.util.Date date = new java.util.Date();
  80. Timestamp t = new Timestamp(date.getTime());
  81. em.getTransaction().begin();
  82. c.setDateUpdated(t.toString());
  83. em.getTransaction().commit();
  84. em.close();
  85. }
  86.  
  87. private Timestamp stamp() {
  88. Date d = new Date();
  89. return new Timestamp(d.getTime());
  90. }
  91.  
  92. public int persistClient(Clients client) {
  93. EntityManager em = connect();
  94. client.setDateCreated(stamp().toString());
  95. em.getTransaction().begin();
  96. em.persist(client);
  97. em.getTransaction().commit();
  98. log.fine(client.getTrim());
  99. em.close();
  100. return client.getId();
  101. }
  102.  
  103. public int update(Clients newClient) {
  104. EntityManager em = connect();
  105. Clients oldClient = em.find(Clients.class, newClient.getId());
  106. em.getTransaction().begin();
  107. oldClient.setAddress(newClient.getAddress());
  108. oldClient.setCity(newClient.getCity());
  109. oldClient.setCountry(newClient.getCountry());
  110. oldClient.setCompany(newClient.getCompany());
  111. oldClient.setDateUpdated(stamp().toString());
  112. oldClient.setDescription(newClient.getDescription());
  113. oldClient.setEmail(newClient.getEmail());
  114. em.getTransaction().commit();
  115. em.close();
  116. return newClient.getId();
  117. }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement