2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * Copyright © 2017 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
12 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
23 package org.openecomp.datarouter.exception;
26 * COPYRIGHT NOTICE: Copyright (c) 2016 Team Pacifica (Amdocs & AT&T) The contents and intellectual
27 * property contained herein, remain the property of Team Pacifica (Amdocs & AT&T).
30 import java.text.MessageFormat;
32 import javax.ws.rs.core.Response.Status;
35 * DL enum for error conditions.
37 public enum DataRouterError {
39 /** Parsing exceptions - Range 100..199. */
40 DL_PARSE_100("DL-100", "Unable to find resource {0} in the model", Status.BAD_REQUEST),
41 DL_PARSE_101("DL-101", "Unable to parse ", Status.BAD_REQUEST),
42 DL_PARSE_102("DL-102", "Sot Filter error: {0} ", Status.INTERNAL_SERVER_ERROR),
43 DL_PARSE_103("DL-103", "URL Parsing error: {0} ", Status.BAD_REQUEST),
44 DL_PARSE_104("DL-104", "Missing Ids filter: {0} ", Status.BAD_REQUEST),
45 DL_PARSE_105("DL-105", "Invalid Ids filter: {0} ", Status.BAD_REQUEST),
47 /** Validation exceptions - Range 200..299. */
48 DL_VALIDATION_200("DL-200", "Missing X-TransactionId in header ", Status.BAD_REQUEST),
50 /** Other components integration errors - Range 300..399. */
51 DL_INTEGRATION_300("DL-300", "Unable to decorate Graph ", Status.INTERNAL_SERVER_ERROR),
53 /** Environment related exceptions - Range 400..499. */
54 DL_ENV_400("DL-400", "Unable to find file {0} ", Status.INTERNAL_SERVER_ERROR),
55 DL_ENV_401("DL-401", "Unable to Load OXM Models", Status.INTERNAL_SERVER_ERROR),
57 /** Other components integration errors - Range 500..599. */
58 DL_AUTH_500("DL-500", "Unable to authorize User ", Status.FORBIDDEN);
62 /** The error message. */
63 private String message;
64 /** The error http return code. */
65 private Status status;
70 * @param id the error id
71 * @param message the error message
73 DataRouterError(final String id, final String message, final Status status) {
75 this.message = message;
82 * @return the error id
84 public String getId() {
91 * @param args the error arguments
92 * @return the error message
94 public String getMessage(final Object... args) {
95 final MessageFormat formatter = new MessageFormat("");
96 formatter.applyPattern(this.message);
97 return formatter.format(args);
100 public Status getHttpStatus() {