From 307aa5d64e426a3670b6cca5fa0acef729e031a8 Mon Sep 17 00:00:00 2001 From: Nicola Fulvio Calabria <nicola.calabria@inaf.it> Date: Mon, 11 Jan 2021 00:35:59 +0100 Subject: [PATCH] Task #3546 - Complete CreateNode endpoint implementation. Added tests: didn't use new Mock Filter for User injection, will include it later --- .../exception/ContainerNotFoundException.java | 12 ++++++++++++ .../exception/DuplicateNodeException.java | 12 ++++++++++++ .../vospace/exception/InvalidURIException.java | 18 ++++++++++++++++++ .../vospace/exception/LinkFoundException.java | 12 ++++++++++++ .../exception/PermissionDeniedException.java | 12 ++++++++++++ 5 files changed, 66 insertions(+) create mode 100644 src/main/java/it/inaf/oats/vospace/exception/ContainerNotFoundException.java create mode 100644 src/main/java/it/inaf/oats/vospace/exception/DuplicateNodeException.java create mode 100644 src/main/java/it/inaf/oats/vospace/exception/InvalidURIException.java create mode 100644 src/main/java/it/inaf/oats/vospace/exception/LinkFoundException.java create mode 100644 src/main/java/it/inaf/oats/vospace/exception/PermissionDeniedException.java diff --git a/src/main/java/it/inaf/oats/vospace/exception/ContainerNotFoundException.java b/src/main/java/it/inaf/oats/vospace/exception/ContainerNotFoundException.java new file mode 100644 index 0000000..7480c29 --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/exception/ContainerNotFoundException.java @@ -0,0 +1,12 @@ +package it.inaf.oats.vospace.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.NOT_FOUND) +public class ContainerNotFoundException extends VoSpaceException { + + public ContainerNotFoundException(String path) { + super("Container Not Found at path: " + path); + } +} diff --git a/src/main/java/it/inaf/oats/vospace/exception/DuplicateNodeException.java b/src/main/java/it/inaf/oats/vospace/exception/DuplicateNodeException.java new file mode 100644 index 0000000..a64223e --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/exception/DuplicateNodeException.java @@ -0,0 +1,12 @@ +package it.inaf.oats.vospace.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.CONFLICT) +public class DuplicateNodeException extends VoSpaceException { + + public DuplicateNodeException(String path) { + super("Duplicate Node at path: " + path); + } +} diff --git a/src/main/java/it/inaf/oats/vospace/exception/InvalidURIException.java b/src/main/java/it/inaf/oats/vospace/exception/InvalidURIException.java new file mode 100644 index 0000000..c303711 --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/exception/InvalidURIException.java @@ -0,0 +1,18 @@ +package it.inaf.oats.vospace.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.BAD_REQUEST) +public class InvalidURIException extends VoSpaceException { + + public InvalidURIException(String URI, String path) { + super("InvalidURI. Payload node URI: " + URI + + " is not consistent with request path: " + path); + } + + public InvalidURIException(String URI) + { + super("InvalidURI. URI: "+URI+ " is not in a valid format"); + } +} diff --git a/src/main/java/it/inaf/oats/vospace/exception/LinkFoundException.java b/src/main/java/it/inaf/oats/vospace/exception/LinkFoundException.java new file mode 100644 index 0000000..0f316c1 --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/exception/LinkFoundException.java @@ -0,0 +1,12 @@ +package it.inaf.oats.vospace.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.BAD_REQUEST) +public class LinkFoundException extends VoSpaceException { + + public LinkFoundException(String path) { + super("Link Found at path: " + path); + } +} diff --git a/src/main/java/it/inaf/oats/vospace/exception/PermissionDeniedException.java b/src/main/java/it/inaf/oats/vospace/exception/PermissionDeniedException.java new file mode 100644 index 0000000..20a1991 --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/exception/PermissionDeniedException.java @@ -0,0 +1,12 @@ +package it.inaf.oats.vospace.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.ResponseStatus; + +@ResponseStatus(value = HttpStatus.FORBIDDEN) +public class PermissionDeniedException extends VoSpaceException { + + public PermissionDeniedException(String path) { + super("Permission Denied at path: " + path); + } +} -- GitLab