From 907fa1b97eaf1ed4aea03bd2fe02ed6b80624c0c Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Fri, 14 Nov 2014 15:29:55 +0000 Subject: [PATCH] SSDM-1071 : PAPER - Empty Trashcan SVN: 32831 --- .../v1/GeneralInformationChangingService.java | 51 ++++++++++++++++--- ...neralInformationChangingServiceLogger.java | 6 +++ .../openbis/public/resources/js/openbis.js | 14 +++++ .../IGeneralInformationChangingService.java | 7 +++ 4 files changed, 70 insertions(+), 8 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java index 80d29ee4d7d..40b899d91cd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java @@ -43,6 +43,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.MetaprojectAssignments import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.NewVocabularyTerm; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings; import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.id.metaproject.IMetaprojectId; +import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BatchRegistrationResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; @@ -336,18 +337,52 @@ public class GeneralInformationChangingService extends @Override public List<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion> listOriginalDeletions(String sessionToken) { - List<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion> infos = new ArrayList<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion>(); List<ch.systemsx.cisd.openbis.generic.shared.basic.dto.Deletion> deletions = server.listOriginalDeletions(sessionToken); - for(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Deletion deletion:deletions) { + return translate(deletions); + } + + @Override + public List<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion> listDeletions(String sessionToken, boolean withDeletedEntities) { + List<ch.systemsx.cisd.openbis.generic.shared.basic.dto.Deletion> deletions = server.listDeletions(sessionToken, withDeletedEntities); + return translate(deletions); + } + + private List<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion> translate(List<ch.systemsx.cisd.openbis.generic.shared.basic.dto.Deletion> deletionDTOs) { + List<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion> infos = new ArrayList<ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion>(); + for(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Deletion deletionDTO:deletionDTOs) { ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion deletionV1 = new ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Deletion(); - deletionV1.setId(deletion.getId()); - deletionV1.setTotalSamplesCount(deletion.getTotalSamplesCount()); - deletionV1.setTotalExperimentsCount(deletion.getTotalExperimentsCount()); - deletionV1.setTotalDatasetsCount(deletion.getTotalDatasetsCount()); - deletionV1.setReasonOrNull(deletion.getReason()); + deletionV1.setId(deletionDTO.getId()); + deletionV1.setTotalSamplesCount(deletionDTO.getTotalSamplesCount()); + deletionV1.setTotalExperimentsCount(deletionDTO.getTotalExperimentsCount()); + deletionV1.setTotalDatasetsCount(deletionDTO.getTotalDatasetsCount()); + deletionV1.setReasonOrNull(deletionDTO.getReason()); + for(IEntityInformationHolderWithIdentifier deleteIdentifier:deletionDTO.getDeletedEntities()) { + ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DeletedEntity deletedEntity = new ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DeletedEntity(); + ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.EntityKind entityKind = null; + switch(deleteIdentifier.getEntityKind()) { + case MATERIAL: + entityKind = ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.EntityKind.MATERIAL; + break; + case EXPERIMENT: + entityKind = ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.EntityKind.EXPERIMENT; + break; + case SAMPLE: + entityKind = ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.EntityKind.SAMPLE; + break; + case DATA_SET: + entityKind = ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.EntityKind.DATA_SET; + break; + } + deletedEntity.setEntityKind(entityKind); + deletedEntity.setEntityType(deleteIdentifier.getEntityType().getCode()); + deletedEntity.setId(deleteIdentifier.getId()); + deletedEntity.setPermId(deleteIdentifier.getPermId()); + deletedEntity.setIdentifier(deleteIdentifier.getIdentifier()); + deletedEntity.setCode(deleteIdentifier.getCode()); + deletionV1.getDeletedEntities().add(deletedEntity); + } infos.add(deletionV1); } return infos; } - } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingServiceLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingServiceLogger.java index 47eb3024b5a..f1bc10a7f3b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingServiceLogger.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingServiceLogger.java @@ -239,4 +239,10 @@ class GeneralInformationChangingServiceLogger extends AbstractServerLogger imple return null; } + @Override + public List<Deletion> listDeletions(String sessionToken, boolean withDeletedEntities) + { + logAccess(sessionToken, "listDeletions", "withDeletedEntities(%s)", withDeletedEntities); + return null; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js index 68831518986..4da74b7f0fa 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js @@ -1419,6 +1419,20 @@ openbis.prototype.listOriginalDeletions = function(action) { }); } +/** + * @see listDeletions(String) + * @method + */ +openbis.prototype.listDeletions = function(withDeletedEntities, action) { + this._internal.ajaxRequest({ + url: this._internal.generalInfoChangingServiceUrl, + data: { "method" : "listDeletions", + "params" : [ this.getSession(), + withDeletedEntities ] }, + success: action + }); +} + /** * ============================================================================ * ch.systemsx.cisd.openbis.plugin.query.shared.api.v1.IQueryApiServer methods diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/IGeneralInformationChangingService.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/IGeneralInformationChangingService.java index ae4da133b77..8281a256cf2 100644 --- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/IGeneralInformationChangingService.java +++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/IGeneralInformationChangingService.java @@ -262,6 +262,13 @@ public interface IGeneralInformationChangingService extends IRpcService */ public void deletePermanentlyForced(String sessionToken, List<Long> deletionIds); + /** + * List deleted entities + * + * @since 1.7 + */ + public List<Deletion> listDeletions(String sessionToken, boolean withDeletedEntities); + /** * List original deleted entities * -- GitLab