private Map<String, Object> getIndentednodeRendererMap(int row) {
if (row>=orderedNodesList_.size()) {
throw new IllegalStateException("row count too big: "+row+", only having "+orderedNodesList_.size()+" elements");
}
CourseNode node = orderedNodesList_.get(row);
int recursionLevel = 0;
INode parent = node.getParent();
while(parent!=null) {
recursionLevel++;
parent = parent.getParent();
}
// Store node data in hash map. This hash map serves as data model for
// the user assessment overview table. Leave user data empty since not used in
// this table. (use only node data)
Map<String,Object> nodeData = new HashMap<String, Object>();
// indent
nodeData.put(AssessmentHelper.KEY_INDENT, new Integer(recursionLevel));
// course node data
nodeData.put(AssessmentHelper.KEY_TYPE, node.getType());
nodeData.put(AssessmentHelper.KEY_TITLE_SHORT, node.getShortTitle());
nodeData.put(AssessmentHelper.KEY_TITLE_LONG, node.getLongTitle());
nodeData.put(AssessmentHelper.KEY_IDENTIFYER, node.getIdent());
// plus the node
nodeData.put(StatisticResult.KEY_NODE, node);
return nodeData;
}