Skip to content
Snippets Groups Projects
Commit 2b397cb8 authored by srosse's avatar srosse
Browse files

OO-2881 : don't set the showFeedback flag to true

parent c0e06a57
No related branches found
No related tags found
No related merge requests found
......@@ -76,6 +76,7 @@ import org.olat.ims.qti.editor.beecom.objects.SelectionOrdering;
import org.olat.ims.qti.fileresource.TestFileResource;
import org.olat.ims.qti.qpool.QTI12HtmlHandler;
import org.olat.ims.qti21.QTI21Constants;
import org.olat.ims.qti21.QTI21DeliveryOptions;
import org.olat.ims.qti21.model.IdentifierGenerator;
import org.olat.ims.qti21.model.xml.AssessmentHtmlBuilder;
import org.olat.ims.qti21.model.xml.AssessmentItemBuilder;
......@@ -149,12 +150,12 @@ public class QTI12To21Converter {
manifest = ManifestBuilder.createAssessmentTestBuilder();
}
public AssessmentTest convert(QTIEditorPackage qtiEditorPackage)
public AssessmentTest convert(QTIEditorPackage qtiEditorPackage, QTI21DeliveryOptions qti21Options)
throws URISyntaxException {
return convert(qtiEditorPackage.getBaseDir(), qtiEditorPackage.getQTIDocument());
return convert(qtiEditorPackage.getBaseDir(), qtiEditorPackage.getQTIDocument(), qti21Options);
}
public AssessmentTest convert(VFSContainer originalContainer, QTIDocument doc)
public AssessmentTest convert(VFSContainer originalContainer, QTIDocument doc, QTI21DeliveryOptions qti21Options)
throws URISyntaxException {
Assessment assessment = doc.getAssessment();
......@@ -172,12 +173,17 @@ public class QTI12To21Converter {
TestPart testPart = AssessmentTestFactory.createTestPart(assessmentTest);
ItemSessionControl itemSessionControl = testPart.getItemSessionControl();
Control tmpControl = QTIEditHelper.getControl(assessment);
if(tmpControl.getFeedback() == Control.CTRL_YES) {
itemSessionControl.setShowFeedback(Boolean.TRUE);
}
if(tmpControl.getSolution() == Control.CTRL_YES) {
itemSessionControl.setShowSolution(Boolean.TRUE);
}
if(qti21Options != null) {
qti21Options.setHideFeedbacks(false);
if(assessment.isInheritControls() && tmpControl.getFeedback() != Control.CTRL_YES) {
qti21Options.setHideFeedbacks(true);
}
}
AssessmentTestBuilder assessmentTestBuilder = new AssessmentTestBuilder(assessmentTest);
......
......@@ -61,6 +61,7 @@ import org.olat.ims.qti.editor.QTIEditHelper;
import org.olat.ims.qti.editor.QTIEditorPackage;
import org.olat.ims.qti.editor.beecom.objects.Item;
import org.olat.ims.qti21.QTI21Constants;
import org.olat.ims.qti21.QTI21DeliveryOptions;
import org.olat.ims.qti21.QTI21Service;
import org.olat.ims.qti21.model.QTI21QuestionType;
import org.olat.ims.qti21.model.xml.AssessmentItemBuilder;
......@@ -526,10 +527,10 @@ public class QTI21QPoolServiceProvider implements QPoolSPI {
*
* @param qtiEditorPackage
*/
public boolean convertFromEditorPackage(QTIEditorPackage qtiEditorPackage, File unzippedDirRoot, Locale locale) {
public boolean convertFromEditorPackage(QTIEditorPackage qtiEditorPackage, File unzippedDirRoot, Locale locale, QTI21DeliveryOptions qti21Options) {
try {
QTI12To21Converter converter = new QTI12To21Converter(unzippedDirRoot, locale);
converter.convert(qtiEditorPackage);
converter.convert(qtiEditorPackage, qti21Options);
return true;
} catch (URISyntaxException e) {
log.error("", e);
......
......@@ -147,7 +147,9 @@ public class QTI21AssessmentTestHandler extends FileHandler {
qpoolServiceProvider.exportToEditorPackage(repositoryDir, itemToImport.getItems(), locale);
} else if(createObject instanceof QTIEditorPackage) {
QTIEditorPackage testToConvert = (QTIEditorPackage)createObject;
qpoolServiceProvider.convertFromEditorPackage(testToConvert, repositoryDir, locale);
QTI21DeliveryOptions options = qtiService.getDeliveryOptions(re);
qpoolServiceProvider.convertFromEditorPackage(testToConvert, repositoryDir, locale, options);
qtiService.setDeliveryOptions(re, options);
} else if(createObject instanceof OLATResource) {
//convert a Onyx test in QTI 2.1
OLATResource onyxResource = (OLATResource)createObject;
......@@ -156,8 +158,10 @@ public class QTI21AssessmentTestHandler extends FileHandler {
if(OnyxModule.isOnyxTest((OLATResource)createObject)) {
copyOnyxResources(onyxResource, repositoryDir);
} else {
QTI21DeliveryOptions options = qtiService.getDeliveryOptions(re);
QTIEditorPackage testToConvert = TestFileResource.getQTIEditorPackageReader(onyxResource);
qpoolServiceProvider.convertFromEditorPackage(testToConvert, repositoryDir, locale);
qpoolServiceProvider.convertFromEditorPackage(testToConvert, repositoryDir, locale, options);
qtiService.setDeliveryOptions(re, options);
}
copyMetadata(onyxRe, re, repositoryDir);
} else {
......
......@@ -71,7 +71,7 @@ public class QTI12To21ConverterTest {
exportDir.mkdirs();
QTI12To21Converter converter = new QTI12To21Converter(exportDir, Locale.ENGLISH);
converter.convert(null, doc);
converter.convert(null, doc, null);
int validAssessmentItems = 0;
boolean validAssessmentTest = false;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment