1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.juddi.config;
19
20 import java.util.Properties;
21
22 import javax.persistence.EntityManagerFactory;
23 import javax.persistence.Persistence;
24 import javax.persistence.EntityManager;
25
26 import org.apache.commons.configuration.ConfigurationException;
27 import org.apache.commons.logging.Log;
28 import org.apache.commons.logging.LogFactory;
29
30 public class PersistenceManager {
31 private static Log log = LogFactory.getLog(PersistenceManager.class);
32
33 public static final String PERSISTENCE_UNIT_NAME = "juddiDatabase";
34
35 private static EntityManagerFactory emf;
36
37 public static EntityManager getEntityManager() {
38 try {
39
40 if (emf == null)
41 AppConfig.getInstance();
42 }
43 catch (ConfigurationException e) {
44 log.error("Error initializing config in PersistenceManager", e);
45 throw new ExceptionInInitializerError(e);
46 }
47
48 return emf.createEntityManager();
49 }
50
51 public static void closeEntityManager() {
52 if (emf.isOpen())
53 emf.close();
54 }
55
56 protected static void initializeEntityManagerFactory(String persistenceUnitName, Properties properties) {
57 try {
58 if (emf == null)
59 if (properties==null || properties.size()==0) {
60 emf = Persistence.createEntityManagerFactory(persistenceUnitName);
61 } else {
62 emf = Persistence.createEntityManagerFactory(persistenceUnitName, properties);
63 }
64 }
65 catch (Throwable t) {
66 log.error("entityManagerFactory creation failed", t);
67 throw new ExceptionInInitializerError(t);
68 }
69
70 }
71
72 }