Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/ToolContent.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/ToolContent.hbm.xml,v diff -u -r1.1 -r1.2 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/ToolContent.hbm.xml 28 Jan 2005 04:08:39 -0000 1.1 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/ToolContent.hbm.xml 8 Feb 2005 23:48:10 -0000 1.2 @@ -37,20 +37,11 @@ - - - @hibernate.property - column="tool_content_key" - length="20" - not-null="true" - - + + + Index: lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java,v diff -u -r1.1 -r1.2 --- lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java 28 Jan 2005 04:20:45 -0000 1.1 +++ lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java 8 Feb 2005 23:48:10 -0000 1.2 @@ -1,6 +1,7 @@ package org.lamsfoundation.lams.tool; import java.io.Serializable; +import java.util.HashSet; import java.util.Set; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; @@ -18,15 +19,18 @@ private Long toolContentId; /** persistent field */ - private long toolContentKey; + private Tool tool; /** persistent field */ private Set activities; + public ToolContent(Tool tool){ + this(null,tool,new HashSet()); + } /** full constructor */ - public ToolContent(Long toolContentId, long toolContentKey, Set activities) { + public ToolContent(Long toolContentId, Tool tool, Set activities) { this.toolContentId = toolContentId; - this.toolContentKey = toolContentKey; + this.tool = tool; this.activities = activities; } @@ -50,18 +54,15 @@ } /** - * @hibernate.property - * column="tool_content_key" - * length="20" - * not-null="true" - * + * @hibernate.many-to-one not-null="true" + * @hibernate.column name="tool_id" */ - public long getToolContentKey() { - return this.toolContentKey; + public Tool getTool() { + return this.tool; } - public void setToolContentKey(long toolContentKey) { - this.toolContentKey = toolContentKey; + public void setTool(Tool tool) { + this.tool = tool; } /** Index: lams_common/src/java/org/lamsfoundation/lams/tool/ToolContentIDGenerator.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/tool/ToolContentIDGenerator.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/tool/ToolContentIDGenerator.java 8 Feb 2005 23:48:10 -0000 1.1 @@ -0,0 +1,39 @@ +/* ******************************************************************************** + * Copyright Notice + * ================= + * This file contains propriety information of LAMS Foundation. + * Copying or reproduction with prior written permission is prohibited. + * Copyright (c) 2005 + * Created on 9/02/2005 + ******************************************************************************** */ + +package org.lamsfoundation.lams.tool; + +import org.lamsfoundation.lams.tool.dao.IToolContentDAO; + + +/** + * + * @author Jacky Fang 9/02/2005 + * + */ +public class ToolContentIDGenerator +{ + private IToolContentDAO toolContentDao; + + + /** + * @param toolContentDao The toolContentDao to set. + */ + public void setToolContentDao(IToolContentDAO toolContentDao) + { + this.toolContentDao = toolContentDao; + } + + public Long getToolContentIDFor(Tool tool) + { + ToolContent newContent = new ToolContent(tool); + toolContentDao.saveToolContent(newContent); + return newContent.getToolContentId(); + } +} Index: lams_common/test/java/org/lamsfoundation/lams/tool/TestToolContentIDGenerator.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/tool/Attic/TestToolContentIDGenerator.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/test/java/org/lamsfoundation/lams/tool/TestToolContentIDGenerator.java 8 Feb 2005 23:48:10 -0000 1.1 @@ -0,0 +1,62 @@ +/* ******************************************************************************** + * Copyright Notice + * ================= + * This file contains propriety information of LAMS Foundation. + * Copying or reproduction with prior written permission is prohibited. + * Copyright (c) 2005 + * Created on 9/02/2005 + ******************************************************************************** */ + +package org.lamsfoundation.lams.tool; + + +/** + * + * @author Jacky Fang 9/02/2005 + * + */ +public class TestToolContentIDGenerator extends ToolDataAccessTestCase +{ + + private ToolContentIDGenerator toolContentIDGenerator; + /* + * @see ToolDataAccessTestCase#setUp() + */ + protected void setUp() throws Exception + { + super.setUp(); + testTool = toolDao.getToolByID(super.TEST_TOOL_ID); + toolContentIDGenerator = (ToolContentIDGenerator)this.ac.getBean("toolContentIDGenerator"); + } + + /* + * @see ToolDataAccessTestCase#tearDown() + */ + protected void tearDown() throws Exception + { + super.tearDown(); + } + + /** + * Constructor for TestToolContentIDGenerator. + * @param arg0 + */ + public TestToolContentIDGenerator(String arg0) + { + super(arg0); + } + + public void testGetToolContentIDFor() + { + long id; + long nextId; + Long newId = toolContentIDGenerator.getToolContentIDFor(testTool); + assertNotNull("verify the new id has been created",newId); + id = newId.longValue(); + newId = toolContentIDGenerator.getToolContentIDFor(testTool); + assertNotNull("verify the new id has been created",newId); + nextId = newId.longValue(); + assertTrue("verify the new id is larger than old one",nextId==id+1); + } + +} 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.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java 8 Feb 2005 06:13:45 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/tool/ToolDataAccessTestCase.java 8 Feb 2005 23:48:10 -0000 1.2 @@ -11,7 +11,9 @@ import org.lamsfoundation.lams.AbstractLamsCommonTestCase; import org.lamsfoundation.lams.tool.dao.IToolContentDAO; +import org.lamsfoundation.lams.tool.dao.IToolDAO; import org.lamsfoundation.lams.tool.dao.hibernate.ToolContentDAO; +import org.lamsfoundation.lams.tool.dao.hibernate.ToolDAO; /** @@ -23,6 +25,11 @@ { protected IToolContentDAO toolContentDao; + protected IToolDAO toolDao; + + //Test tool id - survey tool + protected final Long TEST_TOOL_ID = new Long(6); + protected Tool testTool; /* * @see AbstractLamsCommonTestCase#setUp() */ @@ -31,6 +38,8 @@ super.setUp(); toolContentDao = (ToolContentDAO)this.ac.getBean("toolContentDAO"); + toolDao = (ToolDAO)this.ac.getBean("toolDAO"); + } /* Index: lams_common/test/java/org/lamsfoundation/lams/tool/toolApplicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/tool/Attic/toolApplicationContext.xml,v diff -u -r1.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/tool/toolApplicationContext.xml 8 Feb 2005 06:13:45 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/tool/toolApplicationContext.xml 8 Feb 2005 23:48:10 -0000 1.2 @@ -9,5 +9,24 @@ + + + + + + + + + + + + + PROPAGATION_REQUIRES_NEW,ISOLATION_READ_UNCOMMITTED + + + + Index: lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolContentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/test/java/org/lamsfoundation/lams/tool/dao/Attic/TestToolContentDAO.java,v diff -u -r1.1 -r1.2 --- lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolContentDAO.java 8 Feb 2005 06:13:45 -0000 1.1 +++ lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolContentDAO.java 8 Feb 2005 23:48:10 -0000 1.2 @@ -9,6 +9,7 @@ package org.lamsfoundation.lams.tool.dao; +import org.lamsfoundation.lams.tool.ToolContent; import org.lamsfoundation.lams.tool.ToolDataAccessTestCase; @@ -26,6 +27,7 @@ protected void setUp() throws Exception { super.setUp(); + testTool = toolDao.getToolByID(super.TEST_TOOL_ID); } /* @@ -47,7 +49,9 @@ public void testSaveToolContent() { - + ToolContent newContent = new ToolContent(testTool); + toolContentDao.saveToolContent(newContent); + assertNotNull(newContent.getToolContentId()); } } 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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/test/java/org/lamsfoundation/lams/tool/dao/TestToolDAO.java 8 Feb 2005 23:48:10 -0000 1.1 @@ -0,0 +1,57 @@ +/* ******************************************************************************** + * Copyright Notice + * ================= + * This file contains propriety information of LAMS Foundation. + * Copying or reproduction with prior written permission is prohibited. + * Copyright (c) 2005 + * Created on 9/02/2005 + ******************************************************************************** */ + +package org.lamsfoundation.lams.tool.dao; + +import org.lamsfoundation.lams.tool.ToolDataAccessTestCase; + + +/** + * + * @author Jacky Fang 9/02/2005 + * + */ +public class TestToolDAO extends ToolDataAccessTestCase +{ + + /* + * @see ToolDataAccessTestCase#setUp() + */ + protected void setUp() throws Exception + { + super.setUp(); + } + + /* + * @see ToolDataAccessTestCase#tearDown() + */ + protected void tearDown() throws Exception + { + super.tearDown(); + } + + /** + * Constructor for TestToolDAO. + * @param arg0 + */ + public TestToolDAO(String arg0) + { + super(arg0); + } + + public void testGetToolByID() + { + testTool = toolDao.getToolByID(super.TEST_TOOL_ID); + assertEquals("verify signature","survey_signature",testTool.getToolSignature()); + assertEquals("verify service name","surveyService",testTool.getServiceName()); + assertEquals("verify display name","Survey",testTool.getToolDisplayName()); + assertEquals("verify default content id",6,testTool.getDefaultToolContentId()); + } + +}