import org.splat.dal.bo.som.Scenario;
import org.splat.dal.bo.som.SimulationContext;
import org.splat.dal.bo.som.Study;
+import org.splat.exception.InvalidParameterException;
import org.splat.kernel.InvalidPropertyException;
import org.splat.kernel.MismatchException;
import org.splat.kernel.MissedPropertyException;
import org.splat.kernel.MultiplyDefinedException;
import org.splat.kernel.NotApplicableException;
+import org.splat.service.dto.ScenarioDTO;
import org.splat.service.dto.StepDTO;
import org.splat.som.Step;
*/
public interface ScenarioService {
+ /**
+ * Get a list of scenarios of a study with the given id.
+ *
+ * @param studyId
+ * the study id
+ * @return list of scenario DTOs
+ */
+ public List<ScenarioDTO> getStudyScenarios(final Long studyId);
+
+ /**
+ * Copy content of a source study into the given study up to the given step.
+ *
+ * @param fromStudyId
+ * the source study id
+ * @param fromScenId
+ * the source scenario id
+ * @param finalStepNum
+ * the final source step number
+ * @param toStudyId
+ * the target study
+ * @throws InvalidParameterException
+ * if study, scenario or step is not found
+ * @throws MissedPropertyException
+ * if document creation is failed
+ * @throws InvalidPropertyException
+ * if document creation is failed
+ * @throws MultiplyDefinedException
+ * if document creation is failed
+ * @throws IOException
+ * if document file creation is failed
+ * @throws NotApplicableException
+ * if document state is not applicable
+ */
+ public void copyStudyContent(final long fromStudyId, final long fromScenId,
+ final int finalStepNum, final long toStudyId)
+ throws InvalidParameterException, MissedPropertyException,
+ InvalidPropertyException, MultiplyDefinedException,
+ NotApplicableException, IOException;
+
/**
* Get lists of scenario steps, documents and files for building siman-salome.conf file.
*