Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java =================================================================== diff -u -r7f203b0b0a2e56896f7eee5367b52d1ec4db483e -r1298a23011114e3088ec0e9686e0ceac246d9a6f --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java (.../ComplexActivity.java) (revision 7f203b0b0a2e56896f7eee5367b52d1ec4db483e) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java (.../ComplexActivity.java) (revision 1298a23011114e3088ec0e9686e0ceac246d9a6f) @@ -2,6 +2,7 @@ import java.io.Serializable; import java.util.Date; +import java.util.Iterator; import java.util.Set; import org.apache.commons.lang.builder.ToStringBuilder; @@ -86,4 +87,20 @@ public void addActivity(Activity activity){ this.activities.add(activity); } + + /** + * Return the requested child activity based on the id. + * @param activityId the requested activity id. + * @return the child activity. + */ + public Activity getChildActivityById(long activityId) + { + for(Iterator i = this.activities.iterator();i.hasNext();) + { + Activity child = (Activity)i.next(); + if(child.getActivityId().longValue()==activityId) + return child; + } + return new NullActivity(); + } } \ No newline at end of file Index: lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestActivity.java =================================================================== diff -u -r767befd47f504dca54e33fdba43785c42067eec4 -r1298a23011114e3088ec0e9686e0ceac246d9a6f --- lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestActivity.java (.../TestActivity.java) (revision 767befd47f504dca54e33fdba43785c42067eec4) +++ lams_common/test/java/org/lamsfoundation/lams/learningdesign/TestActivity.java (.../TestActivity.java) (revision 1298a23011114e3088ec0e9686e0ceac246d9a6f) @@ -34,8 +34,8 @@ private static final Long TEST_SURVEY_ACTIVITY = new Long(20); private static final Long TEST_MB_ACTIVITY = new Long(19); private static final Integer TEST_USER_ID = new Integer(2); + private static final long TEST_CHILD_QNA_ACTIVITY_ID = 22; - /* * @see AbstractLamsTestCase#setUp() */ @@ -96,6 +96,15 @@ assertEquals("verify the order of this group",1,testGroup.getOrderId()); } + + public void testGetChildActivityById() + { + Activity complexActivity = activityDAO.getActivityByActivityId(TEST_SEQUENCE_ACTIVITY); + + Activity child = ((ComplexActivity)complexActivity).getChildActivityById(TEST_CHILD_QNA_ACTIVITY_ID); + assertNotNull(child); + assertEquals("verify id",TEST_CHILD_QNA_ACTIVITY_ID,child.getActivityId().longValue()); + } /** * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */