Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java,v diff -u -r1.17 -r1.18 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java 27 Jun 2005 04:04:58 -0000 1.17 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java 6 Jul 2005 01:57:10 -0000 1.18 @@ -26,7 +26,7 @@ import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.lesson.Lesson; -import org.lamsfoundation.lams.tool.service.LamsToolServiceException; +import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java,v diff -u -r1.21 -r1.22 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 29 Jun 2005 01:28:32 -0000 1.21 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java 6 Jul 2005 01:57:10 -0000 1.22 @@ -22,21 +22,20 @@ import java.io.IOException; import java.util.Date; -import java.util.Hashtable; import java.util.HashMap; import java.util.HashSet; +import java.util.Hashtable; import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.Vector; import org.apache.log4j.Logger; import org.lamsfoundation.lams.authoring.service.IAuthoringService; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.ComplexActivity; import org.lamsfoundation.lams.learningdesign.GateActivity; - - import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.ScheduleGateActivity; @@ -53,8 +52,10 @@ import org.lamsfoundation.lams.lesson.dao.ILessonDAO; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSession; +import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; +import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; -import org.lamsfoundation.lams.tool.service.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.WorkspaceFolder; @@ -72,8 +73,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; -import org.lamsfoundation.lams.learning.service.ILearnerService; - /** *

This is the major service facade for all monitoring functionalities. It is * configured as a Spring factory bean so as to utilize the Spring's IOC and @@ -243,8 +242,27 @@ Activity currentActivity = (Activity) i.next(); if (currentActivity.isToolActivity()) { - Long newContentId = lamsCoreToolService.notifyToolToCopyContent((ToolActivity) currentActivity); - ((ToolActivity) currentActivity).setToolContentId(newContentId); + try { + Long newContentId = newContentId = lamsCoreToolService.notifyToolToCopyContent((ToolActivity) currentActivity); + ((ToolActivity) currentActivity).setToolContentId(newContentId); + + } catch (DataMissingException e) { + String error = "Unable to initialise the lesson. Data is missing for activity "+currentActivity.getActivityUIID() + +" in learning design "+learningDesignId + +" default content may be missing for the tool. Error was " + +e.getMessage(); + log.error(error,e); + throw new MonitoringServiceException(error,e); + } catch (ToolException e) { + String error = "Unable to initialise the lesson. Tool encountered an error copying the data is missing for activity " + +currentActivity.getActivityUIID() + +" in learning design "+learningDesignId + +" default content may be missing for the tool. Error was " + +e.getMessage(); + log.error(error,e); + throw new MonitoringServiceException(error,e); + } + } } authoringService.updateLearningDesign(copiedLearningDesign); @@ -706,10 +724,20 @@ } catch (LamsToolServiceException e) { - throw new MonitoringServiceException("Error occurred at " + - "[initToolSessionFor]- Fail to call tool services",e); - } - } + String error = "Unable to initialise tool session. Fail to call tool services. Error was " + +e.getMessage(); + log.error(error,e); + throw new MonitoringServiceException(error,e); + } + catch (ToolException e) + { + String error = "Unable to initialise tool session. Tool encountered an error. Error was " + +e.getMessage(); + log.error(error,e); + throw new MonitoringServiceException(error,e); + } + } + /** * Returns whether we should initialize tool session or not. Tool sessions Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java,v diff -u -r1.4 -r1.5 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java 27 Jun 2005 04:08:45 -0000 1.4 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java 6 Jul 2005 01:57:53 -0000 1.5 @@ -36,7 +36,7 @@ import org.lamsfoundation.lams.monitoring.service.IMonitoringService; import org.lamsfoundation.lams.monitoring.service.MonitoringServiceProxy; -import org.lamsfoundation.lams.tool.service.LamsToolServiceException; +import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/Attic/TestMonitoringService.java,v diff -u -r1.22 -r1.23 --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java 27 Jun 2005 04:11:57 -0000 1.22 +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java 6 Jul 2005 01:58:19 -0000 1.23 @@ -32,7 +32,7 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.dao.ILessonDAO; import org.lamsfoundation.lams.lesson.dao.hibernate.LessonDAO; -import org.lamsfoundation.lams.tool.service.LamsToolServiceException; +import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;