Index: lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java,v diff -u -r1.2 -r1.3 --- lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java 23 Feb 2005 05:20:30 -0000 1.2 +++ lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java 24 Jun 2005 08:32:41 -0000 1.3 @@ -17,12 +17,14 @@ /** * * @author Jacky Fang 8/02/2005 + * updated: Ozgur Demirtas 24/06/2005 * */ public interface IToolDAO { public Tool getToolByID(Long toolID); public List getAllTools(); - + public Tool getToolBySignature(final String toolSignature); + public long getToolDefaultContentIdBySignature(final String toolSignature); } Index: lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolDAO.java,v diff -u -r1.2 -r1.3 --- lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolDAO.java 23 Feb 2005 05:20:16 -0000 1.2 +++ lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolDAO.java 24 Jun 2005 08:33:58 -0000 1.3 @@ -11,29 +11,69 @@ import java.util.List; +import net.sf.hibernate.HibernateException; +import net.sf.hibernate.Session; + import org.lamsfoundation.lams.tool.Tool; import org.lamsfoundation.lams.tool.dao.IToolDAO; +import org.springframework.orm.hibernate.HibernateCallback; import org.springframework.orm.hibernate.support.HibernateDaoSupport; /** * * @author Jacky Fang 8/02/2005 + * @author Ozgur Demirtas 24/06/2005 * */ public class ToolDAO extends HibernateDaoSupport implements IToolDAO { private static final String FIND_ALL = "from obj in class " + Tool.class.getName(); - + private static final String LOAD_TOOL_BY_SIG = "from tool in class Tool where tool.toolSignature=:toolSignature"; + + /** * @see org.lamsfoundation.lams.tool.dao.IToolDAO#getToolByID(java.lang.Long) */ public Tool getToolByID(Long toolID) { return (Tool)getHibernateTemplate().get(Tool.class,toolID); } + public List getAllTools(){ return this.getHibernateTemplate().find(FIND_ALL); } + + public Tool getToolBySignature(final String toolSignature) + { + return (Tool) getHibernateTemplate().execute(new HibernateCallback() + { + public Object doInHibernate(Session session) throws HibernateException + { + return session.createQuery(LOAD_TOOL_BY_SIG) + .setString("toolSignature",toolSignature) + .uniqueResult(); + } + }); + } + public long getToolDefaultContentIdBySignature(final String toolSignature) + { + Tool tool= (Tool) getHibernateTemplate().execute(new HibernateCallback() + { + public Object doInHibernate(Session session) throws HibernateException + { + return session.createQuery(LOAD_TOOL_BY_SIG) + .setString("toolSignature",toolSignature) + .uniqueResult(); + } + }); + + if (tool != null) + return tool.getDefaultToolContentId(); + else + return 0; + } + + } Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java,v diff -u -r1.8 -r1.9 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java 18 Mar 2005 03:17:08 -0000 1.8 +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java 24 Jun 2005 08:33:08 -0000 1.9 @@ -24,14 +24,17 @@ import java.util.List; +import org.lamsfoundation.lams.tool.Tool; + /** * This interface defines all the service available for self contained tool * module from lams. Any service that would be used by other lams module * such as, lams_learning etc, should not appear in this interface. * * @author chris * @author Jacky Fang + * @author Ozgur Demirtas 24/06/2005 */ public interface ILamsToolService { @@ -46,5 +49,8 @@ * @exception in case of any problems. */ public List getAllPotentialLearners(long toolContentID) throws LamsToolServiceException; - + + public Tool getToolBySignature(final String toolSignature); + + public long getToolDefaultContentIdBySignature(final String toolSignature); } Index: lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java,v diff -u -r1.8 -r1.9 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java 18 Mar 2005 03:17:08 -0000 1.8 +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java 24 Jun 2005 08:33:24 -0000 1.9 @@ -24,23 +24,50 @@ import java.util.List; +import org.lamsfoundation.lams.tool.Tool; +import org.lamsfoundation.lams.tool.dao.IToolDAO; + /** * * @author Jacky Fang * @since 2005-3-17 * @version * + * @author Ozgur Demirtas 24/06/2005 + * */ public class LamsToolService implements ILamsToolService { - + protected IToolDAO toolDAO; /** * @see org.lamsfoundation.lams.tool.service.ILamsCoreToolService#getAllPotentialLearners(long) */ public List getAllPotentialLearners(long toolContentID) throws LamsToolServiceException { return null; } + + public Tool getToolBySignature(final String toolSignature) + { + return toolDAO.getToolBySignature(toolSignature); + } + public long getToolDefaultContentIdBySignature(final String toolSignature) + { + return toolDAO.getToolDefaultContentIdBySignature(toolSignature); + } + + /** + * @return Returns the toolDAO. + */ + public IToolDAO getToolDAO() { + return toolDAO; + } + /** + * @param toolDAO The toolDAO to set. + */ + public void setToolDAO(IToolDAO toolDAO) { + this.toolDAO = toolDAO; + } } Index: lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/tool/dao/Attic/TestToolDAO.java,v diff -u -r1.5 -r1.6 --- lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java 6 May 2005 05:24:17 -0000 1.5 +++ lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java 24 Jun 2005 08:35:22 -0000 1.6 @@ -11,12 +11,14 @@ import java.util.List; +import org.lamsfoundation.lams.tool.Tool; import org.lamsfoundation.lams.tool.ToolDataAccessTestCase; /** * * @author Jacky Fang 9/02/2005 + * updated: Ozgur Demirtas 24/06/2005 * */ public class TestToolDAO extends ToolDataAccessTestCase @@ -47,6 +49,12 @@ super(arg0); } + public void testGetToolBySignature() + { + Tool testTool = toolDao.getToolBySignature("voting_signature"); + assertEquals(new Long(9),testTool.getToolId()); + } + public void testGetToolByID() { testTool = toolDao.getToolByID(super.TEST_TOOL_ID); @@ -56,9 +64,11 @@ assertEquals("verify default content id",6,testTool.getDefaultToolContentId()); assertTrue("verify support define later",testTool.getSupportsDefineLater()); } + public void testGetAllTools(){ List list = toolDao.getAllTools(); assertNotNull(list); } + }