1 package org.splat.service;
5 import org.splat.exception.IncompatibleDataException;
6 import org.splat.kernel.MismatchException;
7 import org.splat.service.dto.DocToCompareDTO;
8 import org.splat.service.dto.DocumentDTO;
9 import org.splat.service.dto.StudyFacadeDTO;
10 import org.splat.service.dto.StudyFacadeDTO.ScenarioDTO;
12 public interface StudyComparisonService {
15 * Compare the studies and generate the file that contains the result chart.
18 * the list of dtos each contains information: StudyTitle, ScenarioTitle, PathToFile in vault.
20 * the name of the user who compare the results.
21 * @throws IncompatibleDataException
22 * if data is incompatible for "Compare the studies" functionality.
24 * @return path to result file in the vault.
26 String compare(List<DocToCompareDTO> docsList, final String userName)
27 throws IncompatibleDataException;
30 * Get studies, scenarios and publications available for comparison. <br>
31 * <b> DocumentDto.id are actually filled in with Publication ids.</b>
34 * id of the user to to whom visible studies will be returned.
35 * @return list of {@link StudyFacadeDTO} containing lists of {@link ScenarioDTO} containing list of {@link DocumentDTO}, corresponding
36 * to to the publications available for comparison, with ids and titles filled in.
37 * @throws MismatchException
38 * if some configurations considering postprocessing step are invalid.
40 List<StudyFacadeDTO> getComparableStudies(final long userId)
41 throws MismatchException;