import org.hibernate.Session;
import org.hibernate.Transaction;
import org.splat.kernel.Do;
-import org.splat.kernel.User;
+import org.splat.dal.bo.kernel.User;
import org.splat.manox.Toolbox;
import org.splat.manox.Writer;
-import org.splat.som.Database;
-import org.splat.som.Document;
-import org.splat.som.DocumentType;
-import org.splat.som.KnowledgeElement;
-import org.splat.som.ProgressState;
-import org.splat.som.ProjectSettings;
-import org.splat.som.Publication;
+import org.splat.dal.dao.som.Database;
+import org.splat.dal.bo.som.Document;
+import org.splat.dal.bo.som.DocumentType;
+import org.splat.dal.bo.som.KnowledgeElement;
+import org.splat.dal.bo.som.ProgressState;
+import org.splat.service.ProjectElementService;
+import org.splat.service.technical.ProjectSettingsService;
+import org.splat.dal.bo.som.Publication;
import org.splat.som.Revision;
-import org.splat.som.Scenario;
-import org.splat.som.SimulationContext;
+import org.splat.dal.bo.som.Scenario;
+import org.splat.dal.bo.som.SimulationContext;
import org.splat.som.Step;
import org.splat.som.StepRights;
-import org.splat.som.Study;
+import org.splat.dal.bo.som.Study;
import org.splat.som.StudyRights;
import org.splat.wapp.ToolBar;
private String credate;
private String lasdate;
private Publication selecdoc;
+ private ProjectSettingsService _projectSettingsService;
+ private ProjectElementService _projectElementService;
protected final static Logger logger = org.splat.simer.Action.logger;
// -----------------------------------------
ResourceBundle custom = ResourceBundle.getBundle("som", ApplicationSettings.getCurrentLocale());
SimpleDateFormat datstring = new SimpleDateFormat(custom.getString("date.format"));
- Revision.Format verstring = new Revision.Format(ProjectSettings.getRevisionPattern());
+ Revision.Format verstring = new Revision.Format(getProjectSettings().getRevisionPattern());
cuser = user; // May be null if nobody connected
mystudy = study;
description = mystudy.getDescription();
involving = new ArrayList<Step>(1);
context = new ArrayList<SimulationContextFacade>();
- ustep = mystudy.getFirstStep();
+ ustep = getProjectElementService().getFirstStep(mystudy);
ustep.setActor(cuser);
involving.add(ustep);
for (Iterator<SimulationContext> i=ustep.getAllSimulationContexts().iterator(); i.hasNext(); ) {
protected void add (KnowledgeElement kelm) {
// ------------------------------------------
KnowledgeElementFacade facade = new KnowledgeElementFacade(kelm);
- KnowledgeIterator known = knowledge.get(kelm.getType().getIndex() - 2);
+//RKV KnowledgeIterator known = knowledge.get(kelm.getType().getIndex() - 2);
// Knowledges are ordered by type index, from 0 to n-1, the first one being reserved (reason for -2)
- knowpres.put(kelm.getIndex(), facade);
- known.list.add(facade); // Insert the new knowledge at the end of the corresponding knowledge type
+ //RKV:Begin: Find a knowledge iterator for appropriate knowledge type
+ KnowledgeIterator known = null;
+ for (KnowledgeIterator aKnowledgeSection : knowledge) {
+ if (aKnowledgeSection.getIndex().equals(String.valueOf(kelm.getType().getIndex()))) {
+ known = aKnowledgeSection;
+ break;
+ }
+ }
+ if (known != null) { //RKV:End
+ knowpres.put(kelm.getIndex(), facade);
+ known.list.add(facade); // Insert the new knowledge at the end of the corresponding knowledge type
+ }
}
protected void remove (Publication doctag) {
scenar = branch[i];
if (scenar.getIndex() == major) break; // Supposed exist
}
- step = scenar.getSteps();
+ step = getProjectElementService().getSteps(scenar);
base = step[0].getNumber() - 1;
for (int i=0; i+base<minor; i++) {
involving.add(step[i]);
}
}
- step = mystudy.getSteps();
+ step = getProjectElementService().getSteps(mystudy);
for (int i=step.length-1; i>-1; i--) {
Step firstep = step[i];
if(firstep.getNumber() > base) continue;
involving.add(0, firstep);
}
}
+
+ /**
+ * Get project settings.
+ * @return Project settings service
+ */
+ private ProjectSettingsService getProjectSettings() {
+ return _projectSettingsService;
+ }
+
+ /**
+ * Set project settings service.
+ * @param projectSettingsService project settings service
+ */
+ public void setProjectSettings(
+ ProjectSettingsService projectSettingsService) {
+ _projectSettingsService = projectSettingsService;
+ }
+ /**
+ * Get the projectElementService.
+ *
+ * @return the projectElementService
+ */
+ public ProjectElementService getProjectElementService() {
+ return _projectElementService;
+ }
+
+ /**
+ * Set the projectElementService.
+ *
+ * @param projectElementService
+ * the projectElementService to set
+ */
+ public void setProjectElementService(
+ ProjectElementService projectElementService) {
+ _projectElementService = projectElementService;
+ }
}
\ No newline at end of file