1 package org
.argeo
.server
.hibernate
;
3 import java
.util
.ArrayList
;
6 import org
.apache
.commons
.logging
.Log
;
7 import org
.apache
.commons
.logging
.LogFactory
;
8 import org
.argeo
.server
.dao
.LightDaoSupport
;
9 import org
.hibernate
.Session
;
10 import org
.hibernate
.SessionFactory
;
12 public class HibernateLightDaoSync
{
13 private final static Log log
= LogFactory
14 .getLog(HibernateLightDaoSync
.class);
16 private String externalSuffix
= LightDaoInterceptor
.DEFAULT_EXTERNAL_SUFFIX
;
18 private SessionFactory sessionFactory
;
20 private LightDaoSupport lightDaoSupport
;
22 private List
<Class
<?
>> classes
= new ArrayList
<Class
<?
>>();
26 if (classes
.size() > 0)
29 lst
= lightDaoSupport
.getSupportedClasses();
31 Session session
= sessionFactory
.getCurrentSession();
32 session
.beginTransaction();
34 for (Class
<?
> clss
: lst
) {
35 String entityName
= clss
.getSimpleName() + externalSuffix
;
37 for (Object obj
: lightDaoSupport
.list(clss
, null)) {
38 session
.save(entityName
, obj
);
41 if (log
.isDebugEnabled())
42 log
.debug("Synchronized " + count
+ "\tentities '"
45 session
.getTransaction().commit();
46 } catch (Exception e
) {
47 session
.getTransaction().rollback();
51 public void setClasses(List
<Class
<?
>> classes
) {
52 this.classes
= classes
;
55 public void setExternalSuffix(String externalSuffix
) {
56 this.externalSuffix
= externalSuffix
;
59 public void setSessionFactory(SessionFactory sessionFactory
) {
60 this.sessionFactory
= sessionFactory
;
63 public void setLightDaoSupport(LightDaoSupport lightDaoSupport
) {
64 this.lightDaoSupport
= lightDaoSupport
;