public void doIndexCourse(SearchResourceContext repositoryResourceContext, ICourse course, CourseNode courseNode, OlatFullIndexer indexWriter) throws IOException,InterruptedException {
// loop over all child nodes
int childCount = courseNode.getChildCount();
for (int i=0;i<childCount; i++) {
INode childCourseNode = courseNode.getChildAt(i);
if (childCourseNode instanceof CourseNode) {
if (log.isDebug()) log.debug("Analyse CourseNode child ... childCourseNode=" + childCourseNode);
// go further with resource
CourseNodeIndexer courseNodeIndexer = CourseNodeIndexerFactory.getInstance().getCourseNodeIndexer( (CourseNode)childCourseNode);
if (courseNodeIndexer != null) {
if (log.isDebug()) log.debug("courseNodeIndexer=" + courseNodeIndexer);
try {
courseNodeIndexer.doIndex(repositoryResourceContext, course, (CourseNode)childCourseNode, indexWriter);
} catch (Exception e) {
log.warn("Can not index course node=" + childCourseNode.getIdent(), e);
}
} else {
if (log.isDebug()) log.debug("No CourseNodeIndexer for " + childCourseNode);
// go further, index my child nodes
doIndexCourse(repositoryResourceContext, course, (CourseNode)childCourseNode, indexWriter);