Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/IActivityDAO.java =================================================================== diff -u -rac6e6942d257c6266f4c38eef12192dea38cc73a -r02cfae6b2132d0f6963630e383226a53edaa9641 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/IActivityDAO.java (.../IActivityDAO.java) (revision ac6e6942d257c6266f4c38eef12192dea38cc73a) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/IActivityDAO.java (.../IActivityDAO.java) (revision 02cfae6b2132d0f6963630e383226a53edaa9641) @@ -6,6 +6,7 @@ import java.util.List; import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.LearningDesign; /** * @author MMINHAS @@ -20,10 +21,13 @@ public Activity getActivityByActivityId(Long activityId); /** - * @param id The id of the activity - * @return Activity populated Activity object + * @param uiID The internal id (flash generated) of the activity + * being looked for + * @param design The learning_design_id of the design + * whose first activity we are fetching + * @return Activity The populated activity object matching the specified criteria */ - public List getActivityByID(Integer id); + public Activity getActivityByUIID(Integer uiID, LearningDesign design); /** * @param parentActivityId The activityId of the parent activity Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java =================================================================== diff -u -rac6e6942d257c6266f4c38eef12192dea38cc73a -r02cfae6b2132d0f6963630e383226a53edaa9641 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java (.../ActivityDAO.java) (revision ac6e6942d257c6266f4c38eef12192dea38cc73a) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java (.../ActivityDAO.java) (revision 02cfae6b2132d0f6963630e383226a53edaa9641) @@ -4,7 +4,12 @@ package org.lamsfoundation.lams.learningdesign.dao.hibernate; import java.util.List; + +import net.sf.hibernate.Hibernate; +import net.sf.hibernate.type.Type; + import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.OptionsActivity; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; @@ -17,11 +22,12 @@ private static final String FIND_BY_PARENT = "from " + TABLENAME +" in class " + Activity.class.getName() + " where parent_activity_id=?" ; - private static final String FIND_BY_ID = "from " + TABLENAME +" in class " + Activity.class.getName() + " where id=?" ; - private static final String FIND_BY_LEARNING_DESIGN_ID = "from " + TABLENAME + " in class " + Activity.class.getName() + " where learning_design_id=?" ; + private static final String FIND_BY_UI_ID ="from " + TABLENAME + + " in class " + Activity.class.getName() + + " where activity_ui_id=?" + " AND " + " learning_design_id=?" ; /* @@ -81,8 +87,9 @@ /* (non-Javadoc) * @see org.lamsfoundation.lams.learningdesign.dao.IActivityDAO#getActivityByID(java.lang.Integer) */ - public List getActivityByID(Integer id) { - return this.getHibernateTemplate().find(FIND_BY_ID,id); + public Activity getActivityByUIID(Integer id, LearningDesign design) { + Long designID = design.getLearningDesignId(); + List list = this.getHibernateTemplate().find(FIND_BY_UI_ID,new Object[]{id,designID},new Type[]{Hibernate.INTEGER,Hibernate.LONG}); + return (Activity) list.get(0); } - }