From 115e34ed2100e746594633e4bfa32b83d39931a1 Mon Sep 17 00:00:00 2001 From: kaloyane <kaloyane> Date: Wed, 18 May 2011 08:30:31 +0000 Subject: [PATCH] [LMS-2104]: do not delete the contained datasets recursively (yet to be tested) SVN: 21357 --- .../server/business/bo/DataSetTable.java | 36 ++----------------- .../openbis/generic/shared/dto/DataPE.java | 11 ------ 2 files changed, 2 insertions(+), 45 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java index 66d29d7b487..6a90d49b859 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java @@ -131,8 +131,7 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements List<String> notAvailableDatasets = new ArrayList<String>(); for (DataPE dataSet : datasets) { - if (dataSet.isExternalData() == false - || dataSet.tryAsExternalData().getStatus().isAvailable() == false) + if (dataSet.isAvailable() == false) { notAvailableDatasets.add(dataSet.getCode()); } @@ -159,9 +158,7 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements List<String> notDeletableDatasets = new ArrayList<String>(); for (DataPE dataSet : datasets) { - // TODO 2011-05-16, Piotr Buczek: change this after deletion is implemented - if (dataSet.isExternalData() == false - || dataSet.tryAsExternalData().getStatus().isDeletable() == false) + if (dataSet.isDeletable() == false) { notDeletableDatasets.add(dataSet.getCode()); } @@ -242,7 +239,6 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements public void deleteLoadedDataSets(String reason) { - dataSets = loadContainedDataSetsRecursively(); assertDatasetsAreDeletable(dataSets); dataSets = sortTopologicallyByContainerRelationship(dataSets); @@ -267,34 +263,6 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements } } - private List<DataPE> loadContainedDataSetsRecursively() - { - Map<Long, DataPE> loadCache = new HashMap<Long, DataPE>(); - for (DataPE dataSet : dataSets) - { - loadContainedDataSetsInternal(dataSet, loadCache); - } - - return new ArrayList<DataPE>(loadCache.values()); - } - - private void loadContainedDataSetsInternal(DataPE dataSet, Map<Long /* id */, DataPE> loaded) - { - Long id = dataSet.getId(); - if (false == loaded.containsKey(id)) - { - loaded.put(id, dataSet); - if (dataSet.getContainedDataSets() != null) - { - for (DataPE containedDataSet : dataSet.getContainedDataSets()) - { - loadContainedDataSetsInternal(containedDataSet, loaded); - } - } - - } - } - private List<DataPE> sortTopologicallyByContainerRelationship(List<DataPE> datasets) { DAG<DataPE> dag = new DAG<DataPE>(datasets) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java index ef8e31f3cc5..e0ce585d984 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java @@ -657,17 +657,6 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements @Transient public boolean isDeletable() { - if (containedDataSets != null) - { - for (DataPE containedDataSet : containedDataSets) - { - if (containedDataSet.isDeletable() == false) - { - return false; - } - } - - } return true; } } \ No newline at end of file -- GitLab