Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e -rb01b55c28cf872fabcd146845693907e541fa38d Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== diff -u -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -984,7 +984,7 @@ private void buildParallelActivity(ParallelActivity activity,Hashtable activityDetails) throws WDDXProcessorConversionException{ } private void buildSequenceActivity(SequenceActivity activity,Hashtable activityDetails) throws WDDXProcessorConversionException{ - Integer firstActivityUIID = WDDXProcessor.convertToInteger(activityDetails, WDDXTAGS.FIRST_ACTIVITY_UIID); + Integer firstActivityUIID = WDDXProcessor.convertToInteger(activityDetails, WDDXTAGS.DEFAULT_ACTIVITY_UIID); if ( firstActivityUIID != null ) { firstChildToSequenceMap.put(firstActivityUIID, (SequenceActivity)activity); } Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -rfb25ea600503d3eea142b305696081f882d6552a -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision fb25ea600503d3eea142b305696081f882d6552a) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -34,6 +34,7 @@ import java.util.Map; import java.util.Properties; import java.util.Set; +import java.util.SortedMap; import java.util.Vector; import java.util.Date; @@ -288,22 +289,17 @@ * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getToolOutputDefinitions(java.lang.Long) */ public String getToolOutputDefinitions(Long toolContentID)throws IOException{ - // create dummy wddx packet to return - FlashMessage flashMessage = null; - ToolOutputDefinition definition = new ToolOutputDefinition(); - definition.setName("USERS_MARK"); - definition.setDescription("User's mark from a Quiz"); - definition.setType(OutputType.OUTPUT_LONG); - definition.setStartValue(new Long(0)); - definition.setEndValue(new Long(10)); + SortedMap defns = lamsCoreToolService.getOutputDefinitionsFromTool(toolContentID); - ToolOutputDefinitionDTO dto = new ToolOutputDefinitionDTO(definition); - - if(dto != null) { - flashMessage = new FlashMessage("getToolOutputDefinitions", dto); + ArrayList defnDTOList = new ArrayList(defns != null ? defns.size():0); + if ( defns != null ) { + for ( ToolOutputDefinition defn : defns.values() ) { + defnDTOList.add(new ToolOutputDefinitionDTO(defn)); + } } - + + FlashMessage flashMessage = new FlashMessage("getToolOutputDefinitions", defnDTOList); return flashMessage.serializeMessage(); } Index: lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java =================================================================== diff -u -rfb25ea600503d3eea142b305696081f882d6552a -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java (.../AuthoringAction.java) (revision fb25ea600503d3eea142b305696081f882d6552a) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java (.../AuthoringAction.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -104,7 +104,7 @@ wddxPacket = authoringService.getToolOutputDefinitions(toolContentID); } catch (Exception e) { - wddxPacket = handleException(e, "getLearningDesignDetails", authoringService).serializeMessage(); + wddxPacket = handleException(e, "getToolOutputDefinitions", authoringService).serializeMessage(); } return outputPacket(mapping, request, response, wddxPacket, "definitions"); } Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java =================================================================== diff -u -r3a00494e8ecd90ce49d79927d74b4a6b96ba853a -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision 3a00494e8ecd90ce49d79927d74b4a6b96ba853a) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/service/ChatService.java (.../ChatService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -34,6 +34,8 @@ import java.util.Map; import java.util.Properties; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -75,6 +77,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.chat.dao.IChatAttachmentDAO; @@ -368,6 +371,16 @@ throw new ToolException(e); } } + + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + /* ********** IChatService Methods ************************************** */ public Long getDefaultContentIdBySignature(String toolSignature) { Index: lams_tool_example/src/java/org/lamsfoundation/lams/tool/example/service/ExampleService.java =================================================================== diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_example/src/java/org/lamsfoundation/lams/tool/example/service/ExampleService.java (.../ExampleService.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf) +++ lams_tool_example/src/java/org/lamsfoundation/lams/tool/example/service/ExampleService.java (.../ExampleService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -25,10 +25,13 @@ package org.lamsfoundation.lams.tool.example.service; import java.util.List; +import java.util.SortedMap; +import java.util.TreeMap; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.example.dao.IExampleAttachmentDAO; @@ -139,6 +142,17 @@ public void importToolContent(Long toolContentId, Integer newUserUid, String toolContentPath) throws ToolException { // TODO Auto-generated method stub } + + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + + /* ******************* Used by Spring to "inject" the linked objects **************************/ public IExampleAttachmentDAO getExampleAttachmentDAO() { Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml =================================================================== diff -u -r512b26c09628c1832649c7e5e2ffc400837e7045 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml (.../forumApplicationContext.xml) (revision 512b26c09628c1832649c7e5e2ffc400837e7045) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/forumApplicationContext.xml (.../forumApplicationContext.xml) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -66,6 +66,10 @@ + + + + @@ -106,6 +110,7 @@ + Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputDefinitionFactory.java =================================================================== diff -u --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputDefinitionFactory.java (revision 0) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumOutputDefinitionFactory.java (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -0,0 +1,57 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.tool.forum.service; + +import java.util.SortedMap; +import java.util.TreeMap; + +import org.lamsfoundation.lams.tool.OutputDefinitionFactory; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; +import org.lamsfoundation.lams.tool.exception.ToolException; + +/** + * Creates the output definitions for forum. Eventually there will be a definition + * that outputs some or all of the forum queries, but for now there are just a couple of + * simple definitions so that we can try various features of the tool output based + * branching. + */ +public class ForumOutputDefinitionFactory extends OutputDefinitionFactory { + + /** The number of posts the learner has made in one forum activity. */ + protected final String OUTPUT_NAME_LEARNER_NUM_POSTS = "learner.number.of.posts"; + + /** + * @see org.lamsfoundation.lams.tool.OutputDefinitionFactory#getToolOutputDefinitions(java.lang.Object) + */ + public SortedMap getToolOutputDefinitions( + Object toolContentObject) throws ToolException { + TreeMap definitionMap = new TreeMap(); + + ToolOutputDefinition definition = buildLongOutputDefinition(OUTPUT_NAME_LEARNER_NUM_POSTS); + definitionMap.put(OUTPUT_NAME_LEARNER_NUM_POSTS, definition); + + return definitionMap; + } + +} Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java (.../ForumService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -63,6 +63,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -125,6 +126,7 @@ private IExportToolContentService exportContentService; private IUserManagementService userManagementService; private ICoreNotebookService coreNotebookService; + private ForumOutputDefinitionFactory forumOuputDefinitionFactory; //--------------------------------------------------------------------- // Inversion of Control Methods - Method injection @@ -141,6 +143,15 @@ this.messageService = messageService; } + public ForumOutputDefinitionFactory getForumOuputDefinitionFactory() { + return forumOuputDefinitionFactory; + } + + public void setForumOuputDefinitionFactory( + ForumOutputDefinitionFactory forumOuputDefinitionFactory) { + this.forumOuputDefinitionFactory = forumOuputDefinitionFactory; + } + public Forum updateForum(Forum forum) throws PersistenceException { forumDao.saveOrUpdate(forum); return forum; @@ -768,6 +779,20 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + Forum forum = getForum(toolContentId); + if ( forum == null ) { + forum = getDefaultForum(); + } + return getForumOuputDefinitionFactory().getToolOutputDefinitions(forum); + } + + /** @see org.lamsfoundation.lams.tool.ToolSessionManager#createToolSession(java.lang.Long, java.lang.String, java.lang.Long) */ public void createToolSession(Long toolSessionId, String toolSessionName, Long toolContentId) throws ToolException { ForumToolSession session = new ForumToolSession(); Index: lams_tool_lamc/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rf04e5eaf5a3b6bd01c39426e993609857686d936 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_lamc/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision f04e5eaf5a3b6bd01c39426e993609857686d936) +++ lams_tool_lamc/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -242,6 +242,7 @@ errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes label.learner.error =An error occurred: error.learner.required = The requested screen can not be presented since there are no learners in the activity. +output.desc.learner.mark = The mark for a user's last attempt at answering the question(s). +output.desc.learner.all.correct = The user selected the correct answer for all questions on the last attempt. - #======= End labels: Exported 235 labels for en AU ===== Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml =================================================================== diff -u -r81e4b129f71e63322c81c9016ec1ffa93f3c5944 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml (.../mcApplicationContext.xml) (revision 81e4b129f71e63322c81c9016ec1ffa93f3c5944) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/mcApplicationContext.xml (.../mcApplicationContext.xml) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -31,7 +31,7 @@ - + @@ -68,9 +68,13 @@ + - - + + + org.lamsfoundation.lams.tool.mc.ApplicationResources + + @@ -89,6 +93,7 @@ + @@ -107,5 +112,8 @@ + + + Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputDefinitionFactory.java =================================================================== diff -u --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputDefinitionFactory.java (revision 0) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/MCOutputDefinitionFactory.java (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -0,0 +1,61 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.tool.mc.service; + +import java.util.SortedMap; +import java.util.TreeMap; + +import org.lamsfoundation.lams.tool.OutputDefinitionFactory; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; +import org.lamsfoundation.lams.tool.mc.pojos.McContent; + +public class MCOutputDefinitionFactory extends OutputDefinitionFactory { + + protected final String OUTPUT_NAME_LEARNER_MARK = "learner.mark"; + protected final String OUTPUT_NAME_LEARNER_ALL_CORRECT = "learner.all.correct"; + + /** + * @see org.lamsfoundation.lams.tool.OutputDefinitionFactory#getToolOutputDefinitions(java.lang.Object) + */ + public SortedMap getToolOutputDefinitions(Object toolContentObject) { + + TreeMap definitionMap = new TreeMap(); + ToolOutputDefinition definition = buildBooleanOutputDefinition(OUTPUT_NAME_LEARNER_ALL_CORRECT); + definitionMap.put(OUTPUT_NAME_LEARNER_ALL_CORRECT, definition); + + if ( toolContentObject != null ) { + McContent content = (McContent) toolContentObject; + + definition = buildRangeDefinition(OUTPUT_NAME_LEARNER_MARK, + content.getMcQueContents().size() > 0 ? new Long(1) : new Long(0), + new Long ( content.getTotalMarksPossible().longValue() ) ); + definitionMap.put(OUTPUT_NAME_LEARNER_MARK, definition); + } else { + log.error("Unable to build content based output definitions for Multiple Choice as no tool content object supplied. Only including the definitions that do not need any content."); + } + + return definitionMap; + } + +} Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== diff -u -rdea5004371152a95bec9fc2db87a455fa84c0887 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision dea5004371152a95bec9fc2db87a455fa84c0887) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -27,6 +27,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import java.util.TreeSet; import java.util.Vector; @@ -56,6 +58,7 @@ import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -116,6 +119,7 @@ private IMcUserDAO mcUserDAO; private IMcUsrAttemptDAO mcUsrAttemptDAO; private IMcUploadedFileDAO mcUploadedFileDAO; + private MCOutputDefinitionFactory mcOutputDefinitionFactory; private IAuditService auditService; private IUserManagementService userManagementService; @@ -1544,6 +1548,20 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + McContent content = retrieveMc(toolContentId); + if ( content == null ) { + long defaultToolContentId = getToolDefaultContentIdBySignature(MY_SIGNATURE); + content = retrieveMc(defaultToolContentId); + } + return getMcOutputDefinitionFactory().getToolOutputDefinitions(content); + } + /** @@ -2181,10 +2199,21 @@ this.exportContentService = exportContentService; } + public MCOutputDefinitionFactory getMcOutputDefinitionFactory() { + return mcOutputDefinitionFactory; + } + + public void setMcOutputDefinitionFactory( + MCOutputDefinitionFactory mcOutputDefinitionFactory) { + this.mcOutputDefinitionFactory = mcOutputDefinitionFactory; + } + + + /* ===============Methods implemented from ToolContentImport102Manager =============== */ - /** + /** * Import the data for a 1.0.2 Chat */ public void import102ToolContent(Long toolContentId, UserDTO user, Hashtable importValues) Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -29,6 +29,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import java.util.TreeSet; import org.apache.log4j.Logger; @@ -55,6 +57,7 @@ import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -1490,6 +1493,15 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + /** * it is possible that the tool session id already exists in the tool sessions table * as the users from the same session are involved. Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -67,6 +67,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -896,6 +897,16 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + + public void copyToolContent(Long fromContentId, Long toContentId) throws ToolException { if (toContentId == null) throw new ToolException( Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/service/NoticeboardServicePOJO.java (.../NoticeboardServicePOJO.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -30,6 +30,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.ItemNotFoundException; @@ -44,6 +46,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -961,6 +964,18 @@ throw new ToolException(e); } } + + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + + + /* ===============Methods implemented from ToolSessionManager =============== */ /** @see org.lamsfoundation.lams.tool.ToolSessionManager#createToolSession(java.lang.Long, java.lang.String, java.lang.Long) */ Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/NotebookService.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/NotebookService.java (.../NotebookService.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/service/NotebookService.java (.../NotebookService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -30,6 +30,8 @@ import java.util.Hashtable; import java.util.List; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -54,6 +56,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -284,6 +287,15 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + /* ********** INotebookService Methods ********************************* */ public Long createNotebookEntry(Long id, Integer idType, String signature, Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -65,6 +65,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -318,6 +319,15 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + /* * (non-Javadoc) * Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -32,6 +32,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -56,6 +58,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -297,6 +300,15 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + /* ********** IScribeService Methods ************************************** */ public void createReportEntry(Long toolSessionId){ Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java (.../SurveyServiceImpl.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyServiceImpl.java (.../SurveyServiceImpl.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -61,6 +61,7 @@ import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.exception.DataMissingException; @@ -700,6 +701,15 @@ } } + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + public void copyToolContent(Long fromContentId, Long toContentId) throws ToolException { if (toContentId == null) throw new ToolException( Index: lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java =================================================================== diff -u -r9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6 -rb01b55c28cf872fabcd146845693907e541fa38d --- lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java (.../VoteServicePOJO.java) (revision 9481bb9c6f8c0e4d6fbed6b230a41c77feda64c6) +++ lams_tool_vote/src/java/org/lamsfoundation/lams/tool/vote/service/VoteServicePOJO.java (.../VoteServicePOJO.java) (revision b01b55c28cf872fabcd146845693907e541fa38d) @@ -27,6 +27,8 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import java.util.TreeSet; import java.util.Vector; @@ -56,6 +58,7 @@ import org.lamsfoundation.lams.tool.IToolVO; import org.lamsfoundation.lams.tool.ToolContentImport102Manager; import org.lamsfoundation.lams.tool.ToolContentManager; +import org.lamsfoundation.lams.tool.ToolOutputDefinition; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; import org.lamsfoundation.lams.tool.vote.util.VoteToolContentHandler; @@ -1691,7 +1694,16 @@ } } - /** + /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always + * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity + * such as the answer to the third question contains the word Koala and hence the need for the toolContentId + * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition + */ + public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException { + return new TreeMap(); + } + + /** * Implemented as part of the tool contract. Sets the defineLater to true on this content. * setAsDefineLater(Long toolContentID) throws DataMissingException, ToolException * @param toolContentID