diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java index ff261363a1..834f139158 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/rm/local/LocalResourceController.java @@ -630,6 +630,9 @@ public class LocalResourceController implements RMController { } Path newTargetPath = getTargetPath(projectId, normalizedNewResourcePath); validateResourcePath(newTargetPath.toString()); + if (Files.exists(newTargetPath)) { + throw new DBException("Resource with name %s already exists".formatted(newTargetPath.getFileName())); + } try { Files.move(oldTargetPath, newTargetPath); } catch (IOException e) { diff --git a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java index 8af78a4819..4c412ecbd8 100644 --- a/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java +++ b/server/bundles/io.cloudbeaver.service.rm/src/io/cloudbeaver/service/rm/impl/WebServiceRM.java @@ -214,7 +214,7 @@ public class WebServiceRM implements DBWServiceRM { WSResourceProperty.NAME); return true; } catch (Exception e) { - throw new DBWebException("Error moving resource " + oldResourcePath, e); + throw new DBWebException(e.getMessage(), e); } }