Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java,v diff -u -r1.30.2.2 -r1.30.2.3 --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java 15 May 2015 04:46:42 -0000 1.30.2.2 +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java 19 Jun 2015 05:44:55 -0000 1.30.2.3 @@ -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); }