Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== diff -u -r94ed30ec071e295e4a2d469f02778c25f401ca41 -ra1713308aff0b5c8a8c385aa68d93fc655ea913c --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 94ed30ec071e295e4a2d469f02778c25f401ca41) +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision a1713308aff0b5c8a8c385aa68d93fc655ea913c) @@ -102,6 +102,10 @@ PROPAGATION_REQUIRED PROPAGATION_REQUIRED + PROPAGATION_REQUIRED + PROPAGATION_REQUIRED + PROPAGATION_REQUIRED + PROPAGATION_REQUIRED Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibrary.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -ra1713308aff0b5c8a8c385aa68d93fc655ea913c --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibrary.java (.../LearningLibrary.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibrary.java (.../LearningLibrary.java) (revision a1713308aff0b5c8a8c385aa68d93fc655ea913c) @@ -148,9 +148,4 @@ public void setValidLibrary(Boolean validLibrary) { this.validLibrary = validLibrary; } - - public LearningLibraryDTO getLearningLibraryDTO(List templateActivities, String languageCode) { - return new LearningLibraryDTO(this, templateActivities, languageCode); - } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningLibraryDTO.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -ra1713308aff0b5c8a8c385aa68d93fc655ea913c --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningLibraryDTO.java (.../LearningLibraryDTO.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningLibraryDTO.java (.../LearningLibraryDTO.java) (revision a1713308aff0b5c8a8c385aa68d93fc655ea913c) @@ -24,12 +24,8 @@ package org.lamsfoundation.lams.learningdesign.dto; import java.util.Date; -import java.util.Iterator; -import java.util.List; import java.util.Vector; -import org.lamsfoundation.lams.learningdesign.Activity; -import org.lamsfoundation.lams.learningdesign.ComplexActivity; import org.lamsfoundation.lams.learningdesign.LearningLibrary; /** @@ -53,34 +49,15 @@ } - public LearningLibraryDTO(Long learningLibraryID, String description, String title, Boolean validFlag, - Date createDateTime, Vector templateActivities) { - this.learningLibraryID = learningLibraryID; - this.description = description; - this.title = title; - this.validFlag = validFlag; - this.createDateTime = createDateTime; - this.templateActivities = templateActivities; - } - - public LearningLibraryDTO(LearningLibrary learningLibrary, String languageCode) { + public LearningLibraryDTO(LearningLibrary learningLibrary) { this.learningLibraryID = learningLibrary.getLearningLibraryId(); this.description = learningLibrary.getDescription(); this.title = learningLibrary.getTitle(); this.validFlag = learningLibrary.getValidLibrary(); this.createDateTime = learningLibrary.getCreateDateTime(); - this.templateActivities = populateActivities(learningLibrary.getActivities().iterator(), languageCode); + // this.templateActivities = populateActivities(templateActivity.iterator(), languageCode); } - public LearningLibraryDTO(LearningLibrary learningLibrary, List templateActivity, String languageCode) { - this.learningLibraryID = learningLibrary.getLearningLibraryId(); - this.description = learningLibrary.getDescription(); - this.title = learningLibrary.getTitle(); - this.validFlag = learningLibrary.getValidLibrary(); - this.createDateTime = learningLibrary.getCreateDateTime(); - this.templateActivities = populateActivities(templateActivity.iterator(), languageCode); - } - /** * @return Returns the description. */ @@ -116,38 +93,8 @@ return templateActivities; } - /* - * public Vector populateActivities(Iterator iterator){ - * Vector activities = new Vector(); - * while(iterator.hasNext()){ - * Activity activity = (Activity)iterator.next(); - * activities.add(activity.getLibraryActivityDTO()); - * } - * return activities; - * } - */ - - public Vector populateActivities(Iterator iterator, String languageCode) { - Vector activities = new Vector(); - Vector childActivities = null; - while (iterator.hasNext()) { - Activity object = (Activity) iterator.next(); - - if (object.isComplexActivity()) { //parallel, sequence or options activity - ComplexActivity complexActivity = (ComplexActivity) object; - Iterator childIterator = complexActivity.getActivities().iterator(); - childActivities = new Vector(); - while (childIterator.hasNext()) { - Activity activity = (Activity) childIterator.next(); - childActivities.add(activity.getLibraryActivityDTO(languageCode)); - } - activities.add(complexActivity.getLibraryActivityDTO(languageCode)); - activities.addAll(childActivities); - } else { - activities.add(object.getLibraryActivityDTO(languageCode)); - } - } - return activities; + public void setTemplateActivities(Vector templateActivities) { + this.templateActivities = templateActivities; } public Date getCreateDateTime() { @@ -157,5 +104,4 @@ public void setCreateDateTime(Date createDateTime) { this.createDateTime = createDateTime; } - } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java =================================================================== diff -u -r7888afa5fee98cac70958ddefd7ef89a0e79a910 -ra1713308aff0b5c8a8c385aa68d93fc655ea913c --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision 7888afa5fee98cac70958ddefd7ef89a0e79a910) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision a1713308aff0b5c8a8c385aa68d93fc655ea913c) @@ -35,6 +35,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.ComplexActivity; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.LearningLibrary; import org.lamsfoundation.lams.learningdesign.LearningLibraryGroup; @@ -236,13 +237,39 @@ } // convert library to DTO format - LearningLibraryDTO libraryDTO = learningLibrary.getLearningLibraryDTO(templateActivities, languageCode); + LearningLibraryDTO libraryDTO = new LearningLibraryDTO(learningLibrary); + libraryDTO.setTemplateActivities(populateActivities(templateActivities.iterator(), languageCode)); + internationaliseActivities(libraryDTO.getTemplateActivities()); libraries.add(libraryDTO); } return libraries; } + private Vector populateActivities(Iterator iterator, String languageCode) { + Vector activities = new Vector(); + Vector childActivities = null; + while (iterator.hasNext()) { + Activity object = (Activity) iterator.next(); + + if (object.isComplexActivity()) { //parallel, sequence or options activity + object = activityDAO.getActivityByActivityId(object.getActivityId()); + ComplexActivity complexActivity = (ComplexActivity) object; + Iterator childIterator = complexActivity.getActivities().iterator(); + childActivities = new Vector(); + while (childIterator.hasNext()) { + Activity activity = (Activity) childIterator.next(); + childActivities.add(activity.getLibraryActivityDTO(languageCode)); + } + activities.add(complexActivity.getLibraryActivityDTO(languageCode)); + activities.addAll(childActivities); + } else { + activities.add(object.getLibraryActivityDTO(languageCode)); + } + } + return activities; + } + /** * Gets basic information on available tools. */