From cc4cd5f2d02dcbf794762a38eed589388957bf19 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Wed, 12 Apr 2017 08:24:07 +0000 Subject: [PATCH] SSDM-4874, SSDM-4876: Update modification date and modifier when deleting or updating an attachment. SVN: 38049 --- .../generic/server/business/bo/AttachmentBO.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AttachmentBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AttachmentBO.java index b945eb5bc08..5fab8f5a0e7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AttachmentBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AttachmentBO.java @@ -25,9 +25,12 @@ import ch.systemsx.cisd.openbis.generic.server.business.IRelationshipService; import ch.systemsx.cisd.openbis.generic.server.business.bo.util.DataSetTypeWithoutExperimentChecker; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IAttachmentDAO; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; +import ch.systemsx.cisd.openbis.generic.server.dataaccess.RelationshipUtils; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Attachment; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentHolderPE; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.IModifierAndModificationDateBean; +import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.managed_property.IManagedPropertyEvaluatorFactory; @@ -56,6 +59,7 @@ public final class AttachmentBO extends AbstractBusinessObject implements IAttac { IAttachmentDAO attachmentDAO = getAttachmentDAO(); attachmentDAO.deleteAttachments(holder, reason, fileNames, session.tryGetPerson()); + updateModificationDateAndModifier(holder); } @Override @@ -65,8 +69,19 @@ public final class AttachmentBO extends AbstractBusinessObject implements IAttac attachment.setDescription(attachmentDTO.getDescription()); attachment.setTitle(attachmentDTO.getTitle()); dataChanged = true; + updateModificationDateAndModifier(holder); } + private void updateModificationDateAndModifier(final AttachmentHolderPE holder) + { + if (holder instanceof IModifierAndModificationDateBean) + { + IModifierAndModificationDateBean entity = (IModifierAndModificationDateBean) holder; + PersonPE user = findPerson(); + RelationshipUtils.updateModificationDateAndModifier(entity, user, getTransactionTimeStamp()); + } + } + @Override public final void save() { -- GitLab