blob: 2e8f7ec5f5e2e18c1a3afa12cbf715b2c2d6f743 [file] [log] [blame]
Ray Milkeya0cecdc2015-04-09 09:51:52 -07001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2015-present Open Networking Laboratory
Ray Milkeya0cecdc2015-04-09 09:51:52 -07003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Thomas Vachuskaa026be72015-12-07 16:00:37 -080016
17package org.onlab.rest.exceptions;
Ray Milkeya0cecdc2015-04-09 09:51:52 -070018
19import javax.ws.rs.WebApplicationException;
20import javax.ws.rs.core.Response;
Ray Milkey05b169d2015-08-13 14:33:33 -070021import javax.ws.rs.ext.Provider;
Ray Milkeya0cecdc2015-04-09 09:51:52 -070022
23/**
24 * Exception mapper for WebApplicationExceptions.
25 */
Ray Milkey05b169d2015-08-13 14:33:33 -070026@Provider
Ray Milkeya0cecdc2015-04-09 09:51:52 -070027public class WebApplicationExceptionMapper extends AbstractMapper<WebApplicationException> {
28
29 /**
30 * Extracts and returns the response from a WebApplicationException.
31 *
32 * @param e WebApplicationException that was thrown
33 * @return precomputed Response from the exception
34 */
35 @Override
36 public Response toResponse(WebApplicationException e) {
37 return e.getResponse();
38 }
39
40 @Override
41 public Response.Status responseStatus() {
42 // This should never be called because this class overrides toResponse()
43 throw new UnsupportedOperationException(
44 "responseStatus() for a WebApplicationException should never be called");
45 }
46}