Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java =================================================================== diff -u -r02ce51e45612531c5ea14bcb54bf9dfa28c18c50 -r1db67bd57ae1286a54e54dcccd6f3411cd474dcd --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 02ce51e45612531c5ea14bcb54bf9dfa28c18c50) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision 1db67bd57ae1286a54e54dcccd6f3411cd474dcd) @@ -24,8 +24,6 @@ package org.lamsfoundation.lams.tool.scribe.service; -import java.io.FileNotFoundException; -import java.io.IOException; import java.util.Date; import java.util.HashSet; import java.util.Hashtable; @@ -35,14 +33,11 @@ import java.util.SortedMap; import java.util.TreeMap; -import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.tomcat.util.json.JSONArray; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; -import org.lamsfoundation.lams.contentrepository.service.IRepositoryService; -import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException; import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService; @@ -72,12 +67,10 @@ import org.lamsfoundation.lams.tool.scribe.model.ScribeUser; import org.lamsfoundation.lams.tool.scribe.util.ScribeConstants; import org.lamsfoundation.lams.tool.scribe.util.ScribeException; -import org.lamsfoundation.lams.tool.scribe.util.ScribeToolContentHandler; import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.JsonUtil; import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.util.audit.IAuditService; import org.lamsfoundation.lams.util.wddx.WDDXProcessor; import org.lamsfoundation.lams.util.wddx.WDDXProcessorConversionException; @@ -635,7 +628,7 @@ /** Used by the Rest calls to create content. * Mandatory fields in toolContentJSON: "title", "instructions", "questions". * Questions must contain a JSONArray of JSONObject objects, which have the following mandatory fields: "displayOrder", "questionText" - * There should be at least one topic object in the "questions" array. + * There must be at least one topic object in the "questions" array. */ @Override public void createRestToolContent(Integer userID, Long toolContentID, JSONObject toolContentJSON) throws JSONException { @@ -660,21 +653,39 @@ scribe.setReflectOnActivity(JsonUtil.opt(toolContentJSON, RestTags.REFLECT_ON_ACTIVITY, Boolean.FALSE)); scribe.setShowAggregatedReports(JsonUtil.opt(toolContentJSON, "showAggregatedReports", Boolean.FALSE)); - Set headings = scribe.getScribeHeadings(); - if ( headings == null ) { - headings = new HashSet(); - scribe.setScribeHeadings(headings); + if ( scribe.getScribeHeadings() == null ) { + scribe.setScribeHeadings(new HashSet()); } + JSONArray topics = toolContentJSON.getJSONArray(RestTags.QUESTIONS); for ( int i=0; i 0 ) { + Iterator iter = defaultHeadings.iterator(); + if ( iter.hasNext() ) + heading.setHeadingText(((ScribeHeading)iter.next()).getHeadingText()); + } + if ( heading.getHeadingText() == null ) + heading.setHeadingText("Heading"); + + heading.setScribe(scribe); + scribe.getScribeHeadings().add(heading); + } saveOrUpdateScribe(scribe); }