diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/MultiDataSetArchiverOrphanFinderTask.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/MultiDataSetArchiverOrphanFinderTask.java index 899584a6a06e30e6e4e49c45a85a1e1d9a446197..367c55d70c813180ba21b4807e4a03d19b0ac97d 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/MultiDataSetArchiverOrphanFinderTask.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/MultiDataSetArchiverOrphanFinderTask.java @@ -17,8 +17,6 @@ import ch.systemsx.cisd.common.mail.IMailClient; import ch.systemsx.cisd.common.maintenance.IMaintenanceTask; import ch.systemsx.cisd.common.properties.PropertyUtils; import ch.systemsx.cisd.openbis.dss.generic.server.DataStoreServer; -import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.archiver.dataaccess.IMultiDataSetArchiverReadonlyQueryDAO; -import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.archiver.dataaccess.MultiDataSetArchiverContainerDTO; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.archiver.dataaccess.MultiDataSetArchiverDataSourceUtil; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; @@ -67,14 +65,13 @@ public class MultiDataSetArchiverOrphanFinderTask implements IMaintenanceTask // 2.1 Database. operationLog.info("2.1 Database, obtain a list of the multi dataset containers on the database."); - IMultiDataSetArchiverReadonlyQueryDAO readonlyQuery = MultiDataSetArchiverDataSourceUtil.getReadonlyQueryDAO(); - List<MultiDataSetArchiverContainerDTO> containerDTOs = readonlyQuery.listContainers(); + List<String> containers = MultiDataSetArchiverDataSourceUtil.getContainerList(); Set<String> multiDatasetsContainersOnDB = new HashSet<String>(); - if (containerDTOs != null) + if (containers != null) { - for (MultiDataSetArchiverContainerDTO containerDTO : containerDTOs) + for (String container : containers) { - multiDatasetsContainersOnDB.add(containerDTO.getPath().toLowerCase()); + multiDatasetsContainersOnDB.add(container.toLowerCase()); } } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/dataaccess/MultiDataSetArchiverDataSourceUtil.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/dataaccess/MultiDataSetArchiverDataSourceUtil.java index 0a166cf14f7a07040c581b9b60e6c07071cf71cc..1be99eb4e89fc5f96f089d79e3354ff8d70cc665 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/dataaccess/MultiDataSetArchiverDataSourceUtil.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/archiver/dataaccess/MultiDataSetArchiverDataSourceUtil.java @@ -16,11 +16,13 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.archiver.dataaccess; -import javax.sql.DataSource; +import java.util.ArrayList; +import java.util.List; -import net.lemnik.eodsql.QueryTool; +import javax.sql.DataSource; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; +import net.lemnik.eodsql.QueryTool; /** * @author Jakub Straszewski @@ -38,4 +40,19 @@ public class MultiDataSetArchiverDataSourceUtil { return QueryTool.getQuery(dataSource, IMultiDataSetArchiverReadonlyQueryDAO.class); } + + public static List<String> getContainerList() + { + List<MultiDataSetArchiverContainerDTO> containerDTOs = getReadonlyQueryDAO().listContainers(); + List<String> containers = new ArrayList<String>(); + if (containerDTOs != null) + { + for (MultiDataSetArchiverContainerDTO containerDTO : containerDTOs) + { + containers.add(containerDTO.getPath()); + } + } + return containers; + } + }