Initial commit with all the necessary files
[aai/aai-common.git] / aai-core / src / main / java / org / openecomp / aai / logging / ErrorObject.java
diff --git a/aai-core/src/main/java/org/openecomp/aai/logging/ErrorObject.java b/aai-core/src/main/java/org/openecomp/aai/logging/ErrorObject.java
new file mode 100644 (file)
index 0000000..dc355cc
--- /dev/null
@@ -0,0 +1,308 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.logging;
+
+import javax.ws.rs.core.Response.Status;
+
+/**
+ * 
+ * Contains the definition of all error message fields to be mapped from the Error
+ * properties file
+ *  
+ */
+public class ErrorObject {
+       
+       private String disposition;
+       private String category;
+       private String severity;
+       private Status httpResponseCode = Status.INTERNAL_SERVER_ERROR; // default
+       private String restErrorCode = "3002";
+       private String errorCode;
+       private String errorText;
+
+       /**
+        * Instantiates a new error object.
+        */
+       public ErrorObject() {
+               super();
+       }
+
+       /**
+        * Creates an error object with the default HTTP Error Code (Status.INTERNAL_SERVER_ERROR)
+        *
+        * @param disposition the disposition
+        * @param category the category
+        * @param severity the severity
+        * @param httpResponseCode the http response code
+        * @param restErrorCode the rest error code
+        * @param errorCode the error code
+        * @param errorText the error text
+        */
+       public ErrorObject(String disposition, String category, String severity, Integer httpResponseCode, String restErrorCode, String errorCode, String errorText) {
+               super();
+               this.setDisposition(disposition);
+               this.setCategory(category);
+               this.severity = severity;
+               this.setHTTPResponseCode(httpResponseCode);
+               this.setRESTErrorCode(restErrorCode);
+               this.setErrorCode(errorCode);
+               this.setErrorText(errorText);
+       }
+
+       // OLD STARTS HERE
+
+       /**
+        * Instantiates a new error object.
+        *
+        * @param severity the severity
+        * @param errorCode the error code
+        * @param errorText the error text
+        * @param disposition the disposition
+        * @param category the category
+        */
+       public ErrorObject(String severity, String errorCode, String errorText, String disposition, String category) {
+               this(severity, Status.INTERNAL_SERVER_ERROR, errorCode, errorText, disposition, category);
+       }
+       
+       /**
+        * Instantiates a new error object.
+        *
+        * @param severity the severity
+        * @param httpResponseCode the http response code
+        * @param errorCode the error code
+        * @param errorText the error text
+        * @param disposition the disposition
+        * @param category the category
+        */
+       public ErrorObject(String severity, Integer httpResponseCode, String errorCode, String errorText, String disposition, String category) {
+               super();
+               this.severity = severity;
+               this.setHTTPResponseCode(httpResponseCode);
+               this.setErrorCode(errorCode);
+               this.setErrorText(errorText);
+               this.setDisposition(disposition);
+               this.setCategory(category);
+       }
+       
+       /**
+        * Instantiates a new error object.
+        *
+        * @param severity the severity
+        * @param httpResponseCode the http response code
+        * @param errorCode the error code
+        * @param errorText the error text
+        * @param disposition the disposition
+        * @param category the category
+        */
+       public ErrorObject(String severity, Status httpResponseCode, String errorCode, String errorText, String disposition, String category) {
+               super();
+               this.severity = severity;
+               this.setHTTPResponseCode(httpResponseCode);
+               this.setErrorCode(errorCode);
+               this.setErrorText(errorText);
+               this.setDisposition(disposition);
+               this.setCategory(category);
+       }
+       
+       /**
+        * Gets the disposition.
+        *
+        * @return the disposition
+        */
+       public String getDisposition() {
+               return disposition;
+       }
+
+       /**
+        * Sets the disposition.
+        *
+        * @param disposition the new disposition
+        */
+       public void setDisposition(String disposition) {
+               this.disposition = disposition;
+       }
+
+       /**
+        * Gets the category.
+        *
+        * @return the category
+        */
+       public String getCategory() {
+               return category;
+       }
+
+       /**
+        * Sets the category.
+        *
+        * @param category the new category
+        */
+       public void setCategory(String category) {
+               this.category = category;
+       }
+       
+       /**
+        * Gets the severity.
+        *
+        * @return the severity
+        */
+       public String getSeverity() {
+               return severity;
+       }
+
+       /**
+        * Sets the severity.
+        *
+        * @param severity the new severity
+        */
+       public void setSeverity(String severity) {
+               this.severity = severity;
+       }
+
+       /**
+        * Gets the error code.
+        *
+        * @return the error code
+        */
+       public String getErrorCode() {
+               return errorCode;
+       }
+
+       /**
+        * Sets the error code.
+        *
+        * @param errorCode the new error code
+        */
+       public void setErrorCode(String errorCode) {
+               this.errorCode = errorCode;
+       }
+       
+       /**
+        * Gets the HTTP response code.
+        *
+        * @return the HTTP response code
+        */
+       public Status getHTTPResponseCode() {
+               return httpResponseCode;
+       }
+
+       /**
+        * Sets the HTTP response code.
+        *
+        * @param httpResponseCode the new HTTP response code
+        */
+       public void setHTTPResponseCode(Integer httpResponseCode) {
+               this.httpResponseCode = Status.fromStatusCode(httpResponseCode);
+               if (this.httpResponseCode == null) {
+                       throw new IllegalArgumentException("setHTTPResponseCode was passed an invalid Integer value, fix error.properties or your code "+httpResponseCode);
+               }
+       }
+       
+       /**
+        * Sets the HTTP response code.
+        *
+        * @param httpResponseCode the new HTTP response code
+        */
+       public void setHTTPResponseCode(String httpResponseCode) {
+               this.httpResponseCode = Status.fromStatusCode(Integer.valueOf(httpResponseCode));
+               if (this.httpResponseCode == null) {
+                       throw new IllegalArgumentException("setHTTPResponseCode was passed an invalid String value, fix error.properties or your code "+httpResponseCode);
+               }
+       }
+       
+       /**
+        * Sets the REST error code.
+        *
+        * @param restErrorCode the new REST error code
+        */
+       public void setRESTErrorCode(String restErrorCode) {
+               this.restErrorCode = restErrorCode;
+       }
+       
+       /**
+        * Gets the REST error code.
+        *
+        * @return the REST error code
+        */
+       public String getRESTErrorCode() {
+               return this.restErrorCode;
+       }
+       
+       /**
+        * Sets the HTTP response code.
+        *
+        * @param httpResponseCode the new HTTP response code
+        */
+       public void setHTTPResponseCode(Status httpResponseCode) {
+               this.httpResponseCode = httpResponseCode;
+               if (this.httpResponseCode == null) {
+                       throw new IllegalArgumentException("setHTTPResponseCode was passed an invalid String value, fix error.properties or your code "+httpResponseCode);
+               }
+       }
+
+       /**
+        * Gets the error text.
+        *
+        * @return the error text
+        */
+       public String getErrorText() {
+               return errorText;
+       }
+
+       /**
+        * Sets the error text.
+        *
+        * @param errorText the new error text
+        */
+       public void setErrorText(String errorText) {
+               this.errorText = errorText;
+       }
+
+       /**
+        * Gets the error code string.  This is also the string
+        * configured in Nagios to alert on
+        *
+        * @return the error code string
+        */
+       // Get the X.Y.Z representation of the error code
+       public String getErrorCodeString() {
+               String prefix = null;
+               switch (disposition) {
+               default:
+                       prefix = "";
+                       break;
+               case "5":
+                       prefix = "ERR.";
+                       break;
+               }
+               return prefix + disposition + "." + category + "." + errorCode;
+       }
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public String toString() {
+               return "ErrorObject [errorCode="+ errorCode + ", errorText=" + errorText
+                               + ", restErrorCode=" + restErrorCode + ", httpResponseCode="+ httpResponseCode
+                               + ", severity=" + severity + ", disposition=" + disposition + ", category=" + category +"]";
+       }
+       
+}