<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2014-present Open Networking Foundation
  ~
  ~ 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 GUI 2</display-name>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

    <!--
    -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Secured</web-resource-name>
            <url-pattern>/index.html</url-pattern>
        </web-resource-collection>
        <web-resource-collection>
            <web-resource-name>Secured API</web-resource-name>
            <url-pattern>/rs/applications/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
        <!--
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
        -->
    </security-constraint>

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

    <login-config>
        <auth-method>FORM</auth-method>
        <realm-name>karaf</realm-name>
        <form-login-config>
            <form-login-page>/login.html</form-login-page>
            <form-error-page>/error.html</form-error-page>
        </form-login-config>
    </login-config>

    <servlet>
        <servlet-name>Index Page</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.classnames</param-name>
            <param-value>org.onosproject.ui.impl.MainIndexResource</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Index Page</servlet-name>
        <url-pattern>/index.html</url-pattern>
    </servlet-mapping>

    <!--<servlet>-->
        <!--<servlet-name>Main Module</servlet-name>-->
        <!--<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>-->
        <!--<init-param>-->
            <!--<param-name>jersey.config.server.provider.classnames</param-name>-->
            <!--<param-value>org.onosproject.ui.impl.MainModuleResource-->
            <!--</param-value>-->
        <!--</init-param>-->
        <!--<load-on-startup>1</load-on-startup>-->
    <!--</servlet>-->

    <!--<servlet-mapping>-->
        <!--<servlet-name>Main Module</servlet-name>-->
        <!--<url-pattern>/onos.js</url-pattern>-->
    <!--</servlet-mapping>-->

    <!--<servlet>-->
        <!--<servlet-name>Nav Module</servlet-name>-->
        <!--<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>-->
        <!--<init-param>-->
            <!--<param-name>jersey.config.server.provider.classnames</param-name>-->
            <!--<param-value>org.onosproject.ui.impl.MainNavResource</param-value>-->
        <!--</init-param>-->
        <!--<load-on-startup>1</load-on-startup>-->
    <!--</servlet>-->

    <!--<servlet-mapping>-->
        <!--<servlet-name>Nav Module</servlet-name>-->
        <!--<url-pattern>/nav.html</url-pattern>-->
    <!--</servlet-mapping>-->

    <!--<servlet>-->
        <!--<servlet-name>View Module</servlet-name>-->
        <!--<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>-->
        <!--<init-param>-->
            <!--<param-name>jersey.config.server.provider.classnames</param-name>-->
            <!--<param-value>org.onosproject.ui.impl.MainViewResource</param-value>-->
        <!--</init-param>-->
        <!--<load-on-startup>1</load-on-startup>-->
    <!--</servlet>-->

    <!--<servlet-mapping>-->
        <!--<servlet-name>View Module</servlet-name>-->
        <!--<url-pattern>/app/view/*</url-pattern>-->
    <!--</servlet-mapping>-->

    <!--<servlet>-->
        <!--<servlet-name>Foo Module</servlet-name>-->
        <!--<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>-->
        <!--<init-param>-->
            <!--<param-name>jersey.config.server.provider.classnames</param-name>-->
            <!--<param-value>org.onosproject.ui.impl.FooResource</param-value>-->
        <!--</init-param>-->
        <!--<load-on-startup>1</load-on-startup>-->
    <!--</servlet>-->

    <!--<servlet-mapping>-->
        <!--<servlet-name>Foo Module</servlet-name>-->
        <!--<url-pattern>/raw/*</url-pattern>-->
    <!--</servlet-mapping>-->

    <servlet>
        <servlet-name>JAX-RS Service</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.classnames</param-name>
            <param-value>
                org.glassfish.jersey.media.multipart.MultiPartFeature,
                org.onosproject.ui.impl.gui2.LogoutResource,
                <!--org.onosproject.ui.impl.TopologyResource,-->
                org.onosproject.ui.impl.ApplicationResource
            </param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

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

    <!--<servlet>-->
        <!--<servlet-name>Web Socket Service</servlet-name>-->
        <!--<servlet-class>org.onosproject.ui.impl.UiWebSocketServlet-->
        <!--</servlet-class>-->
        <!--<load-on-startup>2</load-on-startup>-->
    <!--</servlet>-->

    <!--<servlet-mapping>-->
        <!--<servlet-name>Web Socket Service</servlet-name>-->
        <!--<url-pattern>/websock/*</url-pattern>-->
    <!--</servlet-mapping>-->

</web-app>
