package edu.vserver.math; import com.vaadin.ui.Component; import com.vaadin.ui.Layout; import com.vaadin.ui.VerticalLayout; import edu.vserver.exercises.math.essentials.layout.MathExerciseView; import edu.vserver.exercises.math.essentials.layout.Problem; import edu.vserver.exercises.math.essentials.level.LevelMathDataWrapper; import edu.vserver.exercises.math.essentials.level.LevelMathSubmissionInfo; import fi.utu.ville.exercises.model.ExerciseData; import fi.utu.ville.exercises.model.ExerciseException; import fi.utu.ville.exercises.model.SubmissionInfo; import fi.utu.ville.exercises.model.SubmissionVisualizer; import fi.utu.ville.standardutils.Localizer; import fi.utu.ville.standardutils.TempFilesManager; public class StubSubmissionVisualizerProvider implements SubmissionVisualizerProvider { @Override public <E extends ExerciseData, S extends SubmissionInfo> SubmissionVisualizer<E, S> getSubmissionVisualizer() { return new SubmissionVisualizer<E, S>() { private static final long serialVersionUID = 1L; @Override public void initialize(E exercise, S dataObject, Localizer localizer, TempFilesManager tempManager) throws ExerciseException { } @Override public Component getView() { return new VerticalLayout(); } @Override public String exportSubmissionDataAsText() { return ""; } }; } @Override public <E extends ExerciseData, S extends LevelMathSubmissionInfo<P>, P extends Problem> AbstractMathTableSubmissionViewer<LevelMathDataWrapper<E>, S, P> getMathTableSubmissionVisualizer() { return new AbstractMathTableSubmissionViewer<LevelMathDataWrapper<E>, S, P>(null,null) { private static final long serialVersionUID = 1L; @Override protected MathExerciseView<P> getExerView( LevelMathDataWrapper<E> exerData, S submInfo) { return getExerView(exerData, submInfo); } }; } @Override public <E extends ExerciseData, S extends LevelMathSubmissionInfo<Problem>, P extends Problem> SubmissionVisualizer<E, S> getMathSubmissionVisualizer() { return getMathSubmissionVisualizer(null); } @Override public <E extends ExerciseData, S extends LevelMathSubmissionInfo<Problem>, P extends Problem> SubmissionVisualizer<E, S> getMathSubmissionVisualizer( SubmissionVisualizer<E, S> specificImplementation) { if (specificImplementation == null) { return new AbstractLevelMathSubmissionViewer<E, S, Problem>() { private static final long serialVersionUID = 1L; @Override protected Layout doAdditionalSubProbLayout(Problem subProblem) { return new VerticalLayout(); } @Override protected String doAdditionalExportInfo(Problem subProblem) { return ""; } }; } else { return specificImplementation; } } }