package fi.utu.ville.exercises.template; import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.vaadin.ui.Component; import fi.utu.ville.exercises.model.ExerciseException; import fi.utu.ville.exercises.model.StatisticalSubmissionInfo; import fi.utu.ville.exercises.model.StatisticsInfoColumn; import fi.utu.ville.exercises.model.SubmissionStatisticsGiver; import fi.utu.ville.standardutils.Localizer; import fi.utu.ville.standardutils.TempFilesManager; public class SimpleTemplateStatsGiver implements SubmissionStatisticsGiver<TemplateExerciseData, TemplateSubmissionInfo> { /** * */ private static final long serialVersionUID = -1410253605264134011L; private Localizer localizer; private List<StatisticsInfoColumn<?>> statCols; @Override public void initialize( TemplateExerciseData exercise, List<StatisticalSubmissionInfo<TemplateSubmissionInfo>> dataObjects, Localizer localizer, TempFilesManager tempManager) throws ExerciseException { this.localizer = localizer; initStatsCol(dataObjects, exercise); } private void initStatsCol( List<StatisticalSubmissionInfo<TemplateSubmissionInfo>> data, TemplateExerciseData exer) { List<String> answers = new ArrayList<String>(); for (int i = 0, n = data.size(); i < n; i++) { answers.add(data.get(i).getSubmissionData().getAnswer()); } StatisticsInfoColumn<String> answersCol = new StatisticsInfoColumn<String>( localizer.getUIText(TemplateUiConstants.ANSWER), localizer.getUIText(TemplateUiConstants.ANSWER_COL_DESC, exer.getQuestion()), String.class, answers, true); statCols = Collections .<StatisticsInfoColumn<?>> singletonList(answersCol); } @Override public Component getView() { // no extra statistics functionality, just export the data as // stat-column return null; } @Override public List<StatisticsInfoColumn<?>> getAsTabularData() { return statCols; } }