Search in sources :

Example 51 with OLATRuntimeException

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;
}
Also used : BufferedInputStream(java.io.BufferedInputStream) OLATRuntimeException(org.olat.core.logging.OLATRuntimeException) IOException(java.io.IOException) Document(org.dom4j.Document) XMLParser(org.olat.core.util.xml.XMLParser) IMSEntityResolver(org.olat.ims.resources.IMSEntityResolver) FileInputStream(java.io.FileInputStream) AssertException(org.olat.core.logging.AssertException) IOException(java.io.IOException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) OLATRuntimeException(org.olat.core.logging.OLATRuntimeException)

Example 52 with OLATRuntimeException

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;
}
Also used : ModuleConfiguration(org.olat.modules.ModuleConfiguration) OLATRuntimeException(org.olat.core.logging.OLATRuntimeException)

Example 53 with OLATRuntimeException

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;
}
Also used : HashMap(java.util.HashMap) QTIItemObject(org.olat.ims.qti.export.helper.QTIItemObject) OLATRuntimeException(org.olat.core.logging.OLATRuntimeException)

Example 54 with OLATRuntimeException

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);
}
Also used : OLATRuntimeException(org.olat.core.logging.OLATRuntimeException) QTIItemObject(org.olat.ims.qti.export.helper.QTIItemObject)

Example 55 with OLATRuntimeException

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;
}
Also used : BufferedInputStream(java.io.BufferedInputStream) OLATRuntimeException(org.olat.core.logging.OLATRuntimeException) BufferedInputStream(java.io.BufferedInputStream) ObjectInputStream(java.io.ObjectInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) Document(org.dom4j.Document) XMLParser(org.olat.core.util.xml.XMLParser) File(java.io.File) IMSEntityResolver(org.olat.ims.resources.IMSEntityResolver) FileInputStream(java.io.FileInputStream) IOException(java.io.IOException) OLATRuntimeException(org.olat.core.logging.OLATRuntimeException)

Aggregations

OLATRuntimeException (org.olat.core.logging.OLATRuntimeException)268 IOException (java.io.IOException)104 File (java.io.File)50 ModuleConfiguration (org.olat.modules.ModuleConfiguration)26 ArrayList (java.util.ArrayList)22 AssertException (org.olat.core.logging.AssertException)22 FileOutputStream (java.io.FileOutputStream)20 OutputStream (java.io.OutputStream)20 Properties (java.util.Properties)20 FileInputStream (java.io.FileInputStream)18 HashMap (java.util.HashMap)18 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)18 QTIItemObject (org.olat.ims.qti.export.helper.QTIItemObject)18 DefaultElement (org.dom4j.tree.DefaultElement)16 Element (org.jdom.Element)16 InputStream (java.io.InputStream)14 BufferedInputStream (java.io.BufferedInputStream)12 List (java.util.List)12 Document (org.dom4j.Document)12 CPItem (org.olat.ims.cp.objects.CPItem)12