1
22
23 package com.liferay.portal.service.persistence.impl;
24
25 import com.liferay.portal.SystemException;
26 import com.liferay.portal.kernel.dao.orm.Dialect;
27 import com.liferay.portal.kernel.dao.orm.ORMException;
28 import com.liferay.portal.kernel.dao.orm.Session;
29 import com.liferay.portal.kernel.dao.orm.SessionFactory;
30 import com.liferay.portal.kernel.log.Log;
31 import com.liferay.portal.kernel.log.LogFactoryUtil;
32 import com.liferay.portal.kernel.util.ListUtil;
33 import com.liferay.portal.model.ModelListener;
34 import com.liferay.portal.service.persistence.BasePersistence;
35
36 import java.util.List;
37
38 import javax.sql.DataSource;
39
40
46 public class BasePersistenceImpl implements BasePersistence, SessionFactory {
47
48 public static final String COUNT_COLUMN_NAME = "COUNT_VALUE";
49
50 public void clearCache() {
51 }
52
53 public void closeSession(Session session) {
54 _sessionFactory.closeSession(session);
55 }
56
57 public DataSource getDataSource() {
58 return _dataSource;
59 }
60
61 public Dialect getDialect() {
62 return _dialect;
63 }
64
65 public ModelListener[] getListeners() {
66 return listeners;
67 }
68
69 public Session openSession() throws ORMException {
70 return _sessionFactory.openSession();
71 }
72
73 public void registerListener(ModelListener listener) {
74 List<ModelListener> listenersList = ListUtil.fromArray(listeners);
75
76 listenersList.add(listener);
77
78 listeners = listenersList.toArray(
79 new ModelListener[listenersList.size()]);
80 }
81
82 public SystemException processException(Exception e) {
83 if (!(e instanceof ORMException)) {
84 _log.error("Caught unexpected exception " + e.getClass().getName());
85 }
86
87 if (_log.isDebugEnabled()) {
88 _log.debug(e, e);
89 }
90
91 return new SystemException(e);
92 }
93
94 public void setDataSource(DataSource dataSource) {
95 _dataSource = dataSource;
96 }
97
98 public void setSessionFactory(SessionFactory sessionFactory) {
99 _sessionFactory = sessionFactory;
100 _dialect = _sessionFactory.getDialect();
101 }
102
103 public void unregisterListener(ModelListener listener) {
104 List<ModelListener> listenersList = ListUtil.fromArray(listeners);
105
106 listenersList.remove(listener);
107
108 listeners = listenersList.toArray(
109 new ModelListener[listenersList.size()]);
110 }
111
112 protected ModelListener[] listeners = new ModelListener[0];
113
114 private static Log _log = LogFactoryUtil.getLog(BasePersistenceImpl.class);
115
116 private DataSource _dataSource;
117 private SessionFactory _sessionFactory;
118 private Dialect _dialect;
119
120 }