Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputFactory.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputFactory.java,v diff -u -r1.2 -r1.3 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputFactory.java 7 Apr 2008 00:59:49 -0000 1.2 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputFactory.java 18 Jun 2008 02:01:42 -0000 1.3 @@ -72,28 +72,39 @@ public SortedMap getToolOutput(List names, IMcService mcService, Long toolSessionId, Long learnerId) { + TreeMap output = new TreeMap(); + McSession session = mcService.findMcSessionById(toolSessionId); - McQueUsr queUser = mcService.getMcUserBySession(learnerId, session.getUid()); + if ( session != null ) { - TreeMap output = new TreeMap(); - if ( names == null || names.contains(OUTPUT_NAME_LEARNER_MARK) ) { - output.put(OUTPUT_NAME_LEARNER_MARK, getLearnerMark(queUser) ); + McQueUsr queUser = mcService.getMcUserBySession(learnerId, session.getUid()); + if ( queUser != null ) { + + if ( names == null || names.contains(OUTPUT_NAME_LEARNER_MARK) ) { + output.put(OUTPUT_NAME_LEARNER_MARK, getLearnerMark(queUser) ); + } + if ( names == null || names.contains(OUTPUT_NAME_LEARNER_ALL_CORRECT) ) { + output.put(OUTPUT_NAME_LEARNER_ALL_CORRECT, getLearnerAllCorrect(mcService, queUser) ); + } + } } - if ( names == null || names.contains(OUTPUT_NAME_LEARNER_ALL_CORRECT) ) { - output.put(OUTPUT_NAME_LEARNER_ALL_CORRECT, getLearnerAllCorrect(mcService, queUser) ); - } + return output; } public ToolOutput getToolOutput(String name, IMcService mcService, Long toolSessionId, Long learnerId) { if ( name != null ) { McSession session = mcService.findMcSessionById(toolSessionId); - McQueUsr queUser = mcService.getMcUserBySession(learnerId, session.getUid()); - - if ( name.equals(OUTPUT_NAME_LEARNER_MARK) ) { - return getLearnerMark(queUser); - } else if ( name.equals(OUTPUT_NAME_LEARNER_ALL_CORRECT) ){ - return getLearnerAllCorrect(mcService, queUser); + if ( session != null ) { + McQueUsr queUser = mcService.getMcUserBySession(learnerId, session.getUid()); + + if ( queUser != null ) { + if ( name.equals(OUTPUT_NAME_LEARNER_MARK) ) { + return getLearnerMark(queUser); + } else if ( name.equals(OUTPUT_NAME_LEARNER_ALL_CORRECT) ){ + return getLearnerAllCorrect(mcService, queUser); + } + } } } return null;