Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -rb3dbc137e110d79b6aae154a808b7ca6e7de403d -r49de4737694691f60400ecd00745eaa646bcd724 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision b3dbc137e110d79b6aae154a808b7ca6e7de403d) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision 49de4737694691f60400ecd00745eaa646bcd724) @@ -67,6 +67,8 @@ import org.lamsfoundation.lams.themes.dto.CSSThemeBriefDTO; import org.lamsfoundation.lams.themes.dto.CSSThemeDTO; import org.lamsfoundation.lams.tool.dao.hibernate.ToolDAO; +import org.lamsfoundation.lams.tool.ToolContentIDGenerator; +import org.lamsfoundation.lams.tool.Tool; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.WorkspaceFolder; import org.lamsfoundation.lams.usermanagement.dao.hibernate.UserDAO; @@ -99,6 +101,8 @@ protected GroupDAO groupDAO; protected ICSSThemeDAO themeDAO; + protected ToolContentIDGenerator contentIDGenerator; + public AuthoringService(){ } @@ -180,6 +184,15 @@ public void setThemeDAO(ICSSThemeDAO themeDAO) { this.themeDAO = themeDAO; } + + /** + * @param contentIDGenerator The contentIDGenerator to set. + */ + public void setContentIDGenerator(ToolContentIDGenerator contentIDGenerator) + { + this.contentIDGenerator = contentIDGenerator; + } + /** * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getLearningDesign(java.lang.Long) */ @@ -634,4 +647,22 @@ } + /** @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getToolContentID(java.lang.Long) */ + + public String getToolContentID(Long toolID) throws IOException + { + Tool tool = toolDAO.getToolByID(toolID); + if (tool == null) + { + log.error("The toolID "+ toolID + " is not valid. A Tool with tool id " + toolID + " does not exist on the database."); + return FlashMessage.getNoSuchTool("getToolContentID", toolID).serializeMessage(); + } + + Long newContentID = contentIDGenerator.getNextToolContentIDFor(tool); + flashMessage = new FlashMessage("getToolContentID", newContentID); + + return flashMessage.serializeMessage(); + } + + } \ No newline at end of file Index: lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java =================================================================== diff -u -r8628fad036956ba43219abfd392f4913069c3dd8 -r49de4737694691f60400ecd00745eaa646bcd724 --- lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java (.../AuthoringAction.java) (revision 8628fad036956ba43219abfd392f4913069c3dd8) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java (.../AuthoringAction.java) (revision 49de4737694691f60400ecd00745eaa646bcd724) @@ -188,5 +188,17 @@ return outputPacket(mapping, request, response, message, "message"); } + public ActionForward getToolContentID(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) throws IOException, ServletException { + + Long toolID = new Long(WebUtil.readLongParam(request,"toolID")); + IAuthoringService authoringService = getAuthoringService(); + String message = authoringService.getToolContentID(toolID); + return outputPacket(mapping, request, response, message, "details"); + + } + }