From 423bf30617f0468c8e7f643e76d54df2a29d34d3 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 16 May 2011 12:42:21 +0000 Subject: [PATCH] [LMS-2104] moved implementation of update of data set statuses SVN: 21317 --- .../cisd/openbis/generic/server/business/bo/DataBO.java | 3 +-- .../openbis/generic/server/dataaccess/db/DataDAO.java | 9 ++++++--- .../openbis/generic/server/business/bo/DataBOTest.java | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java index 251e5a2fcd3..01765a4017d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java @@ -749,11 +749,10 @@ public class DataBO extends AbstractExternalDataBusinessObject implements IDataB return result; } - // TODO 2011-05-16, Piotr Buczek: use DataDAO public void updateStatuses(List<String> dataSetCodes, DataSetArchivingStatus newStatus, boolean newPresentInArchive) { - getExternalDataDAO().updateDataSetStatuses(dataSetCodes, newStatus, newPresentInArchive); + getDataDAO().updateDataSetStatuses(dataSetCodes, newStatus, newPresentInArchive); } public boolean compareAndSetDataSetStatus(DataSetArchivingStatus oldStatus, diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java index 845fa002e0d..fbe83c0fc55 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java @@ -68,13 +68,16 @@ final class DataDAO extends AbstractGenericEntityWithPropertiesDAO<DataPE> imple { private final static Class<DataPE> ENTITY_CLASS = DataPE.class; - // private final static Class<DataPE> ENTITY_SUPER_CLASS = DataPE.class; + private final static Class<ExternalDataPE> EXTERNAL_DATA_ENTITY_CLASS = ExternalDataPE.class; private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, DataDAO.class); private static final String TABLE_NAME = ENTITY_CLASS.getSimpleName(); + private static final String EXTERNAL_DATA_TABLE_NAME = EXTERNAL_DATA_ENTITY_CLASS + .getSimpleName(); + DataDAO(final PersistencyResources persistencyResources, final DatabaseInstancePE databaseInstance) { @@ -302,7 +305,7 @@ final class DataDAO extends AbstractGenericEntityWithPropertiesDAO<DataPE> imple // NOTE: 'VERSIONED' makes modification time modified too return session .createQuery( - "UPDATE VERSIONED " + TABLE_NAME + "UPDATE VERSIONED " + EXTERNAL_DATA_TABLE_NAME + " SET status = :status WHERE code IN (:codes) ") .setParameter("status", status).setParameterList("codes", dataSetCodes) .executeUpdate(); @@ -346,7 +349,7 @@ final class DataDAO extends AbstractGenericEntityWithPropertiesDAO<DataPE> imple return session .createQuery( "UPDATE VERSIONED " - + TABLE_NAME + + EXTERNAL_DATA_TABLE_NAME + " SET status = :status, presentInArchive = :presentInArchive" + " WHERE code IN (:codes) ") .setParameter("status", status) diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java index 8dd6f289bb8..a4d631e2330 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBOTest.java @@ -404,8 +404,8 @@ public class DataBOTest extends AbstractBOTest context.checking(new Expectations() { { - one(externalDataDAO).updateDataSetStatuses(codes, - DataSetArchivingStatus.ARCHIVED, true); + one(dataDAO) + .updateDataSetStatuses(codes, DataSetArchivingStatus.ARCHIVED, true); } }); -- GitLab