Index: lams_common/build.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/build.xml,v diff -u -r1.19 -r1.20 --- lams_common/build.xml 9 Feb 2005 03:57:19 -0000 1.19 +++ lams_common/build.xml 9 Feb 2005 04:12:55 -0000 1.20 @@ -369,7 +369,7 @@ - + Fisheye: Tag 1.5 refers to a dead (removed) revision in file `lams_common/test/java/org/lamsfoundation/lams/AbstractLamsCommonTestCase.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/test/java/org/lamsfoundation/lams/AbstractLamsTestCase.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/Attic/AbstractLamsTestCase.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/test/java/org/lamsfoundation/lams/AbstractLamsTestCase.java 9 Feb 2005 04:12:54 -0000 1.1 @@ -0,0 +1,99 @@ +/* ******************************************************************************** + * Copyright Notice + * ================= + * This file contains propriety information of LAMS Foundation. + * Copying or reproduction with prior written permission is prohibited. + * Copyright (c) 2005 + * Created on 2/02/2005 + ******************************************************************************** */ + +package org.lamsfoundation.lams; + +import junit.framework.TestCase; + +import net.sf.hibernate.HibernateException; +import net.sf.hibernate.Session; +import net.sf.hibernate.SessionFactory; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.orm.hibernate.SessionFactoryUtils; +import org.springframework.orm.hibernate.SessionHolder; +import org.springframework.transaction.support.TransactionSynchronizationManager; + + +/** + * + * @author Jacky Fang 2/02/2005 + * + */ +public abstract class AbstractLamsTestCase extends TestCase +{ + protected ApplicationContext context; + + /** + * + */ + public AbstractLamsTestCase(String name) + { + super(name); + } + + /** + * @see TestCase#setUp() + */ + protected void setUp() throws Exception + { + super.setUp(); + context = new ClassPathXmlApplicationContext(getContextConfigLocation()); + initializeHibernateSession(); + } + + protected abstract String[] getContextConfigLocation(); + + /** + * @see TestCase#tearDown() + */ + protected void tearDown() throws Exception + { + super.tearDown(); + finalizeHibernateSession(); + } + + /** + * @throws HibernateException + */ + protected void initializeHibernateSession() throws HibernateException + { + //hold the hibernate session + SessionFactory sessionFactory = (SessionFactory) this.context.getBean("coreSessionFactory"); + Session s = sessionFactory.openSession(); + TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(s)); + } + /** + * @throws HibernateException + */ + protected void finalizeHibernateSession() throws HibernateException + { + //clean the hibernate session + SessionFactory sessionFactory = (SessionFactory)this.context.getBean("coreSessionFactory"); + SessionHolder holder = (SessionHolder)TransactionSynchronizationManager.getResource(sessionFactory); + if (holder != null) { + Session s = holder.getSession(); + s.flush(); + TransactionSynchronizationManager.unbindResource(sessionFactory); + SessionFactoryUtils.closeSessionIfNecessary(s, sessionFactory); + } + } + + protected Session getSession() + { + SessionFactory sessionFactory = (SessionFactory)this.context.getBean("coreSessionFactory"); + SessionHolder holder = (SessionHolder)TransactionSynchronizationManager.getResource(sessionFactory); + if (holder != null) + return holder.getSession(); + else + return null; + + } +} Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestActivityDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/Attic/TestActivityDAO.java,v diff -u -r1.3 -r1.4 --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestActivityDAO.java 9 Feb 2005 00:32:04 -0000 1.3 +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestActivityDAO.java 9 Feb 2005 04:12:54 -0000 1.4 @@ -1,6 +1,6 @@ package org.lamsfoundation.lams.learningdesign.dao; -import org.lamsfoundation.lams.AbstractLamsCommonTestCase; +import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.dao.hibernate.ActivityDAO; import org.lamsfoundation.lams.learningdesign.dao.hibernate.GroupingDAO; import org.lamsfoundation.lams.learningdesign.dao.hibernate.LearningDesignDAO; @@ -20,7 +20,7 @@ * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ -public class TestActivityDAO extends AbstractLamsCommonTestCase { +public class TestActivityDAO extends AbstractLamsTestCase { protected ActivityDAO activityDAO; protected Activity activity; @@ -55,7 +55,7 @@ System.out.println("Transition FROM:" + transition.getActivityByToActivityId()); } /* (non-Javadoc) - * @see org.lamsfoundation.lams.AbstractLamsCommonTestCase#getContextConfigLocation() + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() { return new String[] {"/org/lamsfoundation/lams/learningdesign/learningDesignApplicationContext.xml", Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningDesignDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/Attic/TestLearningDesignDAO.java,v diff -u -r1.3 -r1.4 --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningDesignDAO.java 9 Feb 2005 00:32:04 -0000 1.3 +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningDesignDAO.java 9 Feb 2005 04:12:54 -0000 1.4 @@ -3,7 +3,7 @@ */ package org.lamsfoundation.lams.learningdesign.dao; -import org.lamsfoundation.lams.AbstractLamsCommonTestCase; +import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.dao.hibernate.LearningDesignDAO; import org.lamsfoundation.lams.usermanagement.User; @@ -17,7 +17,7 @@ * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ -public class TestLearningDesignDAO extends AbstractLamsCommonTestCase { +public class TestLearningDesignDAO extends AbstractLamsTestCase { private LearningDesignDAO learningDesignDAO; @@ -90,7 +90,7 @@ } /* (non-Javadoc) - * @see org.lamsfoundation.lams.AbstractLamsCommonTestCase#getContextConfigLocation() + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() { return new String[] {"/org/lamsfoundation/lams/learningdesign/learningDesignApplicationContext.xml", Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningLibraryDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/Attic/TestLearningLibraryDAO.java,v diff -u -r1.3 -r1.4 --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningLibraryDAO.java 9 Feb 2005 00:32:04 -0000 1.3 +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestLearningLibraryDAO.java 9 Feb 2005 04:12:54 -0000 1.4 @@ -5,15 +5,15 @@ * Window - Preferences - Java - Code Style - Code Templates */ package org.lamsfoundation.lams.learningdesign.dao; -import org.lamsfoundation.lams.AbstractLamsCommonTestCase; +import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.LearningLibrary; import org.lamsfoundation.lams.learningdesign.dao.hibernate.LearningLibraryDAO; /** * @author manpreet */ -public class TestLearningLibraryDAO extends AbstractLamsCommonTestCase { +public class TestLearningLibraryDAO extends AbstractLamsTestCase { protected LearningLibraryDAO libraryDAO; protected LearningLibrary library; @@ -33,7 +33,7 @@ } /** * (non-Javadoc) - * @see org.lamsfoundation.lams.AbstractLamsCommonTestCase#getContextConfigLocation() + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() { return new String[] {"/org/lamsfoundation/lams/learningdesign/learningDesignApplicationContext.xml", Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestTransitionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/Attic/TestTransitionDAO.java,v diff -u -r1.4 -r1.5 --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestTransitionDAO.java 9 Feb 2005 00:32:04 -0000 1.4 +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/dao/TestTransitionDAO.java 9 Feb 2005 04:12:54 -0000 1.5 @@ -8,7 +8,7 @@ import java.util.List; -import org.lamsfoundation.lams.AbstractLamsCommonTestCase; +import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.Transition; import org.lamsfoundation.lams.learningdesign.dao.hibernate.TransitionDAO; @@ -18,7 +18,7 @@ * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ -public class TestTransitionDAO extends AbstractLamsCommonTestCase{ +public class TestTransitionDAO extends AbstractLamsTestCase{ protected TransitionDAO transitionDAO; protected Transition transition; @@ -41,7 +41,7 @@ } /** * (non-Javadoc) - * @see org.lamsfoundation.lams.AbstractLamsCommonTestCase#getContextConfigLocation() + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() { return new String[] {"/org/lamsfoundation/lams/learningdesign/learningDesignApplicationContext.xml", Index: lams_common/test/java/org/lamsfoundation/lams/lesson/LessonDataAccessTestCase.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/lesson/Attic/LessonDataAccessTestCase.java,v diff -u -r1.9 -r1.10 --- lams_common/test/java/org/lamsfoundation/lams/lesson/LessonDataAccessTestCase.java 9 Feb 2005 00:05:17 -0000 1.9 +++ lams_common/test/java/org/lamsfoundation/lams/lesson/LessonDataAccessTestCase.java 9 Feb 2005 04:12:54 -0000 1.10 @@ -17,7 +17,7 @@ import net.sf.hibernate.HibernateException; -import org.lamsfoundation.lams.AbstractLamsCommonTestCase; +import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.Grouping; import org.lamsfoundation.lams.learningdesign.LearningDesign; @@ -43,7 +43,7 @@ * @author Jacky Fang 2/02/2005 * */ -public class LessonDataAccessTestCase extends AbstractLamsCommonTestCase +public class LessonDataAccessTestCase extends AbstractLamsTestCase { //--------------------------------------------------------------------- @@ -114,7 +114,7 @@ } /** - * @see org.lamsfoundation.lams.AbstractLamsCommonTestCase#getContextConfigLocation() + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() { Index: lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/tool/Attic/ToolDataAccessTestCase.java,v diff -u -r1.3 -r1.4 --- lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java 9 Feb 2005 00:05:17 -0000 1.3 +++ lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java 9 Feb 2005 04:12:54 -0000 1.4 @@ -9,7 +9,7 @@ package org.lamsfoundation.lams.tool; -import org.lamsfoundation.lams.AbstractLamsCommonTestCase; +import org.lamsfoundation.lams.AbstractLamsTestCase; import org.lamsfoundation.lams.tool.dao.IToolContentDAO; import org.lamsfoundation.lams.tool.dao.IToolDAO; import org.lamsfoundation.lams.tool.dao.hibernate.ToolContentDAO; @@ -21,7 +21,7 @@ * @author Jacky Fang 8/02/2005 * */ -public class ToolDataAccessTestCase extends AbstractLamsCommonTestCase +public class ToolDataAccessTestCase extends AbstractLamsTestCase { protected IToolContentDAO toolContentDao; @@ -59,7 +59,7 @@ super(arg0); } /** - * @see org.lamsfoundation.lams.AbstractLamsCommonTestCase#getContextConfigLocation() + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() {