From 52e915781c78e67bc889a6f703d5dda3606efab8 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Tue, 20 Jul 2021 12:17:07 +0200
Subject: [PATCH] Added QuotaExceededException

---
 .../vospace/exception/QuotaExceededException.java    | 12 ++++++++++++
 .../oats/vospace/exception/VOSpaceFaultEnum.java     |  3 ++-
 .../exception/VoSpaceErrorSummarizableException.java |  2 +-
 3 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/it/inaf/oats/vospace/exception/QuotaExceededException.java

diff --git a/src/main/java/it/inaf/oats/vospace/exception/QuotaExceededException.java b/src/main/java/it/inaf/oats/vospace/exception/QuotaExceededException.java
new file mode 100644
index 0000000..3fd84bc
--- /dev/null
+++ b/src/main/java/it/inaf/oats/vospace/exception/QuotaExceededException.java
@@ -0,0 +1,12 @@
+package it.inaf.oats.vospace.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(HttpStatus.INSUFFICIENT_STORAGE)
+public class QuotaExceededException extends VoSpaceErrorSummarizableException {
+
+    public QuotaExceededException(String errorDetail) {
+        super(errorDetail, VOSpaceFaultEnum.QUOTA_EXCEEDED);
+    }
+}
diff --git a/src/main/java/it/inaf/oats/vospace/exception/VOSpaceFaultEnum.java b/src/main/java/it/inaf/oats/vospace/exception/VOSpaceFaultEnum.java
index 82bf0b5..e7046a0 100644
--- a/src/main/java/it/inaf/oats/vospace/exception/VOSpaceFaultEnum.java
+++ b/src/main/java/it/inaf/oats/vospace/exception/VOSpaceFaultEnum.java
@@ -26,7 +26,8 @@ public enum VOSpaceFaultEnum {
     // additional for pushfrom
     TRANSFER_FAILED("Transfer Failed", ErrorType.FATAL, "TransferFailed"),
     // additional for movenode/copynode
-    DUPLICATE_NODE("Duplicate Node", ErrorType.FATAL, "DuplicateNode");
+    DUPLICATE_NODE("Duplicate Node", ErrorType.FATAL, "DuplicateNode"),
+    QUOTA_EXCEEDED("Quota Exceeded", ErrorType.FATAL, "QuotaExceeded");
 
     private final String faultRepresentation;
     private final ErrorType type;
diff --git a/src/main/java/it/inaf/oats/vospace/exception/VoSpaceErrorSummarizableException.java b/src/main/java/it/inaf/oats/vospace/exception/VoSpaceErrorSummarizableException.java
index ebd8b2a..0a4806f 100644
--- a/src/main/java/it/inaf/oats/vospace/exception/VoSpaceErrorSummarizableException.java
+++ b/src/main/java/it/inaf/oats/vospace/exception/VoSpaceErrorSummarizableException.java
@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
 public abstract class VoSpaceErrorSummarizableException extends VoSpaceException {
     
     VOSpaceFaultEnum fault;
-    private String detailMessage;
+    private final String detailMessage;
     
     public VoSpaceErrorSummarizableException(String detailMessage, VOSpaceFaultEnum fault)
     {
-- 
GitLab