use of org.olat.core.logging.OLATRuntimeException in project OpenOLAT by OpenOLAT.
the class ScormCPManifestTreeModel method loadDocument.
private Document loadDocument(File documentF) {
FileInputStream in = null;
BufferedInputStream bis = null;
Document doc = null;
try {
in = new FileInputStream(documentF);
bis = new BufferedInputStream(in);
XMLParser xmlParser = new XMLParser(new IMSEntityResolver());
doc = xmlParser.parse(bis, false);
} catch (IOException e) {
throw new OLATRuntimeException(ScormCPManifestTreeModel.class, "could not read and parse from file " + documentF.getAbsolutePath(), e);
} finally {
try {
if (in != null)
in.close();
if (bis != null)
bis.close();
} catch (Exception e) {
// we did our best to close the inputStream
}
}
return doc;
}
use of org.olat.core.logging.OLATRuntimeException in project OpenOLAT by OpenOLAT.
the class TACourseNode method getMaxScoreConfiguration.
/**
* @see org.olat.course.nodes.AssessableCourseNode#getMaxScoreConfiguration()
*/
@Override
public Float getMaxScoreConfiguration() {
if (!hasScoreConfigured()) {
throw new OLATRuntimeException(TACourseNode.class, "getMaxScore not defined when hasScore set to false", null);
}
ModuleConfiguration config = getModuleConfiguration();
Float max = (Float) config.get(MSCourseNode.CONFIG_KEY_SCORE_MAX);
return max;
}
use of org.olat.core.logging.OLATRuntimeException in project OpenOLAT by OpenOLAT.
the class QTIArchiver method getQTIItemConfigs.
public static Map<Class<?>, QTIExportItemFormatConfig> getQTIItemConfigs(List<QTIItemObject> itemList) {
Map<Class<?>, QTIExportItemFormatConfig> itConfigs = new HashMap<>();
for (Iterator<QTIItemObject> iter = itemList.iterator(); iter.hasNext(); ) {
QTIItemObject item = iter.next();
if (item.getItemIdent().startsWith(ItemParser.ITEM_PREFIX_SCQ)) {
if (itConfigs.get(QTIExportSCQItemFormatConfig.class) == null) {
QTIExportSCQItemFormatConfig confSCQ = new QTIExportSCQItemFormatConfig(true, false, false, false);
itConfigs.put(QTIExportSCQItemFormatConfig.class, confSCQ);
}
} else if (item.getItemIdent().startsWith(ItemParser.ITEM_PREFIX_MCQ)) {
if (itConfigs.get(QTIExportMCQItemFormatConfig.class) == null) {
QTIExportMCQItemFormatConfig confMCQ = new QTIExportMCQItemFormatConfig(true, false, false, false);
itConfigs.put(QTIExportMCQItemFormatConfig.class, confMCQ);
}
} else if (item.getItemIdent().startsWith(ItemParser.ITEM_PREFIX_KPRIM)) {
if (itConfigs.get(QTIExportKPRIMItemFormatConfig.class) == null) {
QTIExportKPRIMItemFormatConfig confKPRIM = new QTIExportKPRIMItemFormatConfig(true, false, false, false);
itConfigs.put(QTIExportKPRIMItemFormatConfig.class, confKPRIM);
}
} else if (item.getItemIdent().startsWith(ItemParser.ITEM_PREFIX_ESSAY)) {
if (itConfigs.get(QTIExportEssayItemFormatConfig.class) == null) {
QTIExportEssayItemFormatConfig confEssay = new QTIExportEssayItemFormatConfig(true, false);
itConfigs.put(QTIExportEssayItemFormatConfig.class, confEssay);
}
} else if (item.getItemIdent().startsWith(ItemParser.ITEM_PREFIX_FIB)) {
if (itConfigs.get(QTIExportFIBItemFormatConfig.class) == null) {
QTIExportFIBItemFormatConfig confFIB = new QTIExportFIBItemFormatConfig(true, false, false);
itConfigs.put(QTIExportFIBItemFormatConfig.class, confFIB);
}
} else // if cannot find the type via the ItemParser, look for the QTIItemObject type
if (item.getItemType().equals(QTIItemObject.TYPE.A)) {
QTIExportEssayItemFormatConfig confEssay = new QTIExportEssayItemFormatConfig(true, false);
itConfigs.put(QTIExportEssayItemFormatConfig.class, confEssay);
} else if (item.getItemType().equals(QTIItemObject.TYPE.R)) {
QTIExportSCQItemFormatConfig confSCQ = new QTIExportSCQItemFormatConfig(true, false, false, false);
itConfigs.put(QTIExportSCQItemFormatConfig.class, confSCQ);
} else if (item.getItemType().equals(QTIItemObject.TYPE.C)) {
QTIExportMCQItemFormatConfig confMCQ = new QTIExportMCQItemFormatConfig(true, false, false, false);
itConfigs.put(QTIExportMCQItemFormatConfig.class, confMCQ);
} else if (item.getItemType().equals(QTIItemObject.TYPE.B)) {
QTIExportFIBItemFormatConfig confFIB = new QTIExportFIBItemFormatConfig(true, false, false);
itConfigs.put(QTIExportFIBItemFormatConfig.class, confFIB);
} else {
throw new OLATRuntimeException(null, "Can not resolve QTIItem type", null);
}
}
return itConfigs;
}
use of org.olat.core.logging.OLATRuntimeException in project OpenOLAT by OpenOLAT.
the class QTIExportFormatterCSVType1 method closeReport.
public void closeReport() {
if (qtiItemObjectList == null) {
throw new OLATRuntimeException(null, "Can not format report when qtiItemObjectList is null", null);
}
String legend = translator.translate("legend");
sb.append(car + car);
sb.append(legend);
sb.append(car + car);
int y = 1;
for (Iterator<QTIItemObject> iter = qtiItemObjectList.iterator(); iter.hasNext(); ) {
QTIItemObject element = iter.next();
sb.append(element.getItemIdent());
sb.append(sep);
sb.append(emb);
sb.append(escape(element.getItemTitle()));
sb.append(emb);
sb.append(car);
sb.append(sep + sep);
sb.append("minValue");
sb.append(sep);
sb.append(element.getItemMinValue());
sb.append(car);
sb.append(sep + sep);
sb.append("maxValue");
sb.append(sep);
sb.append(element.getItemMaxValue());
sb.append(car);
sb.append(sep + sep);
sb.append("cutValue");
sb.append(sep);
sb.append(element.getItemCutValue());
sb.append(car);
// CELFI#107
sb.append(sep + sep + sep + sep);
String question = element.getQuestionText();
if (tagless) {
question = FilterFactory.getXSSFilter(-1).filter(question);
question = FilterFactory.getHtmlTagsFilter().filter(question);
}
question = StringEscapeUtils.unescapeHtml(question);
sb.append(question);
sb.append(car);
// CELFI#107 END
List<String> responseLabelMaterials = element.getResponseLabelMaterials();
for (int i = 0; i < element.getResponseIdentifier().size(); i++) {
sb.append(sep + sep);
sb.append(y);
sb.append("_");
sb.append(element.getItemType());
sb.append(i + 1);
sb.append(sep);
sb.append(element.getResponseIdentifier().get(i));
sb.append(sep);
if (responseLabelMaterials != null) {
String s = responseLabelMaterials.get(i);
s = StringEscapeUtils.unescapeHtml(s);
if (tagless) {
s = s.replaceAll("\\<.*?\\>", "");
}
sb.append(Formatter.stripTabsAndReturns(s));
}
sb.append(car);
}
y++;
}
sb.append(car + car);
sb.append("SCQ");
sb.append(sep);
sb.append("Single Choice Question");
sb.append(car);
sb.append("MCQ");
sb.append(sep);
sb.append("Multiple Choice Question");
sb.append(car);
sb.append("FIB");
sb.append(sep);
sb.append("Fill in the blank");
sb.append(car);
sb.append("ESS");
sb.append(sep);
sb.append("Essay");
sb.append(car);
sb.append("KPR");
sb.append(sep);
sb.append("Kprim (K-Type)");
sb.append(car + car);
sb.append("R:");
sb.append(sep);
sb.append("Radio button (SCQ)");
sb.append(car);
sb.append("C:");
sb.append(sep);
sb.append("Check box (MCQ or KPR)");
sb.append(car);
sb.append("B:");
sb.append(sep);
sb.append("Blank (FIB)");
sb.append(car);
sb.append("A:");
sb.append(sep);
sb.append("Area (ESS)");
sb.append(car + car);
sb.append("x_Ry");
sb.append(sep);
sb.append("Radio Button y of SCQ x, e.g. 1_R1");
sb.append(car);
sb.append("x_Cy");
sb.append(sep);
sb.append("Check Box y of MCQ x or two Radio Buttons y of KPR x, e.g. 3_C2");
sb.append(car);
sb.append("x_By");
sb.append(sep);
sb.append("Blank y of FIB x, e.g. 17_B2");
sb.append(car);
sb.append("x_Ay");
sb.append(sep);
sb.append("Area y of ESS x, e.g. 4_A1");
sb.append(car + car);
sb.append("Kprim:");
sb.append(sep);
sb.append("'+' = yes");
sb.append(sep);
sb.append("'-' = no");
sb.append(sep);
sb.append("'.' = no answer");
sb.append(sep);
}
use of org.olat.core.logging.OLATRuntimeException in project OpenOLAT by OpenOLAT.
the class FilePersister method retreiveResultsReporting.
/**
* Retreive results for this user/aiid
*
* @param type The type of results
* @return
*/
public static Document retreiveResultsReporting(Identity subj, String type, long aiid) {
File fUserdataRoot = new File(WebappHelper.getUserDataRoot());
String path = RES_REPORTING + File.separator + subj.getName() + File.separator + type + File.separator + aiid + ".xml";
File fDoc = new File(fUserdataRoot, path);
Document doc = null;
try {
InputStream is = new FileInputStream(fDoc);
BufferedInputStream bis = new BufferedInputStream(is);
XMLParser xmlParser = new XMLParser(new IMSEntityResolver());
doc = xmlParser.parse(bis, false);
is.close();
bis.close();
} catch (Exception e) {
throw new OLATRuntimeException(FilePersister.class, "Error retrieving results reporting for subject: '" + subj.getName() + "'; assessment id: '" + aiid + "'", e);
}
return doc;
}
Aggregations