From b9fb7a45051ecdf3afc7b10ae758ae947714fda7 Mon Sep 17 00:00:00 2001 From: Nicola Fulvio Calabria <nicola.calabria@inaf.it> Date: Sat, 31 Jul 2021 13:42:29 +0200 Subject: [PATCH] Updated constraints to copy paths --- src/main/java/it/inaf/oats/vospace/CopyService.java | 5 +++++ src/main/java/it/inaf/oats/vospace/MoveService.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/main/java/it/inaf/oats/vospace/CopyService.java b/src/main/java/it/inaf/oats/vospace/CopyService.java index e26ece0..3897247 100644 --- a/src/main/java/it/inaf/oats/vospace/CopyService.java +++ b/src/main/java/it/inaf/oats/vospace/CopyService.java @@ -47,6 +47,11 @@ public class CopyService extends AbstractNodeService { if (destinationPath.startsWith(sourcePath + "/")) { throw new IllegalArgumentException("Cannot copy node to a subdirectory of its own path"); } + + // Check if destination equals parent path of source + if(NodeUtils.getParentPath(sourcePath).equals(destinationPath)){ + throw new IllegalArgumentException("Cannot duplicate node at same path without renaming it"); + } try { diff --git a/src/main/java/it/inaf/oats/vospace/MoveService.java b/src/main/java/it/inaf/oats/vospace/MoveService.java index 0a7b784..6210c24 100644 --- a/src/main/java/it/inaf/oats/vospace/MoveService.java +++ b/src/main/java/it/inaf/oats/vospace/MoveService.java @@ -50,6 +50,11 @@ public class MoveService extends AbstractNodeService { // Linux-like: "cannot move to a subdirectory of itself" if(destinationPath.startsWith(sourcePath+"/")) { throw new IllegalArgumentException("Cannot move node to a subdirectory of its own path"); + } + + // Check if destination equals parent path of source + if(NodeUtils.getParentPath(sourcePath).equals(destinationPath)){ + return; } try { -- GitLab