<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2014 Open Networking Laboratory
  ~
  ~ 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.
  -->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="ONOS" version="2.5">
    <display-name>ONOS REST API v1.0</display-name>

    <!--
    <security-constraint>
        <display-name>authenticated</display-name>
        <web-resource-collection>
            <web-resource-name>All files</web-resource-name>
            <description/>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <description/>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>

    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>karaf</realm-name>
    </login-config>

    <security-role>
        <description/>
        <role-name>admin</role-name>
    </security-role>
    -->

    <servlet>
        <servlet-name>JAX-RS Service</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
            <param-value>com.sun.jersey.api.core.ClassNamesResourceConfig</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.config.property.classnames</param-name>
            <param-value>
                org.onosproject.rest.exceptions.EntityNotFoundMapper,
                org.onosproject.rest.exceptions.ServiceNotFoundMapper,
                org.onosproject.rest.exceptions.NotFoundMapper,
                org.onosproject.rest.exceptions.ServerErrorMapper,
                org.onosproject.rest.exceptions.BadRequestMapper,
                org.onosproject.rest.exceptions.WebApplicationExceptionMapper,
                org.onosproject.rest.exceptions.IllegalArgumentExceptionMapper,
                org.onosproject.rest.exceptions.IllegalStateExceptionMapper,
                org.onosproject.rest.resources.JsonBodyWriter,

                org.onosproject.rest.resources.ApplicationsWebResource,
                org.onosproject.rest.resources.ComponentConfigWebResource,
                org.onosproject.rest.resources.ClusterWebResource,
                org.onosproject.rest.resources.DevicesWebResource,
                org.onosproject.rest.resources.LinksWebResource,
                org.onosproject.rest.resources.HostsWebResource,
                org.onosproject.rest.resources.IntentsWebResource,
                org.onosproject.rest.resources.FlowsWebResource,
                org.onosproject.rest.resources.TopologyWebResource,
                org.onosproject.rest.resources.ConfigWebResource,
                org.onosproject.rest.resources.PathsWebResource
            </param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>JAX-RS Service</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app>
