Skip to content
Snippets Groups Projects
Commit 106db415 authored by juanf's avatar juanf
Browse files

SSDM-3617 : Maintenance task to find orphan datasets in archivers, fixing dependencies

SVN: 36633
parent 4bb238eb
No related branches found
No related tags found
No related merge requests found
......@@ -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());
}
}
......
......@@ -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;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment