Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java =================================================================== diff -u -racf48dfa2651bb60b7ea02898d804d79e444aa73 -ref5e87e691634eff411341802648d7deb8b4ad73 --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision acf48dfa2651bb60b7ea02898d804d79e444aa73) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/service/ScribeService.java (.../ScribeService.java) (revision ef5e87e691634eff411341802648d7deb8b4ad73) @@ -628,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 { @@ -653,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); }