package org.splat.service;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
+import org.splat.dal.bo.kernel.Relation;
import org.splat.dal.bo.kernel.User;
+import org.splat.dal.bo.som.ConvertsRelation;
+import org.splat.dal.bo.som.File;
import org.splat.dal.bo.som.KnowledgeElement;
import org.splat.dal.bo.som.KnowledgeElementType;
import org.splat.dal.bo.som.Publication;
import org.splat.kernel.InvalidPropertyException;
import org.splat.kernel.MissedPropertyException;
import org.splat.kernel.MultiplyDefinedException;
+import org.splat.service.dto.DocumentDTO;
+import org.splat.service.dto.StepDTO;
import org.splat.service.technical.IndexService;
import org.splat.som.Step;
+import org.splat.util.BeanHelper;
import org.springframework.transaction.annotation.Transactional;
/**
_stepService = stepService;
}
+ /**
+ * {@inheritDoc}
+ * @see org.splat.service.ScenarioService#getScenarioInfo(long)
+ */
+ @Transactional
+ public List<StepDTO> getScenarioInfo(final long scenarioId) {
+ List<StepDTO> res = new ArrayList<StepDTO>();
+ Scenario scen = getScenarioDAO().get(scenarioId);
+ Step[] steps = getProjectElementService().getSteps(scen);
+ StepDTO stepDTO;
+ DocumentDTO docDTO;
+ for (Step step: steps) {
+ stepDTO = BeanHelper.copyBean(step.getStep(), StepDTO.class);
+ res.add(stepDTO);
+ for (Publication tag: step.getDocuments()) {
+ docDTO = stepDTO.addDoc(tag.value().getIndex(), tag.value().getTitle());
+ char aState = tag.getIsnew();
+ docDTO.addFile(tag.value().getFile().getRelativePath(), aState);
+ for(Relation rel: tag.value().getRelations(ConvertsRelation.class)) {
+ File aFile = ((ConvertsRelation)rel).getTo();
+ docDTO.addFile(aFile.getRelativePath(), aState);
+ }
+ }
+ }
+ return res;
+ }
+
/**
* Create a new study with one scenario and "product" simulation context.
*