From c88efc1683675fb6882959d9ad18fde4010c25a8 Mon Sep 17 00:00:00 2001 From: rkv Date: Wed, 17 Oct 2012 08:10:19 +0000 Subject: [PATCH] Database class usage is completely removed from ScenarioService. --- .../src/org/splat/service/ScenarioService.java | 13 +++++++++++++ .../org/splat/service/ScenarioServiceImpl.java | 18 +++++++----------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/Workspace/Siman-Common/src/org/splat/service/ScenarioService.java b/Workspace/Siman-Common/src/org/splat/service/ScenarioService.java index 498f6eb..df872e7 100644 --- a/Workspace/Siman-Common/src/org/splat/service/ScenarioService.java +++ b/Workspace/Siman-Common/src/org/splat/service/ScenarioService.java @@ -9,6 +9,7 @@ package org.splat.service; +import org.splat.dal.bo.kernel.User; import org.splat.dal.bo.som.KnowledgeElement; import org.splat.dal.bo.som.Scenario; import org.splat.kernel.InvalidPropertyException; @@ -18,6 +19,7 @@ import org.splat.som.Step; /** * Scenario service interface. + * * @author Roman Kozlov (RKV) */ public interface ScenarioService { @@ -49,6 +51,17 @@ public interface ScenarioService { */ public void checkin(Scenario aScenario); + /** + * Check out the scenario. + * + * @param aScenario + * the scenario to check out + * @param user + * the current user + * @return true if check out operation succeeded + */ + public boolean checkout(Scenario aScenario, User user); + /** * Copy contents from other scenario up to its given step into the given scenario. * diff --git a/Workspace/Siman-Common/src/org/splat/service/ScenarioServiceImpl.java b/Workspace/Siman-Common/src/org/splat/service/ScenarioServiceImpl.java index 3b0e02d..01c9843 100644 --- a/Workspace/Siman-Common/src/org/splat/service/ScenarioServiceImpl.java +++ b/Workspace/Siman-Common/src/org/splat/service/ScenarioServiceImpl.java @@ -15,15 +15,11 @@ import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; -import org.hibernate.HibernateException; -import org.hibernate.Session; -import org.hibernate.Transaction; import org.splat.dal.bo.kernel.User; import org.splat.dal.bo.som.KnowledgeElement; import org.splat.dal.bo.som.Publication; import org.splat.dal.bo.som.Scenario; import org.splat.dal.bo.som.SimulationContext; -import org.splat.dal.dao.som.Database; import org.splat.dal.dao.som.KnowledgeElementDAO; import org.splat.dal.dao.som.ScenarioDAO; import org.splat.kernel.InvalidPropertyException; @@ -159,13 +155,13 @@ public class ScenarioServiceImpl implements ScenarioService { // Update of the index of Knowledge Elements getIndexService().add(kelm); update(aScenario); - + } catch (IOException error) { logger.error("Unable to index the knowedge element '" + kelm.getIndex() + "', reason:", error); kelm = null; } - + return kelm; } @@ -197,13 +193,13 @@ public class ScenarioServiceImpl implements ScenarioService { public void checkin(Scenario aScenario) { aScenario.setUser(null); aScenario.setLastModificationDate(Calendar.getInstance().getTime()); - Database.getSession().update(aScenario); + getScenarioDAO().update(aScenario); } /** - * @param aScenario - * @param user - * @return + * {@inheritDoc} + * + * @see org.splat.service.ScenarioService#checkout(org.splat.dal.bo.som.Scenario, org.splat.dal.bo.kernel.User) */ public boolean checkout(Scenario aScenario, User user) { if (!aScenario.getOwnerStudy().isStaffedBy(user)) @@ -211,7 +207,7 @@ public class ScenarioServiceImpl implements ScenarioService { aScenario.setUser(user); aScenario.setLastModificationDate(Calendar.getInstance().getTime()); - Database.getSession().update(aScenario); + getScenarioDAO().update(aScenario); return true; } -- 2.39.2