1 package org.minetti.astrodevice.server.hibernate.dao;
2
3 import java.util.HashMap;
4 import java.util.Map;
5 import javax.persistence.Persistence;
6 import org.minetti.astrodevice.server.core.dao.DaoSession;
7 import org.minetti.astrodevice.server.core.dao.DeviceSpecificationDao;
8 import org.minetti.astrodevice.server.core.dao.ObservingSiteDao;
9 import org.minetti.astrodevice.server.core.dao.DaoTransaction;
10 import org.minetti.astrodevice.server.core.module.DaoModule;
11
12
13
14
15
16 public final class DaoModuleImpl
17 implements DaoModule {
18
19
20
21
22 private DaoFactory daoFactory = null;
23
24
25
26
27 public DaoModuleImpl () {
28 super();
29 }
30
31
32
33
34
35 public String getName () {
36 return "dao/hibernate";
37 }
38
39
40
41
42
43 public void start () {
44
45
46 final Map<String, String> propertyMap = new HashMap<String, String>();
47 propertyMap.put("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
48 propertyMap.put("hibernate.connection.url", "jdbc:mysql://localhost:3306/astroDeviceServer");
49 propertyMap.put("hibernate.connection.username", "astro");
50 propertyMap.put("hibernate.connection.password", "astro");
51 propertyMap.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
52
53
54 this.daoFactory = new DaoFactory(Persistence.createEntityManagerFactory("astroDeviceServer", propertyMap));
55 }
56
57
58
59
60
61 public void stop () {
62 this.daoFactory.close();
63 }
64
65
66
67
68
69 public DaoSession newDaoSession () {
70 return this.daoFactory.newDaoSession();
71 }
72
73
74
75
76
77
78
79 public DaoTransaction newDaoTransaction (final DaoSession session) {
80 return this.daoFactory.newDaoTransaction(session);
81 }
82
83
84
85
86
87
88
89 public ObservingSiteDao newObservingSiteDao (final DaoSession session) {
90 return this.daoFactory.newObservingSiteDao(session);
91 }
92
93
94
95
96
97
98
99 public DeviceSpecificationDao newDeviceSpecificationDao (final DaoSession session) {
100 return this.daoFactory.newDeviceSpecificationDao(session);
101 }
102
103
104
105
106
107 @Override
108 public String toString () {
109 return "DaoFactory[" + getName() + "]";
110 }
111
112 }