Index: lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java =================================================================== diff -u -r174fa126cd5cc9d88eb39d6596af0453a2b77e49 -r8f90189a3817150889b523eca3c6ae650a9fd721 --- lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java (.../IToolDAO.java) (revision 174fa126cd5cc9d88eb39d6596af0453a2b77e49) +++ lams_common/src/java/org/lamsfoundation/lams/tool/dao/IToolDAO.java (.../IToolDAO.java) (revision 8f90189a3817150889b523eca3c6ae650a9fd721) @@ -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 =================================================================== diff -u -r174fa126cd5cc9d88eb39d6596af0453a2b77e49 -r8f90189a3817150889b523eca3c6ae650a9fd721 --- lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolDAO.java (.../ToolDAO.java) (revision 174fa126cd5cc9d88eb39d6596af0453a2b77e49) +++ lams_common/src/java/org/lamsfoundation/lams/tool/dao/hibernate/ToolDAO.java (.../ToolDAO.java) (revision 8f90189a3817150889b523eca3c6ae650a9fd721) @@ -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 =================================================================== diff -u -r0735f8bbbe378127d27795e3d9773f3c1293ed41 -r8f90189a3817150889b523eca3c6ae650a9fd721 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 0735f8bbbe378127d27795e3d9773f3c1293ed41) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/ILamsToolService.java (.../ILamsToolService.java) (revision 8f90189a3817150889b523eca3c6ae650a9fd721) @@ -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 =================================================================== diff -u -r0735f8bbbe378127d27795e3d9773f3c1293ed41 -r8f90189a3817150889b523eca3c6ae650a9fd721 --- lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 0735f8bbbe378127d27795e3d9773f3c1293ed41) +++ lams_common/src/java/org/lamsfoundation/lams/tool/service/LamsToolService.java (.../LamsToolService.java) (revision 8f90189a3817150889b523eca3c6ae650a9fd721) @@ -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 =================================================================== diff -u -rafac1a1062fdca801b95f6bbad0650b7b5641fc9 -r8f90189a3817150889b523eca3c6ae650a9fd721 --- lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java (.../TestToolDAO.java) (revision afac1a1062fdca801b95f6bbad0650b7b5641fc9) +++ lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java (.../TestToolDAO.java) (revision 8f90189a3817150889b523eca3c6ae650a9fd721) @@ -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); } + }