diff --git a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java index 161fe34e907f..b5ea2396c9f2 100644 --- a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java +++ b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java @@ -1272,7 +1272,27 @@ public String merge(String siteId, Element root, String archivePath, String from String pagePosition = element.getAttribute("pagePosition"); String pageVisibility = element.getAttribute("pageVisibility"); - if(toolTitle != null) { + NodeList lessonBuilderTools = root.getElementsByTagName("lessonbuilder"); + boolean lessonHasContent = false; + + for (int toolIndex = 0; toolIndex < lessonBuilderTools.getLength() && !lessonHasContent; toolIndex++) { + Node lessonBuilderNode = lessonBuilderTools.item(toolIndex); + if (lessonBuilderNode.getNodeType() == Node.ELEMENT_NODE) { + Element lessonBuilderElement = (Element) lessonBuilderNode; + NodeList lessonPages = lessonBuilderElement.getElementsByTagName("page"); + + for (int pageIndex = 0; pageIndex < lessonPages.getLength() && !lessonHasContent; pageIndex++) { + Element currentPage = (Element) lessonPages.item(pageIndex); + NodeList pageItems = currentPage.getElementsByTagName("item"); + + if (pageItems != null && pageItems.getLength() > 0) { + lessonHasContent = true; + } + } + } + } + + if(toolTitle != null && lessonHasContent) { Tool tr = toolManager.getTool(LessonBuilderConstants.TOOL_ID); SitePage page = null; ToolConfiguration tool = null;