[ONOS-4945] PCE Json fix
Change-Id: I701ed1044c603ea60becf8ba606098e4154a7733
diff --git a/apps/pce/app/pom.xml b/apps/pce/app/pom.xml
index cf6aec9..fb3d299 100644
--- a/apps/pce/app/pom.xml
+++ b/apps/pce/app/pom.xml
@@ -68,11 +68,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-osgi</artifactId>
<classifier>tests</classifier>
@@ -90,11 +85,6 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onlab-rest</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
@@ -108,31 +98,12 @@
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
- <groupId>org.glassfish.jersey.containers</groupId>
- <artifactId>jersey-container-servlet</artifactId>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.test-framework</groupId>
- <artifactId>jersey-test-framework-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-jetty</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
- <artifactId>onlab-misc</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
<artifactId>onos-app-pcep-api</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/DefaultPcePath.java b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/DefaultPcePath.java
index 2724e8a..42ee274 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/DefaultPcePath.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/DefaultPcePath.java
@@ -247,13 +247,15 @@
// LSP type
String lspType = tunnel.annotations().value(PcepAnnotationKeys.LSP_SIG_TYPE);
if (lspType != null) {
- this.lspType = LspType.values()[Integer.valueOf(lspType) - 1];
+ this.lspType = LspType.values()[LspType.valueOf(lspType).type()];
}
+
// Cost type
String costType = tunnel.annotations().value(PcepAnnotationKeys.COST_TYPE);
if (costType != null) {
- this.costConstraint = CostConstraint.of(CostConstraint.Type.values()[Integer.valueOf(costType) - 1]);
+ this.costConstraint = CostConstraint.of(CostConstraint.Type.valueOf(costType));
}
+
// Bandwidth
String bandwidth = tunnel.annotations().value(PcepAnnotationKeys.BANDWIDTH);
if (bandwidth != null) {
diff --git a/apps/pce/pcerest/pom.xml b/apps/pce/pcerest/pom.xml
new file mode 100644
index 0000000..9f902ee
--- /dev/null
+++ b/apps/pce/pcerest/pom.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2016-2017 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-pce</artifactId>
+ <version>1.7.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>onos-app-pcerest</artifactId>
+ <packaging>bundle</packaging>
+ <properties>
+ <web.context>/onos/pce</web.context>
+ <onos.app.name>org.onosproject.pcerest</onos.app.name>
+ <onos.app.title>PCE REST application</onos.app.title>
+ <onos.app.category>Utility</onos.app.category>
+ <onos.app.url>https://wiki.onosproject.org/display/ONOS/</onos.app.url>
+ <onos.app.readme>RESTCONF for PCE.</onos.app.readme>
+ </properties>
+ <description>PCE REST application</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.ws.rs</groupId>
+ <artifactId>javax.ws.rs-api</artifactId>
+ <version>2.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onlab-junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-core-serializers</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onlab-junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onlab-osgi</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onlab-misc</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.test-framework</groupId>
+ <artifactId>jersey-test-framework-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onlab-rest</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-incubator-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-app-pce</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <_wab>src/main/resources/</_wab>
+ <Bundle-SymbolicName>
+ ${project.groupId}.${project.artifactId}
+ </Bundle-SymbolicName>
+ <Import-Package>
+ *,org.glassfish.jersey.servlet
+ </Import-Package>
+ <Web-ContextPath>${web.context}</Web-ContextPath>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PceCodecRegistrator.java b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java
similarity index 97%
rename from apps/pce/app/src/main/java/org/onosproject/pce/rest/PceCodecRegistrator.java
rename to apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java
index fb4f9ed..685d330 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PceCodecRegistrator.java
+++ b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceCodecRegistrator.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PcePathCodec.java b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PcePathCodec.java
similarity index 98%
rename from apps/pce/app/src/main/java/org/onosproject/pce/rest/PcePathCodec.java
rename to apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PcePathCodec.java
index 9be32e3..034d045 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PcePathCodec.java
+++ b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PcePathCodec.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import static com.google.common.base.Preconditions.checkNotNull;
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PcePathWebResource.java b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PcePathWebResource.java
similarity index 96%
rename from apps/pce/app/src/main/java/org/onosproject/pce/rest/PcePathWebResource.java
rename to apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PcePathWebResource.java
index a54e0b2..1b7c48b 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PcePathWebResource.java
+++ b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PcePathWebResource.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import static javax.ws.rs.core.Response.Status.OK;
import static org.onlab.util.Tools.nullIsNotFound;
@@ -69,6 +69,7 @@
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
public Response queryAllPath() {
log.debug("Query all paths.");
Iterable<Tunnel> tunnels = get(PceService.class).queryAllPath();
@@ -92,6 +93,7 @@
@GET
@Path("{path_id}")
@Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
public Response queryPath(@PathParam("path_id") String id) {
log.debug("Query path by identifier {}.", id);
Tunnel tunnel = nullIsNotFound(get(PceService.class).queryPath(TunnelId.valueOf(id)),
@@ -183,8 +185,10 @@
* @param id path id
* @return 200 OK, 404 if given identifier does not exist
*/
- @Path("{path_id}")
@DELETE
+ @Path("{path_id}")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
public Response releasePath(@PathParam("path_id") String id) {
log.debug("Deletes path by identifier {}.", id);
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PceWebApplication.java b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceWebApplication.java
similarity index 95%
rename from apps/pce/app/src/main/java/org/onosproject/pce/rest/PceWebApplication.java
rename to apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceWebApplication.java
index 3ff2dc3..09fc42a 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/rest/PceWebApplication.java
+++ b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/PceWebApplication.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import org.onlab.rest.AbstractWebApplication;
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/rest/package-info.java b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/package-info.java
similarity index 94%
rename from apps/pce/app/src/main/java/org/onosproject/pce/rest/package-info.java
rename to apps/pce/pcerest/src/main/java/org/onosproject/pcerest/package-info.java
index a56073c..3cc04cd 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/rest/package-info.java
+++ b/apps/pce/pcerest/src/main/java/org/onosproject/pcerest/package-info.java
@@ -17,4 +17,5 @@
/**
* PCE rest application.
*/
-package org.onosproject.pce.rest;
+
+package org.onosproject.pcerest;
diff --git a/apps/pce/app/src/main/webapp/WEB-INF/web.xml b/apps/pce/pcerest/src/main/resources/WEB-INF/web.xml
similarity index 88%
rename from apps/pce/app/src/main/webapp/WEB-INF/web.xml
rename to apps/pce/pcerest/src/main/resources/WEB-INF/web.xml
index 53991f5..66dc27a 100644
--- a/apps/pce/app/src/main/webapp/WEB-INF/web.xml
+++ b/apps/pce/pcerest/src/main/resources/WEB-INF/web.xml
@@ -22,10 +22,10 @@
<servlet>
<servlet-name>JAX-RS Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
- <param-value>org.onosproject.pce.rest.PceWebApplication</param-value>
+ <param-value>org.onosproject.pcerest.PceWebApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/rest/MockPceCodecContext.java b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/MockPceCodecContext.java
similarity index 97%
rename from apps/pce/app/src/test/java/org/onosproject/pce/rest/MockPceCodecContext.java
rename to apps/pce/pcerest/src/test/java/org/onosproject/pcerest/MockPceCodecContext.java
index f4704de..07b94fc 100644
--- a/apps/pce/app/src/test/java/org/onosproject/pce/rest/MockPceCodecContext.java
+++ b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/MockPceCodecContext.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import org.onosproject.codec.CodecContext;
import org.onosproject.codec.CodecService;
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/rest/PcePathCodecTest.java b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PcePathCodecTest.java
similarity index 98%
rename from apps/pce/app/src/test/java/org/onosproject/pce/rest/PcePathCodecTest.java
rename to apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PcePathCodecTest.java
index 9f970d3..b8d69c5 100644
--- a/apps/pce/app/src/test/java/org/onosproject/pce/rest/PcePathCodecTest.java
+++ b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PcePathCodecTest.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/rest/PcePathResourceTest.java b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PcePathResourceTest.java
similarity index 98%
rename from apps/pce/app/src/test/java/org/onosproject/pce/rest/PcePathResourceTest.java
rename to apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PcePathResourceTest.java
index e287c32..a61a294 100644
--- a/apps/pce/app/src/test/java/org/onosproject/pce/rest/PcePathResourceTest.java
+++ b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PcePathResourceTest.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.createMock;
@@ -160,8 +160,8 @@
// Annotations
DefaultAnnotations.Builder builderAnn = DefaultAnnotations.builder();
- builderAnn.set(PcepAnnotationKeys.LSP_SIG_TYPE, "2");
- builderAnn.set(PcepAnnotationKeys.COST_TYPE, "2");
+ builderAnn.set(PcepAnnotationKeys.LSP_SIG_TYPE, "WITH_SIGNALLING");
+ builderAnn.set(PcepAnnotationKeys.COST_TYPE, "COST");
builderAnn.set(PcepAnnotationKeys.BANDWIDTH, "200");
// Tunnel
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/rest/PceResourceTest.java b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PceResourceTest.java
similarity index 96%
rename from apps/pce/app/src/test/java/org/onosproject/pce/rest/PceResourceTest.java
rename to apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PceResourceTest.java
index 5f39c62..18fa46b 100644
--- a/apps/pce/app/src/test/java/org/onosproject/pce/rest/PceResourceTest.java
+++ b/apps/pce/pcerest/src/test/java/org/onosproject/pcerest/PceResourceTest.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.pce.rest;
+package org.onosproject.pcerest;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
diff --git a/apps/pce/app/src/test/resources/org/onosproject/pce/rest/pcePath.json b/apps/pce/pcerest/src/test/resources/org/onosproject/pcerest/pcePath.json
similarity index 100%
rename from apps/pce/app/src/test/resources/org/onosproject/pce/rest/pcePath.json
rename to apps/pce/pcerest/src/test/resources/org/onosproject/pcerest/pcePath.json
diff --git a/apps/pce/app/src/test/resources/org/onosproject/pce/rest/post-PcePath.json b/apps/pce/pcerest/src/test/resources/org/onosproject/pcerest/post-PcePath.json
similarity index 100%
rename from apps/pce/app/src/test/resources/org/onosproject/pce/rest/post-PcePath.json
rename to apps/pce/pcerest/src/test/resources/org/onosproject/pcerest/post-PcePath.json
diff --git a/apps/pce/pom.xml b/apps/pce/pom.xml
index 248cf68..ec444fd 100644
--- a/apps/pce/pom.xml
+++ b/apps/pce/pom.xml
@@ -32,6 +32,7 @@
<modules>
<module>app</module>
<module>pceweb</module>
+ <module>pcerest</module>
</modules>
</project>