/** * Add/insert the index-th value. * * @param itemXml the item xml * @param xpath * @param value * @param isInsert * @param index the numnber * @param identifier set this attribute if not null) */ private void addIndexedEntry( Item itemXml, String xpath, String value, boolean isInsert, int index, String identifier) { String indexBrackets = "[" + index + "]"; String thisNode = xpath + indexBrackets; String thisNodeIdentity = thisNode + "/@identity"; if (isInsert) { log.debug("Adding entry: " + thisNode); itemXml.insertElement(thisNode, xpath, "itemfeedback"); } else { log.debug("Updating entry: " + thisNode); } try { if (value == null) { value = ""; } itemXml.update(thisNode, value); log.debug("updated value in addIndexedEntry()"); } catch (Exception ex) { log.error("Cannot update value in addIndexedEntry(): " + ex); } }
/** * Set the (one or more) item texts. Valid for single and multiple texts. * * @todo FIB, MATCHING TEXT * @param itemXml * @param itemText text to be updated */ public void setItemTexts(ArrayList itemTextList, Item itemXml) { String xPath = "assessmentItem/itemBody"; if (itemTextList.size() < 1) { return; } String text = ((ItemTextIfc) itemTextList.get(0)).getText(); log.debug("item text: " + text); if (itemXml.isFIB()) { // process fib // return; } if (itemXml.isFIN()) { // process fin // return; } try { itemXml.update(xPath, text); } catch (Exception ex) { throw new RuntimeException(ex); } }