use of uk.ac.ed.ph.jqtiplus.node.item.interaction.graphic.AssociableHotspot in project OpenOLAT by OpenOLAT.
the class GraphicGapMatchInteractionArchive method writeHeader2.
@Override
public int writeHeader2(AssessmentItem item, Interaction interaction, int itemNumber, int interactionNumber, Row dataRow, int col, OpenXMLWorkbook workbook) {
GraphicGapMatchInteraction gapMatchInteraction = (GraphicGapMatchInteraction) interaction;
List<AssociableHotspot> spots = gapMatchInteraction.getAssociableHotspots();
if (spots.size() > 0) {
for (int i = 0; i < spots.size(); i++) {
String header = (itemNumber + 1) + "_GG" + (i + 1);
dataRow.addCell(col++, header, workbook.getStyles().getHeaderStyle());
}
} else {
col++;
}
return col;
}
use of uk.ac.ed.ph.jqtiplus.node.item.interaction.graphic.AssociableHotspot in project openolat by klemens.
the class GraphicGapMatchInteractionArchive method writeInteractionData.
@Override
public int writeInteractionData(AssessmentItem item, AssessmentResponse response, Interaction interaction, int itemNumber, Row dataRow, int col, OpenXMLWorkbook workbook) {
GraphicGapMatchInteraction gapMatchInteraction = (GraphicGapMatchInteraction) interaction;
String stringuifiedResponse = response == null ? null : response.getStringuifiedResponse();
List<String> responses = CorrectResponsesUtil.parseResponses(stringuifiedResponse);
Set<String> rightAnswers = CorrectResponsesUtil.getCorrectDirectPairResponses(item, interaction, false);
List<AssociableHotspot> spots = gapMatchInteraction.getAssociableHotspots();
for (AssociableHotspot spot : spots) {
String spotIdentifier = spot.getIdentifier().toString();
String spotResponse = null;
for (String r : responses) {
if (r.endsWith(spotIdentifier)) {
spotResponse = r;
}
}
if (spotResponse != null) {
String[] spotResponsePair = spotResponse.split(" ");
if (spotResponsePair.length > 1) {
String stopResponseAssociation = spotResponsePair[0];
boolean correct = rightAnswers.contains(spotResponse);
if (correct) {
dataRow.addCell(col++, stopResponseAssociation, workbook.getStyles().getCorrectStyle());
} else {
dataRow.addCell(col++, stopResponseAssociation);
}
} else {
col++;
}
} else {
col++;
}
}
return col;
}
use of uk.ac.ed.ph.jqtiplus.node.item.interaction.graphic.AssociableHotspot in project openolat by klemens.
the class GraphicGapMatchInteractionArchive method writeHeader1.
@Override
public int writeHeader1(AssessmentItem item, Interaction interaction, int itemNumber, int interactionNumber, Row dataRow, int col, OpenXMLWorkbook workbook) {
if (interactionNumber == 0) {
String header = item.getTitle();
dataRow.addCell(col++, header, workbook.getStyles().getHeaderStyle());
}
GraphicGapMatchInteraction gapMatchInteraction = (GraphicGapMatchInteraction) interaction;
List<AssociableHotspot> spots = gapMatchInteraction.getAssociableHotspots();
if (spots.size() > 0) {
col += (spots.size() - 1);
}
return col;
}
use of uk.ac.ed.ph.jqtiplus.node.item.interaction.graphic.AssociableHotspot in project OpenOLAT by OpenOLAT.
the class GraphicGapMatchInteractionArchive method writeHeader1.
@Override
public int writeHeader1(AssessmentItem item, Interaction interaction, int itemNumber, int interactionNumber, Row dataRow, int col, OpenXMLWorkbook workbook) {
if (interactionNumber == 0) {
String header = item.getTitle();
dataRow.addCell(col++, header, workbook.getStyles().getHeaderStyle());
}
GraphicGapMatchInteraction gapMatchInteraction = (GraphicGapMatchInteraction) interaction;
List<AssociableHotspot> spots = gapMatchInteraction.getAssociableHotspots();
if (spots.size() > 0) {
col += (spots.size() - 1);
}
return col;
}
use of uk.ac.ed.ph.jqtiplus.node.item.interaction.graphic.AssociableHotspot in project OpenOLAT by OpenOLAT.
the class GraphicGapMatchInteractionArchive method writeInteractionData.
@Override
public int writeInteractionData(AssessmentItem item, AssessmentResponse response, Interaction interaction, int itemNumber, Row dataRow, int col, OpenXMLWorkbook workbook) {
GraphicGapMatchInteraction gapMatchInteraction = (GraphicGapMatchInteraction) interaction;
String stringuifiedResponse = response == null ? null : response.getStringuifiedResponse();
List<String> responses = CorrectResponsesUtil.parseResponses(stringuifiedResponse);
Set<String> rightAnswers = CorrectResponsesUtil.getCorrectDirectPairResponses(item, interaction, false);
List<AssociableHotspot> spots = gapMatchInteraction.getAssociableHotspots();
for (AssociableHotspot spot : spots) {
String spotIdentifier = spot.getIdentifier().toString();
String spotResponse = null;
for (String r : responses) {
if (r.endsWith(spotIdentifier)) {
spotResponse = r;
}
}
if (spotResponse != null) {
String[] spotResponsePair = spotResponse.split(" ");
if (spotResponsePair.length > 1) {
String stopResponseAssociation = spotResponsePair[0];
boolean correct = rightAnswers.contains(spotResponse);
if (correct) {
dataRow.addCell(col++, stopResponseAssociation, workbook.getStyles().getCorrectStyle());
} else {
dataRow.addCell(col++, stopResponseAssociation);
}
} else {
col++;
}
} else {
col++;
}
}
return col;
}
Aggregations