Upversion artifacts to 1.8.0-SNAPSHOT
[aai/data-router.git] / src / main / java / org / onap / aai / datarouter / exception / DataRouterError.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 package org.onap.aai.datarouter.exception;
22
23 /*
24  * COPYRIGHT NOTICE: Copyright (c) 2016 Team Pacifica (Amdocs & AT&T) The contents and intellectual
25  * property contained herein, remain the property of Team Pacifica (Amdocs & AT&T).
26  */
27
28 import java.text.MessageFormat;
29
30 import javax.ws.rs.core.Response.Status;
31
32 /**
33  * DL enum for error conditions.
34  */
35 public enum DataRouterError {
36
37   /** Parsing exceptions - Range 100..199. */
38   DL_PARSE_100("DL-100", "Unable to find resource {0} in the model", Status.BAD_REQUEST), 
39   DL_PARSE_101("DL-101", "Unable to parse ", Status.BAD_REQUEST), 
40   DL_PARSE_102("DL-102", "Sot Filter error: {0} ", Status.INTERNAL_SERVER_ERROR), 
41   DL_PARSE_103("DL-103", "URL Parsing error: {0} ", Status.BAD_REQUEST), 
42   DL_PARSE_104("DL-104", "Missing Ids filter: {0} ", Status.BAD_REQUEST), 
43   DL_PARSE_105("DL-105", "Invalid Ids filter: {0} ", Status.BAD_REQUEST),
44
45   /** Validation exceptions - Range 200..299. */
46   DL_VALIDATION_200("DL-200", "Missing X-TransactionId in header ", Status.BAD_REQUEST),
47
48   /** Other components integration errors - Range 300..399. */
49   DL_INTEGRATION_300("DL-300", "Unable to decorate Graph ", Status.INTERNAL_SERVER_ERROR),
50
51   /** Environment related exceptions - Range 400..499. */
52   DL_ENV_400("DL-400", "Unable to find file {0} ", Status.INTERNAL_SERVER_ERROR), 
53   DL_ENV_401("DL-401", "Unable to Load OXM Models", Status.INTERNAL_SERVER_ERROR),
54
55   /** Other components integration errors - Range 500..599. */
56   DL_AUTH_500("DL-500", "Unable to authorize User ", Status.FORBIDDEN);
57
58   /** The error id. */
59   private String id;
60   /** The error message. */
61   private String message;
62   /** The error http return code. */
63   private Status status;
64
65   /**
66    * Constructor.
67    * 
68    * @param id the error id
69    * @param message the error message
70    */
71   DataRouterError(final String id, final String message, final Status status) {
72     this.id = id;
73     this.message = message;
74     this.status = status;
75   }
76
77   /**
78    * Get the id.
79    * 
80    * @return the error id
81    */
82   public String getId() {
83     return this.id;
84   }
85
86   /**
87    * Get the message.
88    * 
89    * @param args the error arguments
90    * @return the error message
91    */
92   public String getMessage(final Object... args) {
93     final MessageFormat formatter = new MessageFormat("");
94     formatter.applyPattern(this.message);
95     return formatter.format(args);
96   }
97
98   public Status getHttpStatus() {
99     return this.status;
100   }
101
102 }