Restructuring the form of REST API deployment to provide
for security of app's REST APIs and for consistency of
exception mappers and JSON writer.
Change-Id: Id318372bf62f82ed974355c05e7fe64e0fbfc0c5
diff --git a/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java
new file mode 100644
index 0000000..4f24a2f
--- /dev/null
+++ b/apps/vtn/vtnweb/src/main/java/org/onosproject/vtnweb/resources/VtnWebApplication.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2014-2015 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.
+ */
+
+package org.onosproject.vtnweb.resources;
+
+import org.onlab.rest.AbstractWebApplication;
+
+import java.util.Set;
+
+/**
+ * VTN REST API web application.
+ */
+public class VtnWebApplication extends AbstractWebApplication {
+ @Override
+ public Set<Class<?>> getClasses() {
+ return getClasses(TenantNetworkWebResource.class,
+ SubnetWebResource.class,
+ VirtualPortWebResource.class,
+ FlowClassifierWebResource.class,
+ PortChainWebResource.class,
+ PortPairGroupWebResource.class,
+ PortPairWebResource.class,
+ FloatingIpWebResource.class,
+ RouterWebResource.class);
+ }
+}
+
diff --git a/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml b/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml
index 3b8d5d7..abc83e4 100644
--- a/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml
+++ b/apps/vtn/vtnweb/src/main/webapp/WEB-INF/web.xml
@@ -42,41 +42,17 @@
-->
<servlet>
- <servlet-name>VTNRSC JAX-RS Service</servlet-name>
+ <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.vtnweb.resources.TenantNetworkWebResource,
- org.onosproject.vtnweb.resources.SubnetWebResource,
- org.onosproject.vtnweb.resources.VirtualPortWebResource,
- org.onosproject.vtnweb.resources.FlowClassifierWebResource,
- org.onosproject.vtnweb.resources.PortChainWebResource,
- org.onosproject.vtnweb.resources.PortPairGroupWebResource,
- org.onosproject.vtnweb.resources.PortPairWebResource,
- org.onosproject.vtnweb.resources.FloatingIpWebResource,
- org.onosproject.vtnweb.resources.RouterWebResource
- </param-value>
+ <param-name>javax.ws.rs.Application</param-name>
+ <param-value>org.onosproject.vtnweb.resources.VtnWebApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
- <servlet-name>VTNRSC JAX-RS Service</servlet-name>
+ <servlet-name>JAX-RS Service</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>