Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -r309415c53c81c7251e537a6832b6ead2d6a2a84a -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e
Binary files differ
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml
===================================================================
diff -u -r889c6e7e533535886628e924b3e3dc652b6610b9 -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e
--- lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml (.../authoringApplicationContext.xml) (revision 889c6e7e533535886628e924b3e3dc652b6610b9)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml (.../authoringApplicationContext.xml) (revision cb333c89e9d244ab2204e9bc8cb14d6dd613603e)
@@ -47,7 +47,6 @@
-
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java
===================================================================
diff -u -r8d104d395bbb6b03bb9515e606176d76f585439b -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e
--- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision 8d104d395bbb6b03bb9515e606176d76f585439b)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision cb333c89e9d244ab2204e9bc8cb14d6dd613603e)
@@ -25,13 +25,11 @@
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -50,7 +48,6 @@
import org.lamsfoundation.lams.learningdesign.Grouping;
import org.lamsfoundation.lams.learningdesign.GroupingActivity;
import org.lamsfoundation.lams.learningdesign.LearningDesign;
-import org.lamsfoundation.lams.learningdesign.LearningLibrary;
import org.lamsfoundation.lams.learningdesign.License;
import org.lamsfoundation.lams.learningdesign.ToolActivity;
import org.lamsfoundation.lams.learningdesign.Transition;
@@ -64,8 +61,6 @@
import org.lamsfoundation.lams.learningdesign.dto.AuthoringActivityDTO;
import org.lamsfoundation.lams.learningdesign.dto.DesignDetailDTO;
import org.lamsfoundation.lams.learningdesign.dto.LearningDesignDTO;
-import org.lamsfoundation.lams.learningdesign.dto.LearningLibraryDTO;
-import org.lamsfoundation.lams.learningdesign.dto.LibraryActivityDTO;
import org.lamsfoundation.lams.learningdesign.dto.ValidationErrorDTO;
import org.lamsfoundation.lams.learningdesign.exception.LearningDesignException;
import org.lamsfoundation.lams.learningdesign.service.ILearningDesignService;
@@ -82,14 +77,11 @@
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.ConfigurationKeys;
import org.lamsfoundation.lams.util.FileUtilException;
-import org.lamsfoundation.lams.util.ILoadedMessageSourceService;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.util.wddx.FlashMessage;
import org.lamsfoundation.lams.util.wddx.WDDXProcessor;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
-import org.springframework.context.MessageSource;
-import org.springframework.context.i18n.LocaleContextHolder;
/**
@@ -112,7 +104,6 @@
protected ILamsCoreToolService lamsCoreToolService;
protected ILearningDesignService learningDesignService;
protected MessageService messageService;
- protected ILoadedMessageSourceService toolActMessageService;
protected ToolContentIDGenerator contentIDGenerator;
@@ -195,20 +186,7 @@
public void setLamsCoreToolService(ILamsCoreToolService lamsCoreToolService) {
this.lamsCoreToolService = lamsCoreToolService;
}
-
- /** Access a message service related to a programatically loaded message file.
- * Authoring uses this to access the message files for tools and activities.
- */
- public ILoadedMessageSourceService getToolActMessageService() {
- return toolActMessageService;
- }
- public void setToolActMessageService(ILoadedMessageSourceService toolActMessageService) {
- this.toolActMessageService = toolActMessageService;
- }
-
-
-
public ILearningDesignService getLearningDesignService() {
return learningDesignService;
}
@@ -218,8 +196,7 @@
*/
public void setLearningDesignService(ILearningDesignService learningDesignService) {
this.learningDesignService = learningDesignService;
- }
-
+ }
/**
* @param contentIDGenerator The contentIDGenerator to set.
@@ -616,60 +593,9 @@
* @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getAllLearningLibraryDetails()
*/
public String getAllLearningLibraryDetails()throws IOException{
- Iterator iterator= getAllLearningLibraries().iterator();
- ArrayList libraries = new ArrayList();
- while(iterator.hasNext()){
- LearningLibrary learningLibrary = (LearningLibrary)iterator.next();
- List templateActivities = activityDAO.getActivitiesByLibraryID(learningLibrary.getLearningLibraryId());
-
- if (templateActivities!=null & templateActivities.size()==0)
- {
- log.error("Learning Library with ID " + learningLibrary.getLearningLibraryId() + " does not have a template activity");
- }
- // convert library to DTO format
- LearningLibraryDTO libraryDTO = learningLibrary.getLearningLibraryDTO(templateActivities);
- internationaliseActivities(libraryDTO.getTemplateActivities());
- libraries.add(libraryDTO);
- }
- flashMessage = new FlashMessage("getAllLearningLibraryDetails",libraries);
+ flashMessage = new FlashMessage("getAllLearningLibraryDetails",learningDesignService.getAllLearningLibraryDetails());
return flashMessage.serializeMessage();
}
-
- private void internationaliseActivities(Collection activities) {
- Iterator iter = activities.iterator();
- Locale locale = LocaleContextHolder.getLocale();
- while (iter.hasNext()) {
- LibraryActivityDTO activity = (LibraryActivityDTO) iter.next();
- // update the activity fields
- String languageFilename = activity.getLanguageFile();
- if ( languageFilename != null ) {
- MessageSource toolMessageSource = toolActMessageService.getMessageService(languageFilename);
- if ( toolMessageSource != null ) {
- activity.setActivityTitle(toolMessageSource.getMessage(Activity.I18N_TITLE,null,activity.getActivityTitle(),locale));
- activity.setDescription(toolMessageSource.getMessage(Activity.I18N_DESCRIPTION,null,activity.getDescription(),locale));
- activity.setHelpText(toolMessageSource.getMessage(Activity.I18N_HELP_TEXT,null,activity.getHelpText(),locale));
- } else {
- log.warn("Unable to internationalise the library activity "+activity.getActivityID()+" "+activity.getActivityTitle()
- +" message file "+activity.getLanguageFile()+". Activity Message source not available");
- }
-
- // update the tool field - note only tool activities have a tool entry.
- if ( activity.getActivityTypeID()!=null && Activity.TOOL_ACTIVITY_TYPE == activity.getActivityTypeID().intValue() ) {
- languageFilename = activity.getToolLanguageFile();
- toolMessageSource = toolActMessageService.getMessageService(languageFilename);
- if ( toolMessageSource != null ) {
- activity.setToolDisplayName(toolMessageSource.getMessage(Tool.I18N_DISPLAY_NAME,null,activity.getToolDisplayName(),locale));
- } else {
- log.warn("Unable to internationalise the library activity "+activity.getActivityID()+" "+activity.getActivityTitle()
- +" message file "+activity.getLanguageFile()+". Tool Message source not available");
- }
- }
- } else {
- log.warn("Unable to internationalise the library activity "+activity.getActivityID()+" "+activity.getActivityTitle()
- +". No message file supplied.");
- }
- }
- }
/** @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getToolContentID(java.lang.Long) */
Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
diff -u -r6d023d698235f9bc14e1c877e325283741aebe83 -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 6d023d698235f9bc14e1c877e325283741aebe83)
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision cb333c89e9d244ab2204e9bc8cb14d6dd613603e)
@@ -120,6 +120,8 @@
+
+
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ILearningDesignService.java
===================================================================
diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ILearningDesignService.java (.../ILearningDesignService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ILearningDesignService.java (.../ILearningDesignService.java) (revision cb333c89e9d244ab2204e9bc8cb14d6dd613603e)
@@ -23,10 +23,13 @@
/* $$Id$$ */
package org.lamsfoundation.lams.learningdesign.service;
+import java.io.IOException;
+import java.util.ArrayList;
import java.util.Vector;
import org.lamsfoundation.lams.learningdesign.LearningDesign;
import org.lamsfoundation.lams.learningdesign.dto.LearningDesignDTO;
+import org.lamsfoundation.lams.learningdesign.dto.LearningLibraryDTO;
import org.lamsfoundation.lams.learningdesign.dto.ValidationErrorDTO;
/**
@@ -51,4 +54,10 @@
*/
public Vector validateLearningDesign(LearningDesign learningDesign);
+ /**
+ * Get the DTO list of all learning libraries.
+ * @return list of LearningLibraryDTO
+ * @throws IOException
+ */
+ public ArrayList getAllLearningLibraryDetails() throws IOException;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java
===================================================================
diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -rcb333c89e9d244ab2204e9bc8cb14d6dd613603e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision cb333c89e9d244ab2204e9bc8cb14d6dd613603e)
@@ -23,20 +23,34 @@
/* $$Id$$ */
package org.lamsfoundation.lams.learningdesign.service;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
import java.util.Set;
import java.util.Vector;
+import org.apache.log4j.Logger;
import org.lamsfoundation.lams.learningdesign.Activity;
import org.lamsfoundation.lams.learningdesign.Grouping;
import org.lamsfoundation.lams.learningdesign.LearningDesign;
+import org.lamsfoundation.lams.learningdesign.LearningLibrary;
import org.lamsfoundation.lams.learningdesign.OptionsActivity;
import org.lamsfoundation.lams.learningdesign.Transition;
import org.lamsfoundation.lams.learningdesign.dao.hibernate.ActivityDAO;
import org.lamsfoundation.lams.learningdesign.dao.hibernate.LearningDesignDAO;
+import org.lamsfoundation.lams.learningdesign.dao.hibernate.LearningLibraryDAO;
import org.lamsfoundation.lams.learningdesign.dto.LearningDesignDTO;
+import org.lamsfoundation.lams.learningdesign.dto.LearningLibraryDTO;
+import org.lamsfoundation.lams.learningdesign.dto.LibraryActivityDTO;
import org.lamsfoundation.lams.learningdesign.dto.ValidationErrorDTO;
+import org.lamsfoundation.lams.tool.Tool;
+import org.lamsfoundation.lams.util.ILoadedMessageSourceService;
import org.lamsfoundation.lams.util.MessageService;
+import org.springframework.context.MessageSource;
+import org.springframework.context.i18n.LocaleContextHolder;
/**
* The LearningDesignService class contains methods which applies validation rules
@@ -52,12 +66,15 @@
*/
public class LearningDesignService implements ILearningDesignService{
- //protected Logger log = Logger.getLogger(LearningDesignService.class);
+ protected Logger log = Logger.getLogger(LearningDesignService.class);
protected MessageService messageService;
protected LearningDesignDAO learningDesignDAO;
protected ActivityDAO activityDAO;
+ protected LearningLibraryDAO learningLibraryDAO;
+ protected ILoadedMessageSourceService toolActMessageService;
+
/*
* Default constructor
*
@@ -83,6 +100,21 @@
return this.messageService;
}
+ /** Access a message service related to a programatically loaded message file.
+ * Authoring uses this to access the message files for tools and activities.
+ */
+ public ILoadedMessageSourceService getToolActMessageService() {
+ return toolActMessageService;
+ }
+
+ public void setToolActMessageService(ILoadedMessageSourceService toolActMessageService) {
+ this.toolActMessageService = toolActMessageService;
+ }
+
+ public void setLearningLibraryDAO(LearningLibraryDAO learningLibraryDAO) {
+ this.learningLibraryDAO = learningLibraryDAO;
+ }
+
/**********************************************
* Service Methods
* *******************************************/
@@ -388,5 +420,58 @@
}
-
+ public ArrayList getAllLearningLibraryDetails()throws IOException{
+ Iterator iterator= learningLibraryDAO.getAllLearningLibraries().iterator();
+ ArrayList libraries = new ArrayList();
+ while(iterator.hasNext()){
+ LearningLibrary learningLibrary = (LearningLibrary)iterator.next();
+ List templateActivities = activityDAO.getActivitiesByLibraryID(learningLibrary.getLearningLibraryId());
+
+ if (templateActivities!=null & templateActivities.size()==0)
+ {
+ log.error("Learning Library with ID " + learningLibrary.getLearningLibraryId() + " does not have a template activity");
+ }
+ // convert library to DTO format
+ LearningLibraryDTO libraryDTO = learningLibrary.getLearningLibraryDTO(templateActivities);
+ internationaliseActivities(libraryDTO.getTemplateActivities());
+ libraries.add(libraryDTO);
+ }
+ return libraries;
+ }
+
+ private void internationaliseActivities(Collection activities) {
+ Iterator iter = activities.iterator();
+ Locale locale = LocaleContextHolder.getLocale();
+ while (iter.hasNext()) {
+ LibraryActivityDTO activity = (LibraryActivityDTO) iter.next();
+ // update the activity fields
+ String languageFilename = activity.getLanguageFile();
+ if ( languageFilename != null ) {
+ MessageSource toolMessageSource = toolActMessageService.getMessageService(languageFilename);
+ if ( toolMessageSource != null ) {
+ activity.setActivityTitle(toolMessageSource.getMessage(Activity.I18N_TITLE,null,activity.getActivityTitle(),locale));
+ activity.setDescription(toolMessageSource.getMessage(Activity.I18N_DESCRIPTION,null,activity.getDescription(),locale));
+ activity.setHelpText(toolMessageSource.getMessage(Activity.I18N_HELP_TEXT,null,activity.getHelpText(),locale));
+ } else {
+ log.warn("Unable to internationalise the library activity "+activity.getActivityID()+" "+activity.getActivityTitle()
+ +" message file "+activity.getLanguageFile()+". Activity Message source not available");
+ }
+
+ // update the tool field - note only tool activities have a tool entry.
+ if ( activity.getActivityTypeID()!=null && Activity.TOOL_ACTIVITY_TYPE == activity.getActivityTypeID().intValue() ) {
+ languageFilename = activity.getToolLanguageFile();
+ toolMessageSource = toolActMessageService.getMessageService(languageFilename);
+ if ( toolMessageSource != null ) {
+ activity.setToolDisplayName(toolMessageSource.getMessage(Tool.I18N_DISPLAY_NAME,null,activity.getToolDisplayName(),locale));
+ } else {
+ log.warn("Unable to internationalise the library activity "+activity.getActivityID()+" "+activity.getActivityTitle()
+ +" message file "+activity.getLanguageFile()+". Tool Message source not available");
+ }
+ }
+ } else {
+ log.warn("Unable to internationalise the library activity "+activity.getActivityID()+" "+activity.getActivityTitle()
+ +". No message file supplied.");
+ }
+ }
+ }
}