Search in sources :

Example 1 with ItemInfos

use of org.olat.ims.qti.statistics.ui.QTI12AssessmentStatisticsController.ItemInfos in project OpenOLAT by OpenOLAT.

the class QTI21AssessmentTestStatisticsController method initScoreStatisticPerItem.

/**
 * The 2 graphs with the score per questions and right answers per questions.
 *
 * @param numOfParticipants The number of participants
 */
private void initScoreStatisticPerItem(double numOfParticipants) {
    BarSeries d1 = new BarSeries();
    BarSeries d2 = new BarSeries();
    List<AssessmentItemStatistic> statisticItems = qtiStatisticsManager.getStatisticPerItem(resourceResult.getResolvedAssessmentTest(), resourceResult.getSearchParams(), numOfParticipants);
    int i = 0;
    List<ItemInfos> itemInfos = new ArrayList<>(statisticItems.size());
    for (AssessmentItemStatistic statisticItem : statisticItems) {
        AssessmentItem item = statisticItem.getAssessmentItem();
        String label = Integer.toString(++i);
        String text = item.getTitle();
        d1.add(statisticItem.getAverageScore(), label);
        d2.add(statisticItem.getNumOfCorrectAnswers(), label);
        itemInfos.add(new ItemInfos(label, text));
    }
    mainVC.contextPut("itemInfoList", itemInfos);
    VelocityContainer averageScorePeritemVC = createVelocityContainer("hbar_average_score_per_item");
    Stringuified data1 = BarSeries.getDatasAndColors(Collections.singletonList(d1), "bar_default");
    averageScorePeritemVC.contextPut("datas", data1);
    mainVC.put("averageScorePerItemChart", averageScorePeritemVC);
    VelocityContainer percentRightAnswersPerItemVC = createVelocityContainer("hbar_right_answer_per_item");
    Stringuified data2 = BarSeries.getDatasAndColors(Collections.singletonList(d2), "bar_green");
    percentRightAnswersPerItemVC.contextPut("datas", data2);
    percentRightAnswersPerItemVC.contextPut("numOfParticipants", Long.toString(Math.round(numOfParticipants)));
    mainVC.put("percentRightAnswersPerItemChart", percentRightAnswersPerItemVC);
}
Also used : Stringuified(org.olat.core.gui.components.chart.BarSeries.Stringuified) ArrayList(java.util.ArrayList) BarSeries(org.olat.core.gui.components.chart.BarSeries) AssessmentItem(uk.ac.ed.ph.jqtiplus.node.item.AssessmentItem) ItemInfos(org.olat.ims.qti.statistics.ui.QTI12AssessmentStatisticsController.ItemInfos) StatisticFormatter.getModeString(org.olat.ims.qti.statistics.ui.StatisticFormatter.getModeString) AssessmentItemStatistic(org.olat.ims.qti21.model.statistics.AssessmentItemStatistic) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer)

Example 2 with ItemInfos

use of org.olat.ims.qti.statistics.ui.QTI12AssessmentStatisticsController.ItemInfos in project openolat by klemens.

the class QTI21AssessmentTestStatisticsController method initScoreStatisticPerItem.

/**
 * The 2 graphs with the score per questions and right answers per questions.
 *
 * @param numOfParticipants The number of participants
 */
private void initScoreStatisticPerItem(double numOfParticipants) {
    BarSeries d1 = new BarSeries();
    BarSeries d2 = new BarSeries();
    List<AssessmentItemStatistic> statisticItems = qtiStatisticsManager.getStatisticPerItem(resourceResult.getResolvedAssessmentTest(), resourceResult.getSearchParams(), numOfParticipants);
    int i = 0;
    List<ItemInfos> itemInfos = new ArrayList<>(statisticItems.size());
    for (AssessmentItemStatistic statisticItem : statisticItems) {
        AssessmentItem item = statisticItem.getAssessmentItem();
        String label = Integer.toString(++i);
        String text = item.getTitle();
        d1.add(statisticItem.getAverageScore(), label);
        d2.add(statisticItem.getNumOfCorrectAnswers(), label);
        itemInfos.add(new ItemInfos(label, text));
    }
    mainVC.contextPut("itemInfoList", itemInfos);
    VelocityContainer averageScorePeritemVC = createVelocityContainer("hbar_average_score_per_item");
    Stringuified data1 = BarSeries.getDatasAndColors(Collections.singletonList(d1), "bar_default");
    averageScorePeritemVC.contextPut("datas", data1);
    mainVC.put("averageScorePerItemChart", averageScorePeritemVC);
    VelocityContainer percentRightAnswersPerItemVC = createVelocityContainer("hbar_right_answer_per_item");
    Stringuified data2 = BarSeries.getDatasAndColors(Collections.singletonList(d2), "bar_green");
    percentRightAnswersPerItemVC.contextPut("datas", data2);
    percentRightAnswersPerItemVC.contextPut("numOfParticipants", Long.toString(Math.round(numOfParticipants)));
    mainVC.put("percentRightAnswersPerItemChart", percentRightAnswersPerItemVC);
}
Also used : Stringuified(org.olat.core.gui.components.chart.BarSeries.Stringuified) ArrayList(java.util.ArrayList) BarSeries(org.olat.core.gui.components.chart.BarSeries) AssessmentItem(uk.ac.ed.ph.jqtiplus.node.item.AssessmentItem) ItemInfos(org.olat.ims.qti.statistics.ui.QTI12AssessmentStatisticsController.ItemInfos) StatisticFormatter.getModeString(org.olat.ims.qti.statistics.ui.StatisticFormatter.getModeString) AssessmentItemStatistic(org.olat.ims.qti21.model.statistics.AssessmentItemStatistic) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer)

Aggregations

ArrayList (java.util.ArrayList)2 BarSeries (org.olat.core.gui.components.chart.BarSeries)2 Stringuified (org.olat.core.gui.components.chart.BarSeries.Stringuified)2 VelocityContainer (org.olat.core.gui.components.velocity.VelocityContainer)2 ItemInfos (org.olat.ims.qti.statistics.ui.QTI12AssessmentStatisticsController.ItemInfos)2 StatisticFormatter.getModeString (org.olat.ims.qti.statistics.ui.StatisticFormatter.getModeString)2 AssessmentItemStatistic (org.olat.ims.qti21.model.statistics.AssessmentItemStatistic)2 AssessmentItem (uk.ac.ed.ph.jqtiplus.node.item.AssessmentItem)2