(no commit message)
authorm.doering <m.doering@localhost>
Wed, 12 Dec 2007 11:06:38 +0000 (11:06 +0000)
committerm.doering <m.doering@localhost>
Wed, 12 Dec 2007 11:06:38 +0000 (11:06 +0000)
.gitattributes
musiclib-hibernatetest/src/main/java/org/bgbm/persistence/dao/DaoBase.java
musiclib-hibernatetest/src/main/java/org/bgbm/persistence/dao/GenericDao.java
musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/DatabaseInitialiser.java
musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/TestIt.java [new file with mode: 0644]

index cb873ddbf289a6ab7581af3a0489ac3ae3e2fd5f..6f11d55b1f45d76d0a08e3f56542889b4532192e 100644 (file)
@@ -330,6 +330,7 @@ musiclib-hibernatetest/src/main/resources/log4j.properties -text
 musiclib-hibernatetest/src/site/site.xml -text
 musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/DatabaseInitialiser.java -text
 musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/RecordDaoImplTest.java -text
+musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/TestIt.java -text
 musiclib-hibernatetest/target/mvn-eclipse-cache.properties -text
 updateSite/.project -text
 updateSite/features/eu.etaxonomy.cdmLibrary_0.2.5.jar -text
index 9da25cc3011a07e2ccba9416d26abfcc95df2dd3..1c42608e159cf68999f51c1b766533e0264d7534 100644 (file)
@@ -12,6 +12,7 @@ import org.hibernate.Session;
 import org.hibernate.SessionFactory;\r
 import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.dao.DataAccessException;\r
+import org.springframework.transaction.annotation.Transactional;\r
 \r
 \r
 /**\r
@@ -34,7 +35,6 @@ public abstract class DaoBase<T extends EntityBase> implements IDao<T> {
                return factory.getCurrentSession();\r
        }\r
        \r
-       \r
        public void save(T domainObj) throws DataAccessException  {\r
                getSession().saveOrUpdate(domainObj);\r
        }\r
index b10ce5111d9e3eea33b7c28eb0e8394ace00d113..30b97d86208c6ebafebfdaa6738c1dc1fd29a08a 100644 (file)
@@ -11,14 +11,35 @@ import org.hibernate.SessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.DataAccessException;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
 
 
 @Repository
-public class GenericDao extends DaoBase<EntityBase> {
+@Transactional
+public class GenericDao{
        static Logger logger = Logger.getLogger(GenericDao.class);
+       @Autowired
+       public SessionFactory factory;
 
-       public GenericDao() {
-               super(EntityBase.class);
+       
+       protected Session getSession(){
+               return factory.getCurrentSession();
+       }
+       
+       public void save(EntityBase domainObj) throws DataAccessException  {
+               getSession().saveOrUpdate(domainObj);
        }
 
+       public void update(EntityBase domainObj) throws DataAccessException {
+               getSession().update(domainObj);
+       }
+       
+       public void delete(EntityBase domainObj) throws DataAccessException {
+               getSession().delete(domainObj);
+       }
+
+       public EntityBase findById(Integer id, Class type) throws DataAccessException {
+               EntityBase obj = (EntityBase) getSession().load(type, id);
+               return obj;
+       }
 }
index 556d78995eb3481c26fea1ad5e7023c7a96b1b93..b9b211c139377d5b8144465ddcd2f96428ac2c62 100644 (file)
@@ -15,28 +15,27 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 import org.springframework.orm.hibernate3.HibernateTransactionManager;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 
 
+
+@Component
 public class DatabaseInitialiser {
        private static final Logger logger = Logger.getLogger(DatabaseInitialiser.class);
 
-       private static ClassPathXmlApplicationContext applicationContext;
 
+       @Autowired
        private RecordDaoImpl recordDao;
+       @Autowired
        private GenericDao dao;
+       @Autowired
        private HibernateTransactionManager txm;
 
-       public DatabaseInitialiser() {
-               applicationContext = new ClassPathXmlApplicationContext("appInitContext.xml");
-               dao = (GenericDao)applicationContext.getBean("genericDao");
-               recordDao = (RecordDaoImpl)applicationContext.getBean("recordDaoImpl");
-               txm = (HibernateTransactionManager)applicationContext.getBean("transactionManager");
-       }
 
        public Integer insertRecord(){
                logger.info("Populate database with a record");
-               Session session = txm.getSessionFactory().openSession();
-               Transaction tx = session.beginTransaction();
+//             Session session = txm.getSessionFactory().openSession();
+//             Transaction tx = session.beginTransaction();
                Random generator=new Random();
                Label label = new Label("Universal Music");
                Band artist = new Band("Sons of Austria");
@@ -47,10 +46,10 @@ public class DatabaseInitialiser {
                }
                // save record
                logger.debug("Save record: "+record.toString());
-               recordDao.save(record);
-               tx.commit();
-               session.flush();
-               session.close();
+               dao.save(record);
+//             tx.commit();
+//             session.flush();
+//             session.close();
                return record.getId();
        }
 
@@ -62,9 +61,4 @@ public class DatabaseInitialiser {
                s.close();              
        }
 
-       public static void main(String[] args) {
-               DatabaseInitialiser dbInit = new DatabaseInitialiser();
-               dbInit.insertRecord();
-               dbInit.insertRecord();
-       }
 }
diff --git a/musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/TestIt.java b/musiclib-hibernatetest/src/test/java/org/bgbm/persistence/dao/TestIt.java
new file mode 100644 (file)
index 0000000..b310777
--- /dev/null
@@ -0,0 +1,15 @@
+package org.bgbm.persistence.dao;
+
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class TestIt {
+       private static ClassPathXmlApplicationContext applicationContext;
+
+       public static void main(String[] args) {
+               applicationContext = new ClassPathXmlApplicationContext("appInitContext.xml");
+               DatabaseInitialiser dbInit = (DatabaseInitialiser)applicationContext.getBean("databaseInitialiser");
+               dbInit.insertRecord();
+               dbInit.insertRecord();
+       }
+
+}