diff --git a/pom.xml b/pom.xml index edddc98e5eb7a46ebb5a84130b113e61e026e3b9..887b702b880d5db3993e0d76b3d0048b0ab86bf3 100644 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ <version.selenium>2.53.1</version.selenium> <version.drone>2.0.1.Final</version.drone> <activemq.version>5.11.1</activemq.version> - <qtiworks.version>1.0.3</qtiworks.version> + <qtiworks.version>1.0.4</qtiworks.version> <!-- properties for testing and Q&A --> <!-- by default no tests are executed so far (April 2011). Use appropriate profiles and properties on the command line --> diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java index 4aa3c89f5295424111aa5a948045d10e0acff902..997050dd280c3d5515284c5c2c5af3780c8ada54 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java @@ -324,7 +324,7 @@ public class AssessmentTestDisplayController extends BasicController implements lastEvent = new CandidateEvent(candidateSession, testEntry, entry); lastEvent.setTestEventType(CandidateTestEventType.ITEM_EVENT); - testSessionController = resumeSession(); + testSessionController = resumeSession(ureq); } } @@ -448,6 +448,9 @@ public class AssessmentTestDisplayController extends BasicController implements return false; } + testSessionController.touchDurations(currentRequestTimestamp); + testSessionController.suspendTestSession(requestTimestamp); + TestSessionState testSessionState = testSessionController.getTestSessionState(); TestPlanNodeKey currentItemKey = testSessionState.getCurrentItemKey(); if(currentItemKey == null) { @@ -1406,9 +1409,12 @@ public class AssessmentTestDisplayController extends BasicController implements return result; } - private TestSessionController resumeSession() { + private TestSessionController resumeSession(UserRequest ureq) { + Date currentRequestTimestamp = ureq.getRequestTimestamp(); + final NotificationRecorder notificationRecorder = new NotificationRecorder(NotificationLevel.INFO); TestSessionController controller = createTestSessionController(notificationRecorder); + controller.unsuspendTestSession(currentRequestTimestamp); TestSessionState testSessionState = controller.getTestSessionState(); TestPlanNodeKey currentItemKey = testSessionState.getCurrentItemKey(); @@ -1419,7 +1425,7 @@ public class AssessmentTestDisplayController extends BasicController implements if(itemProcessingContext instanceof ItemSessionController && itemSessionState.isSuspended()) { ItemSessionController itemSessionController = (ItemSessionController)itemProcessingContext; - itemSessionController.unsuspendItemSession(new Date()); + itemSessionController.unsuspendItemSession(currentRequestTimestamp); } }