# UnexpectedServerErrorException.java

    /*
     *   Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
     *
     *   WSO2 Inc. licenses this file to you 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.
     *
     */

    package org.wso2.carbon.mdm.services.android.exception;

    import org.wso2.carbon.mdm.services.android.bean.ErrorResponse;
    import org.wso2.carbon.mdm.services.android.util.AndroidConstants;

    import javax.ws.rs.WebApplicationException;
    import javax.ws.rs.core.Response;

    public class UnexpectedServerErrorException extends WebApplicationException {
        private String message;
        private static final long serialVersionUID = 147943579458906890L;

        public UnexpectedServerErrorException(ErrorResponse error) {
            super(Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(error).build());
        }
        public UnexpectedServerErrorException(ErrorDTO errorDTO) {
            super(Response.status(Response.Status.INTERNAL_SERVER_ERROR)
                    .entity(errorDTO)
                    .header(AndroidConstants.HEADER_CONTENT_TYPE, AndroidConstants.APPLICATION_JSON)
                    .build());
            message = errorDTO.getDescription();
        }

        @Override
        public String getMessage() {
            return message;
        }

    }