Fix Nexus-IQ security issues 51/28651/1 amsterdam
authorHuabingZhao <zhao.huabing@zte.com.cn>
Fri, 19 Jan 2018 10:55:27 +0000 (10:55 +0000)
committerHuabingZhao <zhao.huabing@zte.com.cn>
Fri, 19 Jan 2018 11:09:17 +0000 (11:09 +0000)
update dependcy libs

Issue-ID: MSB-129
Change-Id: I436e8da996166fe10aae37eafa74a414992d6126
Signed-off-by: HuabingZhao <zhao.huabing@zte.com.cn>
apiroute/apiroute-service/dependency-reduced-pom.xml
apiroute/apiroute-service/pom.xml
apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java
apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/wrapper/util/Jackson.java
apiroute/apiroute-service/src/main/resources/swagger.json
apiroute/pom.xml

index c8f4534..9980542 100644 (file)
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.11</version>
+      <version>4.12</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
         </exclusion>
       </exclusions>
     </dependency>
-    <dependency>
-      <groupId>com.fiftyonred</groupId>
-      <artifactId>mock-jedis</artifactId>
-      <version>0.4.0</version>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 </project>
 
index 47f4051..0d21009 100644 (file)
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)
-       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
+<!-- Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) 
+       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">
                        <groupId>io.dropwizard</groupId>
                        <artifactId>dropwizard-client</artifactId>
                </dependency>
-               <dependency>
-                       <groupId>io.swagger</groupId>
-                       <artifactId>swagger-jersey2-jaxrs</artifactId>
-                       <scope>compile</scope>
-               </dependency>
                <!-- add by wangyg:增加redis的java客户端jedis依赖 -->
                <dependency>
                        <groupId>redis.clients</groupId>
                </dependency>
 
                <dependency>
-        <groupId>commons-io</groupId>
-        <artifactId>commons-io</artifactId>
-      </dependency>
+                       <groupId>commons-io</groupId>
+                       <artifactId>commons-io</artifactId>
+               </dependency>
 
-         <dependency>
-          <groupId>org.onap.msb.swagger-sdk</groupId>
-          <artifactId>swagger-sdk</artifactId>
-          <version>1.0.1-SNAPSHOT</version>
-          <exclusions>
-              <exclusion>
-                  <groupId>org.slf4j</groupId>
-                  <artifactId>slf4j-log4j12</artifactId>
-              </exclusion>
-          </exclusions>
-      </dependency>
+               <dependency>
+                       <groupId>org.onap.msb.swagger-sdk</groupId>
+                       <artifactId>swagger-sdk</artifactId>
+                       <version>1.0.1-SNAPSHOT</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>org.slf4j</groupId>
+                                       <artifactId>slf4j-log4j12</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
 
        </dependencies>
        <build>
                        </plugin>
 
                        <!-- JSON -->
-                        <plugin>
-                                       <groupId>org.codehaus.mojo</groupId>
-                                       <artifactId>properties-maven-plugin</artifactId>
-                                       <version>1.0.0</version>
-                                         <executions>
-                                                 <execution>
-                                                       <phase>initialize</phase>
-                                                       <goals>
-                                                         <goal>read-project-properties</goal>
-                                                       </goals>
-                                                       <configuration>
-                                                         <files>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>properties-maven-plugin</artifactId>
+                               <version>1.0.0</version>
+                               <executions>
+                                       <execution>
+                                               <phase>initialize</phase>
+                                               <goals>
+                                                       <goal>read-project-properties</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <files>
                                                                <file>${basedir}/src/main/resources/swagger.properties</file>
-                                                         </files>
-                                                       </configuration>
-                                                 </execution>
-                                       </executions>
-                               </plugin>
-                               <plugin>
-                                       <groupId>com.github.kongchen</groupId>
-                                       <artifactId>swagger-maven-plugin</artifactId>
-                                       <version>3.1.4</version>
-                                       <configuration>
-                                               <apiSources>
-                                                 <apiSource>
-                                                               <locations>${api-rest-package}</locations>
-                                                               <schemes>
-                                                                   <scheme>http</scheme>
-                                                                   <scheme>https</scheme>
-                                                               </schemes>
-                                                               <host>${api-host-ip}:${api-host-port}</host>
-                                                               <basePath>${api-base-path}</basePath>
-                                                               <info>
-                                                                       <title>${api-title}</title>
-                                                                       <version>${api-version}</version>
-                                                                       <description>${api-description}</description>
-                                                                       <license>
-                                                                               <name>${api-license}</name>
-                                                                       </license>
-                                                               </info>
-                                                               <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
-                                                       </apiSource>
-                                               </apiSources>
-                                       </configuration>
-                                       <executions>
-                                               <execution>
-                                                       <phase>compile</phase>
-                                                       <goals>
-                                                               <goal>generate</goal>
-                                                       </goals>
-                                               </execution>
-                                       </executions>
-                               </plugin>
-                               <plugin>
-                                       <groupId>org.apache.maven.plugins</groupId>
-                                       <artifactId>maven-install-plugin</artifactId>
-                                       <version>2.3.1</version>
-                                       <executions>
-                                               <execution>
-                                                       <id>install-file-id</id>
-                                                       <phase>install</phase>
-                                                       <goals>
-                                                               <goal>install-file</goal>
-                                                       </goals>
-                                                       <configuration>
-                                                               <file>${basedir}/src/main/resources/swagger.json</file>
-                                                               <groupId>${project.groupId}</groupId>
-                                                               <artifactId>${project.artifactId}-swagger-schema</artifactId>
-                                                               <version>${project.version}</version>
-                                                               <packaging>json</packaging>
-                                                       </configuration>
-                                               </execution>
-                                       </executions>
-                               </plugin>
+                                                       </files>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>com.github.kongchen</groupId>
+                               <artifactId>swagger-maven-plugin</artifactId>
+                               <version>3.1.4</version>
+                               <configuration>
+                                       <apiSources>
+                                               <apiSource>
+                                                       <locations>${api-rest-package}</locations>
+                                                       <schemes>
+                                                               <scheme>http</scheme>
+                                                               <scheme>https</scheme>
+                                                       </schemes>
+                                                       <host>${api-host-ip}:${api-host-port}</host>
+                                                       <basePath>${api-base-path}</basePath>
+                                                       <info>
+                                                               <title>${api-title}</title>
+                                                               <version>${api-version}</version>
+                                                               <description>${api-description}</description>
+                                                               <license>
+                                                                       <name>${api-license}</name>
+                                                               </license>
+                                                       </info>
+                                                       <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
+                                               </apiSource>
+                                       </apiSources>
+                               </configuration>
+                               <executions>
+                                       <execution>
+                                               <phase>compile</phase>
+                                               <goals>
+                                                       <goal>generate</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-install-plugin</artifactId>
+                               <version>2.3.1</version>
+                               <executions>
+                                       <execution>
+                                               <id>install-file-id</id>
+                                               <phase>install</phase>
+                                               <goals>
+                                                       <goal>install-file</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <file>${basedir}/src/main/resources/swagger.json</file>
+                                                       <groupId>${project.groupId}</groupId>
+                                                       <artifactId>${project.artifactId}-swagger-schema</artifactId>
+                                                       <version>${project.version}</version>
+                                                       <packaging>json</packaging>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
 
-                               <!-- SDK -->
-                               <plugin>
+                       <!-- SDK -->
+                       <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-antrun-plugin</artifactId>
                                <version>1.8</version>
                                <executions>
-                                 <execution>
-                                       <phase>initialize</phase>
-                                       <id>ant-create-script</id>
-                                       <configuration>
-                                         <exportAntProperties>true</exportAntProperties>
-                                         <tasks>
-                                               <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
-                                               <condition property="is_windows" value="true">
-                                                 <os family="windows"/>
-                                               </condition>
-                                               <condition property="isLinux" value="true">
-                                                 <os family="unix"/>
-                                               </condition>
-                                               <if>
-                                                 <equals arg1="${is_windows}" arg2="true"/>
-                                                 <then>
-                                                       <property name="swagger.sdk.script.file" value="generated-source-script.bat"/>
-                                                       <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
-                                                       <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
-                                                 </then>
-                                                 <else>
-                                                       <property name="swagger.sdk.script.file" value="generated-source-script.sh"/>
-                                                       <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
-                                                       <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
-                                                       <chmod file="${project.build.directory}${file.separator}generated-source-script.sh" perm="755"/>
-                                                 </else>
-                                               </if>
-                                         </tasks>
-                                       </configuration>
-                                       <goals>
-                                         <goal>run</goal>
-                                       </goals>
-                                 </execution>
+                                       <execution>
+                                               <phase>initialize</phase>
+                                               <id>ant-create-script</id>
+                                               <configuration>
+                                                       <exportAntProperties>true</exportAntProperties>
+                                                       <tasks>
+                                                               <taskdef resource="net/sf/antcontrib/antlib.xml"
+                                                                       classpathref="maven.plugin.classpath" />
+                                                               <condition property="is_windows" value="true">
+                                                                       <os family="windows" />
+                                                               </condition>
+                                                               <condition property="isLinux" value="true">
+                                                                       <os family="unix" />
+                                                               </condition>
+                                                               <if>
+                                                                       <equals arg1="${is_windows}" arg2="true" />
+                                                                       <then>
+                                                                               <property name="swagger.sdk.script.file" value="generated-source-script.bat" />
+                                                                               <echo
+                                                                                       file="${project.build.directory}${file.separator}generated-source-script.bat"
+                                                                                       append="true"
+                                                                                       message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}" />
+                                                                               <echo
+                                                                                       file="${project.build.directory}${file.separator}generated-source-script.bat"
+                                                                                       append="true"
+                                                                                       message="mvn clean install -Dmaven.test.skip=true${line.separator}" />
+                                                                       </then>
+                                                                       <else>
+                                                                               <property name="swagger.sdk.script.file" value="generated-source-script.sh" />
+                                                                               <echo
+                                                                                       file="${project.build.directory}${file.separator}generated-source-script.sh"
+                                                                                       append="true"
+                                                                                       message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}" />
+                                                                               <echo
+                                                                                       file="${project.build.directory}${file.separator}generated-source-script.sh"
+                                                                                       append="true"
+                                                                                       message="mvn clean install -Dmaven.test.skip=true${line.separator}" />
+                                                                               <chmod
+                                                                                       file="${project.build.directory}${file.separator}generated-source-script.sh"
+                                                                                       perm="755" />
+                                                                       </else>
+                                                               </if>
+                                                       </tasks>
+                                               </configuration>
+                                               <goals>
+                                                       <goal>run</goal>
+                                               </goals>
+                                       </execution>
                                </executions>
                                <dependencies>
-                                 <dependency>
-                                       <groupId>ant-contrib</groupId>
-                                       <artifactId>ant-contrib</artifactId>
-                                       <version>1.0b3</version>
-                                       <exclusions>
-                                         <exclusion>
-                                               <artifactId>ant</artifactId>
-                                               <groupId>ant</groupId>
-                                         </exclusion>
-                                       </exclusions>
-                                 </dependency>
+                                       <dependency>
+                                               <groupId>ant-contrib</groupId>
+                                               <artifactId>ant-contrib</artifactId>
+                                               <version>1.0b3</version>
+                                               <exclusions>
+                                                       <exclusion>
+                                                               <artifactId>ant</artifactId>
+                                                               <groupId>ant</groupId>
+                                                       </exclusion>
+                                               </exclusions>
+                                       </dependency>
                                </dependencies>
-                         </plugin>
-                         <plugin>
+                       </plugin>
+                       <plugin>
                                <groupId>io.swagger</groupId>
                                <artifactId>swagger-codegen-maven-plugin</artifactId>
                                <version>2.2.1</version>
                                <executions>
-                                 <execution>
-                                       <goals>
-                                         <goal>generate</goal>
-                                       </goals>
-                                       <configuration>
-                                         <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
-                                         <output>${project.build.directory}/generated-sources</output>
-                                         <language>java</language>
-                                         <configOptions>
-                                               <dateLibrary>joda</dateLibrary>
-                                         </configOptions>
-                                         <library>jersey2</library>
-                                         <groupId>${project.groupId}</groupId>
-                                         <artifactId>${project.artifactId}</artifactId>
-                                         <artifactVersion>${project.version}</artifactVersion>
-                                         <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
-                                         <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
-                                         <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
-                                       </configuration>
-                                 </execution>
+                                       <execution>
+                                               <goals>
+                                                       <goal>generate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
+                                                       <output>${project.build.directory}/generated-sources</output>
+                                                       <language>java</language>
+                                                       <configOptions>
+                                                               <dateLibrary>joda</dateLibrary>
+                                                       </configOptions>
+                                                       <library>jersey2</library>
+                                                       <groupId>${project.groupId}</groupId>
+                                                       <artifactId>${project.artifactId}</artifactId>
+                                                       <artifactVersion>${project.version}</artifactVersion>
+                                                       <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
+                                                       <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
+                                                       <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
+                                               </configuration>
+                                       </execution>
                                </executions>
-                         </plugin>
-                         <plugin>
+                       </plugin>
+                       <plugin>
                                <artifactId>exec-maven-plugin</artifactId>
                                <groupId>org.codehaus.mojo</groupId>
                                <version>1.5.0</version>
                                <executions>
-                                 <execution>
-                                       <id>swagger-generate-sources</id>
-                                       <phase>generate-sources</phase>
-                                       <goals>
-                                         <goal>exec</goal>
-                                       </goals>
-                                       <configuration>
-                                         <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
-                                       </configuration>
-                                 </execution>
+                                       <execution>
+                                               <id>swagger-generate-sources</id>
+                                               <phase>generate-sources</phase>
+                                               <goals>
+                                                       <goal>exec</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
+                                               </configuration>
+                                       </execution>
                                </executions>
-                         </plugin>
-                         <plugin>
+                       </plugin>
+                       <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-clean-plugin</artifactId>
                                <version>3.0.0</version>
                                <executions>
-                                 <execution>
-                                       <id>clean-generated-files</id>
-                                       <phase>generate-sources</phase>
-                                       <goals>
-                                         <goal>clean</goal>
-                                       </goals>
-                                       <configuration>
-                                         <filesets>
-                                               <fileset>
-                                                 <directory>${project.build.directory}/generated-sources</directory>
-                                               </fileset>
-                                         </filesets>
-                                       </configuration>
-                                 </execution>
+                                       <execution>
+                                               <id>clean-generated-files</id>
+                                               <phase>generate-sources</phase>
+                                               <goals>
+                                                       <goal>clean</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <filesets>
+                                                               <fileset>
+                                                                       <directory>${project.build.directory}/generated-sources</directory>
+                                                               </fileset>
+                                                       </filesets>
+                                               </configuration>
+                                       </execution>
                                </executions>
-                         </plugin>
+                       </plugin>
                </plugins>
                <resources>
                        <resource>
index fb8147d..697351a 100644 (file)
@@ -32,6 +32,7 @@ import io.dropwizard.setup.Bootstrap;
 import io.dropwizard.setup.Environment;
 import io.swagger.jaxrs.config.BeanConfig;
 import io.swagger.jaxrs.listing.ApiListingResource;
+import java.util.Optional;
 
 public class ApiRouteApp extends Application<ApiRouteAppConfig> {
 
@@ -111,13 +112,15 @@ public class ApiRouteApp extends Application<ApiRouteAppConfig> {
         config.setResourcePackage("org.onap.msb.apiroute.resources");
         SimpleServerFactory simpleServerFactory = (SimpleServerFactory) configuration.getServerFactory();
         String basePath = simpleServerFactory.getApplicationContextPath();
-        String rootPath = simpleServerFactory.getJerseyRootPath();
+        Optional<String> optRootPath = simpleServerFactory.getJerseyRootPath();
+
+        String rootPath = optRootPath.get();        
 
         rootPath = rootPath.substring(0, rootPath.indexOf("/*"));
 
         basePath = basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath).append(rootPath).toString();
 
-        LOGGER.warn("getApplicationContextPath: " + basePath);
+        LOGGER.info("getApplicationContextPath: " + basePath);
         config.setBasePath(basePath);
         config.setScan(true);
     }
index 85c1e3a..1e5abd1 100644 (file)
@@ -9,13 +9,11 @@
  * 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.onap.msb.apiroute.wrapper.util;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.datatype.guava.GuavaModule;
-import com.fasterxml.jackson.datatype.jdk7.Jdk7Module;
 import com.fasterxml.jackson.datatype.joda.JodaModule;
 
 public class Jackson {
@@ -34,7 +32,6 @@ public class Jackson {
     private static ObjectMapper configure(ObjectMapper mapper) {
         mapper.registerModule(new GuavaModule());
         mapper.registerModule(new JodaModule());
-        mapper.registerModule(new Jdk7Module());
 
         return mapper;
     }
index 7c189b1..e5a8726 100644 (file)
-{\r
-  "swagger" : "2.0",\r
-  "info" : {\r
-    "description" : "MicroService Bus rest API",\r
-    "version" : "1.0.0",\r
-    "title" : "MicroService Bus rest API",\r
-    "license" : {\r
-      "name" : "https://wiki.onap.org/display/DW/Apache+2.0+License"\r
-    }\r
-  },\r
-  "host" : "127.0.0.1:80",\r
-  "basePath" : "/api/microservices/v1",\r
-  "tags" : [ {\r
-    "name" : "ApiRoute"\r
-  }, {\r
-    "name" : "CustomRoute"\r
-  }, {\r
-    "name" : "iuiRoute"\r
-  } ],\r
-  "schemes" : [ "http", "https" ],\r
-  "paths" : {\r
-    "/apiRoute" : {\r
-      "get" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "get all ApiRoute ",\r
-        "description" : "",\r
-        "operationId" : "getApiRoutes",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/ApiRouteInfo"\r
-              }\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "get ApiRouteInfo List  fail"\r
-          }\r
-        }\r
-      },\r
-      "post" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "add one ApiRoute ",\r
-        "description" : "",\r
-        "operationId" : "addApiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "ApiRoute Instance Info",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/ApiRouteInfo"\r
-          }\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ApiRouteInfo"\r
-            }\r
-          },\r
-          "400" : {\r
-            "description" : "Unprocessable ApiRouteInfo JSON REQUEST"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable ApiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "add ApiRouteInfo fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/apiRoute/apiDocs" : {\r
-      "get" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "get all Local apiDoc ",\r
-        "description" : "",\r
-        "operationId" : "getApiDocs",\r
-        "produces" : [ "application/json" ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "type" : "string"\r
-              }\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "get apiDoc List  fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/apiRoute/discoverInfo" : {\r
-      "get" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "get discover Info ",\r
-        "description" : "",\r
-        "operationId" : "getServiceDiscoverInfo",\r
-        "produces" : [ "application/json" ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/DiscoverInfo"\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "get discover Info fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/apiRoute/export" : {\r
-      "get" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "export all route service Info by json-file",\r
-        "description" : "",\r
-        "operationId" : "exportService",\r
-        "produces" : [ "text/plain" ],\r
-        "parameters" : [ {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "string"\r
-            }\r
-          },\r
-          "406" : {\r
-            "description" : " not Acceptable client-side"\r
-          },\r
-          "500" : {\r
-            "description" : "export fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/apiRoute/{serviceName}/version/{version}" : {\r
-      "get" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "get one ApiRoute ",\r
-        "description" : "",\r
-        "operationId" : "getApiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "ApiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "ApiRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "ApiRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ApiRouteInfo"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "ApiRouteInfo not found"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable ApiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "get ApiRouteInfo fail"\r
-          }\r
-        }\r
-      },\r
-      "put" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "update one ApiRoute by serviceName and version",\r
-        "description" : "",\r
-        "operationId" : "updateApiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "ApiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "ApiRoute Instance Info",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/ApiRouteInfo"\r
-          }\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ApiRouteInfo"\r
-            }\r
-          },\r
-          "400" : {\r
-            "description" : "Unprocessable ApiRouteInfo JSON REQUEST"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable ApiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "update ApiRouteInfo fail"\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "delete one ApiRoute by serviceName and version",\r
-        "description" : "",\r
-        "operationId" : "deleteApiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "ApiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "ApiRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "ApiRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "204" : {\r
-            "description" : "delete ApiRouteInfo succeed "\r
-          },\r
-          "404" : {\r
-            "description" : "ApiRouteInfo not found"\r
-          },\r
-          "500" : {\r
-            "description" : "delete ApiRouteInfo fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/apiRoute/{serviceName}/version/{version}/status/{status}" : {\r
-      "put" : {\r
-        "tags" : [ "ApiRoute" ],\r
-        "summary" : "update one ApiRoute  status by serviceName and version",\r
-        "description" : "",\r
-        "operationId" : "updateApiRouteStatus",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "ApiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "version",\r
-          "in" : "path",\r
-          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "path",\r
-          "description" : "ApiRoute status,1?abled  0?disabled",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "ApiRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "ApiRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/ApiRouteInfo"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "ApiRouteInfo not found"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable ApiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "update status fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/customRoute/all" : {\r
-      "get" : {\r
-        "tags" : [ "CustomRoute" ],\r
-        "summary" : "get all CustomRoute ",\r
-        "description" : "",\r
-        "operationId" : "getCustomRoutes",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/CustomRouteInfo"\r
-              }\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "get CustomRouteInfo List  fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/customRoute/instance" : {\r
-      "get" : {\r
-        "tags" : [ "CustomRoute" ],\r
-        "summary" : "get one CustomRoute ",\r
-        "description" : "",\r
-        "operationId" : "getCustomRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "query",\r
-          "description" : "CustomRoute serviceName",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "CustomRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "CustomRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/CustomRouteInfo"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "CustomRoute not found"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable CustomRoute Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "get CustomRoute fail"\r
-          }\r
-        }\r
-      },\r
-      "post" : {\r
-        "tags" : [ "CustomRoute" ],\r
-        "summary" : "add one CustomRoute ",\r
-        "description" : "",\r
-        "operationId" : "addCustomRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "CustomRoute Instance Info",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/CustomRouteInfo"\r
-          }\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/CustomRouteInfo"\r
-            }\r
-          },\r
-          "400" : {\r
-            "description" : "Unprocessable CustomRouteInfo JSON REQUEST"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable CustomRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "add CustomRouteInfo fail"\r
-          }\r
-        }\r
-      },\r
-      "put" : {\r
-        "tags" : [ "CustomRoute" ],\r
-        "summary" : "update one CustomRoute by serviceName",\r
-        "description" : "",\r
-        "operationId" : "updateCustomRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "query",\r
-          "description" : "CustomRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "CustomRoute Instance Info",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/CustomRouteInfo"\r
-          }\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/CustomRouteInfo"\r
-            }\r
-          },\r
-          "400" : {\r
-            "description" : "Unprocessable CustomRoute JSON REQUEST"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable CustomRoute Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "update CustomRoute fail"\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "CustomRoute" ],\r
-        "summary" : "delete one CustomRoute by serviceName",\r
-        "description" : "",\r
-        "operationId" : "deleteCustomRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "query",\r
-          "description" : "CustomRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "CustomRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "CustomRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "204" : {\r
-            "description" : "delete customRoute succeed "\r
-          },\r
-          "404" : {\r
-            "description" : "customRoute not found"\r
-          },\r
-          "500" : {\r
-            "description" : "delete customRoute fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/customRoute/status" : {\r
-      "put" : {\r
-        "tags" : [ "CustomRoute" ],\r
-        "summary" : "update one CustomRoute  status by serviceName ",\r
-        "description" : "",\r
-        "operationId" : "updateCustomRouteStatus",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "query",\r
-          "description" : "CustomRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "CustomRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "query",\r
-          "description" : "CustomRoute status,1?abled  0?disabled",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "CustomRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/CustomRouteInfo"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "customRoute not found"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable customRoute Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "update status fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/iuiRoute" : {\r
-      "get" : {\r
-        "tags" : [ "iuiRoute" ],\r
-        "summary" : "get all iuiRoute ",\r
-        "description" : "",\r
-        "operationId" : "getIuiRoutes",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "type" : "array",\r
-              "items" : {\r
-                "$ref" : "#/definitions/IuiRouteInfo"\r
-              }\r
-            }\r
-          },\r
-          "500" : {\r
-            "description" : "get iuiRouteInfo List  fail"\r
-          }\r
-        }\r
-      },\r
-      "post" : {\r
-        "tags" : [ "iuiRoute" ],\r
-        "summary" : "add one iuiRoute ",\r
-        "description" : "",\r
-        "operationId" : "addIuiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "iuiRoute Instance Info",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/IuiRouteInfo"\r
-          }\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/IuiRouteInfo"\r
-            }\r
-          },\r
-          "400" : {\r
-            "description" : "Unprocessable iuiRouteInfo JSON REQUEST"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable iuiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "add iuiRouteInfo fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/iuiRoute/{serviceName}" : {\r
-      "get" : {\r
-        "tags" : [ "iuiRoute" ],\r
-        "summary" : "get one iuiRoute ",\r
-        "description" : "",\r
-        "operationId" : "getIuiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "iuiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "iuiRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "iuiRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "200" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/IuiRouteInfo"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "IuiRouteInfo not found"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable IuiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "get IuiRouteInfo fail"\r
-          }\r
-        }\r
-      },\r
-      "put" : {\r
-        "tags" : [ "iuiRoute" ],\r
-        "summary" : "update one iuiRoute by serviceName",\r
-        "description" : "",\r
-        "operationId" : "updateIuiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "iuiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "in" : "body",\r
-          "name" : "body",\r
-          "description" : "iuiRoute Instance Info",\r
-          "required" : true,\r
-          "schema" : {\r
-            "$ref" : "#/definitions/IuiRouteInfo"\r
-          }\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/IuiRouteInfo"\r
-            }\r
-          },\r
-          "400" : {\r
-            "description" : "Unprocessable IuiRouteInfo JSON REQUEST"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable IuiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "update IuiRouteInfo fail"\r
-          }\r
-        }\r
-      },\r
-      "delete" : {\r
-        "tags" : [ "iuiRoute" ],\r
-        "summary" : "delete one iuiRoute by serviceName",\r
-        "description" : "",\r
-        "operationId" : "deleteIuiRoute",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "iuiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "iuiRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "iuiRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "204" : {\r
-            "description" : "delete IuiRouteInfo succeed "\r
-          },\r
-          "404" : {\r
-            "description" : "IuiRouteInfo not found"\r
-          },\r
-          "500" : {\r
-            "description" : "delete IuiRouteInfo fail"\r
-          }\r
-        }\r
-      }\r
-    },\r
-    "/iuiRoute/{serviceName}/status/{status}" : {\r
-      "put" : {\r
-        "tags" : [ "iuiRoute" ],\r
-        "summary" : "update one iuiRoute  status by serviceName ",\r
-        "description" : "",\r
-        "operationId" : "updateIuiRouteStatus",\r
-        "produces" : [ "application/json" ],\r
-        "parameters" : [ {\r
-          "name" : "serviceName",\r
-          "in" : "path",\r
-          "description" : "iuiRoute serviceName",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "host",\r
-          "in" : "query",\r
-          "description" : "iuiRoute host",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "status",\r
-          "in" : "path",\r
-          "description" : "iuiRoute status,1?abled  0?disabled",\r
-          "required" : true,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "publish_port",\r
-          "in" : "query",\r
-          "description" : "iuiRoute Publish port",\r
-          "required" : false,\r
-          "type" : "string"\r
-        }, {\r
-          "name" : "routeWay",\r
-          "in" : "query",\r
-          "description" : "Route Way",\r
-          "required" : false,\r
-          "type" : "string",\r
-          "default" : "ip"\r
-        } ],\r
-        "responses" : {\r
-          "201" : {\r
-            "description" : "successful operation",\r
-            "schema" : {\r
-              "$ref" : "#/definitions/IuiRouteInfo"\r
-            }\r
-          },\r
-          "404" : {\r
-            "description" : "IuiRouteInfo not found"\r
-          },\r
-          "422" : {\r
-            "description" : "Unprocessable IuiRouteInfo Entity "\r
-          },\r
-          "500" : {\r
-            "description" : "update IuiRouteInfo status fail"\r
-          }\r
-        }\r
-      }\r
-    }\r
-  },\r
-  "definitions" : {\r
-    "ApiRouteInfo" : {\r
-      "type" : "object",\r
-      "required" : [ "servers", "serviceName", "url", "version" ],\r
-      "properties" : {\r
-        "serviceName" : {\r
-          "type" : "string"\r
-        },\r
-        "url" : {\r
-          "type" : "string",\r
-          "example" : "/test",\r
-          "description" : "Target Service URL,start with /"\r
-        },\r
-        "control" : {\r
-          "type" : "string",\r
-          "example" : "0",\r
-          "description" : "[control Range] 0?default   1?readonly  2?hidden ",\r
-          "enum" : [ "0", "1", "2" ]\r
-        },\r
-        "status" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[status] 1?abled    0?disabled ",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "visualRange" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[visual Range]interSystem:0,inSystem:1",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "useOwnUpstream" : {\r
-          "type" : "string",\r
-          "example" : "0",\r
-          "description" : "[LB Policy]non_ip_hash:0,ip_hash:1",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "servers" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/RouteServer"\r
-          }\r
-        },\r
-        "host" : {\r
-          "type" : "string"\r
-        },\r
-        "namespace" : {\r
-          "type" : "string"\r
-        },\r
-        "publish_port" : {\r
-          "type" : "string"\r
-        },\r
-        "enable_ssl" : {\r
-          "type" : "boolean",\r
-          "default" : false\r
-        },\r
-        "consulServiceName" : {\r
-          "type" : "string"\r
-        },\r
-        "publishProtocol" : {\r
-          "type" : "string"\r
-        },\r
-        "version" : {\r
-          "type" : "string",\r
-          "example" : "v1"\r
-        },\r
-        "apiJson" : {\r
-          "type" : "string"\r
-        },\r
-        "apiJsonType" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[apiJson Type] 0?local file  1? remote file",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "metricsUrl" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "CustomRouteInfo" : {\r
-      "type" : "object",\r
-      "required" : [ "servers", "serviceName", "url" ],\r
-      "properties" : {\r
-        "serviceName" : {\r
-          "type" : "string"\r
-        },\r
-        "url" : {\r
-          "type" : "string",\r
-          "example" : "/test",\r
-          "description" : "Target Service URL,start with /"\r
-        },\r
-        "control" : {\r
-          "type" : "string",\r
-          "example" : "0",\r
-          "description" : "[control Range] 0?default   1?readonly  2?hidden ",\r
-          "enum" : [ "0", "1", "2" ]\r
-        },\r
-        "status" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[status] 1?abled    0?disabled ",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "visualRange" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[visual Range]interSystem:0,inSystem:1",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "useOwnUpstream" : {\r
-          "type" : "string",\r
-          "example" : "0",\r
-          "description" : "[LB Policy]non_ip_hash:0,ip_hash:1",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "servers" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/RouteServer"\r
-          }\r
-        },\r
-        "host" : {\r
-          "type" : "string"\r
-        },\r
-        "namespace" : {\r
-          "type" : "string"\r
-        },\r
-        "publish_port" : {\r
-          "type" : "string"\r
-        },\r
-        "enable_ssl" : {\r
-          "type" : "boolean",\r
-          "default" : false\r
-        },\r
-        "consulServiceName" : {\r
-          "type" : "string"\r
-        },\r
-        "publishProtocol" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "DiscoverInfo" : {\r
-      "type" : "object",\r
-      "properties" : {\r
-        "ip" : {\r
-          "type" : "string"\r
-        },\r
-        "port" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        },\r
-        "enabled" : {\r
-          "type" : "boolean",\r
-          "default" : false\r
-        }\r
-      }\r
-    },\r
-    "IuiRouteInfo" : {\r
-      "type" : "object",\r
-      "required" : [ "servers", "serviceName", "url" ],\r
-      "properties" : {\r
-        "serviceName" : {\r
-          "type" : "string"\r
-        },\r
-        "url" : {\r
-          "type" : "string",\r
-          "example" : "/test",\r
-          "description" : "Target Service URL,start with /"\r
-        },\r
-        "control" : {\r
-          "type" : "string",\r
-          "example" : "0",\r
-          "description" : "[control Range] 0?default   1?readonly  2?hidden ",\r
-          "enum" : [ "0", "1", "2" ]\r
-        },\r
-        "status" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[status] 1?abled    0?disabled ",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "visualRange" : {\r
-          "type" : "string",\r
-          "example" : "1",\r
-          "description" : "[visual Range]interSystem:0,inSystem:1",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "useOwnUpstream" : {\r
-          "type" : "string",\r
-          "example" : "0",\r
-          "description" : "[LB Policy]non_ip_hash:0,ip_hash:1",\r
-          "enum" : [ "0", "1" ]\r
-        },\r
-        "servers" : {\r
-          "type" : "array",\r
-          "items" : {\r
-            "$ref" : "#/definitions/RouteServer"\r
-          }\r
-        },\r
-        "host" : {\r
-          "type" : "string"\r
-        },\r
-        "namespace" : {\r
-          "type" : "string"\r
-        },\r
-        "publish_port" : {\r
-          "type" : "string"\r
-        },\r
-        "enable_ssl" : {\r
-          "type" : "boolean",\r
-          "default" : false\r
-        },\r
-        "consulServiceName" : {\r
-          "type" : "string"\r
-        },\r
-        "publishProtocol" : {\r
-          "type" : "string"\r
-        }\r
-      }\r
-    },\r
-    "RouteServer" : {\r
-      "type" : "object",\r
-      "required" : [ "ip", "port" ],\r
-      "properties" : {\r
-        "ip" : {\r
-          "type" : "string"\r
-        },\r
-        "port" : {\r
-          "type" : "string"\r
-        },\r
-        "weight" : {\r
-          "type" : "integer",\r
-          "format" : "int32"\r
-        }\r
-      }\r
-    }\r
-  }\r
+{
+  "swagger" : "2.0",
+  "info" : {
+    "description" : "MicroService Bus rest API",
+    "version" : "1.0.0",
+    "title" : "MicroService Bus rest API",
+    "license" : {
+      "name" : "https://wiki.onap.org/display/DW/Apache+2.0+License"
+    }
+  },
+  "host" : "127.0.0.1:80",
+  "basePath" : "/api/microservices/v1",
+  "tags" : [ {
+    "name" : "ApiRoute"
+  }, {
+    "name" : "CustomRoute"
+  }, {
+    "name" : "iuiRoute"
+  } ],
+  "schemes" : [ "http", "https" ],
+  "paths" : {
+    "/apiRoute" : {
+      "get" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "get all ApiRoute ",
+        "description" : "",
+        "operationId" : "getApiRoutes",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ApiRouteInfo"
+              }
+            }
+          },
+          "500" : {
+            "description" : "get ApiRouteInfo List  fail"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "add one ApiRoute ",
+        "description" : "",
+        "operationId" : "addApiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "ApiRoute Instance Info",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ApiRouteInfo"
+          }
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ApiRouteInfo"
+            }
+          },
+          "400" : {
+            "description" : "Unprocessable ApiRouteInfo JSON REQUEST"
+          },
+          "422" : {
+            "description" : "Unprocessable ApiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "add ApiRouteInfo fail"
+          }
+        }
+      }
+    },
+    "/apiRoute/apiDocs" : {
+      "get" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "get all Local apiDoc ",
+        "description" : "",
+        "operationId" : "getApiDocs",
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "type" : "string"
+              }
+            }
+          },
+          "500" : {
+            "description" : "get apiDoc List  fail"
+          }
+        }
+      }
+    },
+    "/apiRoute/discoverInfo" : {
+      "get" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "get discover Info ",
+        "description" : "",
+        "operationId" : "getServiceDiscoverInfo",
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/DiscoverInfo"
+            }
+          },
+          "500" : {
+            "description" : "get discover Info fail"
+          }
+        }
+      }
+    },
+    "/apiRoute/export" : {
+      "get" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "export all route service Info by json-file",
+        "description" : "",
+        "operationId" : "exportService",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "string"
+            }
+          },
+          "406" : {
+            "description" : " not Acceptable client-side"
+          },
+          "500" : {
+            "description" : "export fail"
+          }
+        }
+      }
+    },
+    "/apiRoute/{serviceName}/version/{version}" : {
+      "get" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "get one ApiRoute ",
+        "description" : "",
+        "operationId" : "getApiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "ApiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "ApiRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "ApiRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ApiRouteInfo"
+            }
+          },
+          "404" : {
+            "description" : "ApiRouteInfo not found"
+          },
+          "422" : {
+            "description" : "Unprocessable ApiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "get ApiRouteInfo fail"
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "update one ApiRoute by serviceName and version",
+        "description" : "",
+        "operationId" : "updateApiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "ApiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "ApiRoute Instance Info",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ApiRouteInfo"
+          }
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ApiRouteInfo"
+            }
+          },
+          "400" : {
+            "description" : "Unprocessable ApiRouteInfo JSON REQUEST"
+          },
+          "422" : {
+            "description" : "Unprocessable ApiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "update ApiRouteInfo fail"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "delete one ApiRoute by serviceName and version",
+        "description" : "",
+        "operationId" : "deleteApiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "ApiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "ApiRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "ApiRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "204" : {
+            "description" : "delete ApiRouteInfo succeed "
+          },
+          "404" : {
+            "description" : "ApiRouteInfo not found"
+          },
+          "500" : {
+            "description" : "delete ApiRouteInfo fail"
+          }
+        }
+      }
+    },
+    "/apiRoute/{serviceName}/version/{version}/status/{status}" : {
+      "put" : {
+        "tags" : [ "ApiRoute" ],
+        "summary" : "update one ApiRoute  status by serviceName and version",
+        "description" : "",
+        "operationId" : "updateApiRouteStatus",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "ApiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "ApiRoute version,if the version is empty, please enter \"null\"",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "status",
+          "in" : "path",
+          "description" : "ApiRoute status,1:abled  0:disabled",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "ApiRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "ApiRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ApiRouteInfo"
+            }
+          },
+          "404" : {
+            "description" : "ApiRouteInfo not found"
+          },
+          "422" : {
+            "description" : "Unprocessable ApiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "update status fail"
+          }
+        }
+      }
+    },
+    "/customRoute/all" : {
+      "get" : {
+        "tags" : [ "CustomRoute" ],
+        "summary" : "get all CustomRoute ",
+        "description" : "",
+        "operationId" : "getCustomRoutes",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/CustomRouteInfo"
+              }
+            }
+          },
+          "500" : {
+            "description" : "get CustomRouteInfo List  fail"
+          }
+        }
+      }
+    },
+    "/customRoute/instance" : {
+      "get" : {
+        "tags" : [ "CustomRoute" ],
+        "summary" : "get one CustomRoute ",
+        "description" : "",
+        "operationId" : "getCustomRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "query",
+          "description" : "CustomRoute serviceName",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "CustomRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "CustomRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/CustomRouteInfo"
+            }
+          },
+          "404" : {
+            "description" : "CustomRoute not found"
+          },
+          "422" : {
+            "description" : "Unprocessable CustomRoute Entity "
+          },
+          "500" : {
+            "description" : "get CustomRoute fail"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "CustomRoute" ],
+        "summary" : "add one CustomRoute ",
+        "description" : "",
+        "operationId" : "addCustomRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "CustomRoute Instance Info",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/CustomRouteInfo"
+          }
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/CustomRouteInfo"
+            }
+          },
+          "400" : {
+            "description" : "Unprocessable CustomRouteInfo JSON REQUEST"
+          },
+          "422" : {
+            "description" : "Unprocessable CustomRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "add CustomRouteInfo fail"
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "CustomRoute" ],
+        "summary" : "update one CustomRoute by serviceName",
+        "description" : "",
+        "operationId" : "updateCustomRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "query",
+          "description" : "CustomRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "CustomRoute Instance Info",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/CustomRouteInfo"
+          }
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/CustomRouteInfo"
+            }
+          },
+          "400" : {
+            "description" : "Unprocessable CustomRoute JSON REQUEST"
+          },
+          "422" : {
+            "description" : "Unprocessable CustomRoute Entity "
+          },
+          "500" : {
+            "description" : "update CustomRoute fail"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "CustomRoute" ],
+        "summary" : "delete one CustomRoute by serviceName",
+        "description" : "",
+        "operationId" : "deleteCustomRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "query",
+          "description" : "CustomRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "CustomRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "CustomRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "204" : {
+            "description" : "delete customRoute succeed "
+          },
+          "404" : {
+            "description" : "customRoute not found"
+          },
+          "500" : {
+            "description" : "delete customRoute fail"
+          }
+        }
+      }
+    },
+    "/customRoute/status" : {
+      "put" : {
+        "tags" : [ "CustomRoute" ],
+        "summary" : "update one CustomRoute  status by serviceName ",
+        "description" : "",
+        "operationId" : "updateCustomRouteStatus",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "query",
+          "description" : "CustomRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "CustomRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "status",
+          "in" : "query",
+          "description" : "CustomRoute status,1:abled  0:disabled",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "CustomRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/CustomRouteInfo"
+            }
+          },
+          "404" : {
+            "description" : "customRoute not found"
+          },
+          "422" : {
+            "description" : "Unprocessable customRoute Entity "
+          },
+          "500" : {
+            "description" : "update status fail"
+          }
+        }
+      }
+    },
+    "/iuiRoute" : {
+      "get" : {
+        "tags" : [ "iuiRoute" ],
+        "summary" : "get all iuiRoute ",
+        "description" : "",
+        "operationId" : "getIuiRoutes",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/IuiRouteInfo"
+              }
+            }
+          },
+          "500" : {
+            "description" : "get iuiRouteInfo List  fail"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "iuiRoute" ],
+        "summary" : "add one iuiRoute ",
+        "description" : "",
+        "operationId" : "addIuiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "iuiRoute Instance Info",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/IuiRouteInfo"
+          }
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/IuiRouteInfo"
+            }
+          },
+          "400" : {
+            "description" : "Unprocessable iuiRouteInfo JSON REQUEST"
+          },
+          "422" : {
+            "description" : "Unprocessable iuiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "add iuiRouteInfo fail"
+          }
+        }
+      }
+    },
+    "/iuiRoute/{serviceName}" : {
+      "get" : {
+        "tags" : [ "iuiRoute" ],
+        "summary" : "get one iuiRoute ",
+        "description" : "",
+        "operationId" : "getIuiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "iuiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "iuiRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "iuiRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/IuiRouteInfo"
+            }
+          },
+          "404" : {
+            "description" : "IuiRouteInfo not found"
+          },
+          "422" : {
+            "description" : "Unprocessable IuiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "get IuiRouteInfo fail"
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "iuiRoute" ],
+        "summary" : "update one iuiRoute by serviceName",
+        "description" : "",
+        "operationId" : "updateIuiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "iuiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "iuiRoute Instance Info",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/IuiRouteInfo"
+          }
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/IuiRouteInfo"
+            }
+          },
+          "400" : {
+            "description" : "Unprocessable IuiRouteInfo JSON REQUEST"
+          },
+          "422" : {
+            "description" : "Unprocessable IuiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "update IuiRouteInfo fail"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "iuiRoute" ],
+        "summary" : "delete one iuiRoute by serviceName",
+        "description" : "",
+        "operationId" : "deleteIuiRoute",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "iuiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "iuiRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "iuiRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "204" : {
+            "description" : "delete IuiRouteInfo succeed "
+          },
+          "404" : {
+            "description" : "IuiRouteInfo not found"
+          },
+          "500" : {
+            "description" : "delete IuiRouteInfo fail"
+          }
+        }
+      }
+    },
+    "/iuiRoute/{serviceName}/status/{status}" : {
+      "put" : {
+        "tags" : [ "iuiRoute" ],
+        "summary" : "update one iuiRoute  status by serviceName ",
+        "description" : "",
+        "operationId" : "updateIuiRouteStatus",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "serviceName",
+          "in" : "path",
+          "description" : "iuiRoute serviceName",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "host",
+          "in" : "query",
+          "description" : "iuiRoute host",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "status",
+          "in" : "path",
+          "description" : "iuiRoute status,1:abled  0:disabled",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "publish_port",
+          "in" : "query",
+          "description" : "iuiRoute Publish port",
+          "required" : false,
+          "type" : "string"
+        }, {
+          "name" : "routeWay",
+          "in" : "query",
+          "description" : "Route Way",
+          "required" : false,
+          "type" : "string",
+          "default" : "ip"
+        } ],
+        "responses" : {
+          "201" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/IuiRouteInfo"
+            }
+          },
+          "404" : {
+            "description" : "IuiRouteInfo not found"
+          },
+          "422" : {
+            "description" : "Unprocessable IuiRouteInfo Entity "
+          },
+          "500" : {
+            "description" : "update IuiRouteInfo status fail"
+          }
+        }
+      }
+    }
+  },
+  "definitions" : {
+    "ApiRouteInfo" : {
+      "type" : "object",
+      "required" : [ "servers", "serviceName", "url", "version" ],
+      "properties" : {
+        "serviceName" : {
+          "type" : "string"
+        },
+        "url" : {
+          "type" : "string",
+          "example" : "/test",
+          "description" : "Target Service URL,start with /"
+        },
+        "control" : {
+          "type" : "string",
+          "example" : "0",
+          "description" : "[control Range] 0:default   1:readonly  2:hidden ",
+          "enum" : [ "0", "1", "2" ]
+        },
+        "status" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[status] 1:abled    0:disabled ",
+          "enum" : [ "0", "1" ]
+        },
+        "visualRange" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[visual Range]interSystem:0,inSystem:1",
+          "enum" : [ "0", "1" ]
+        },
+        "useOwnUpstream" : {
+          "type" : "string",
+          "example" : "0",
+          "description" : "[LB Policy]non_ip_hash:0,ip_hash:1",
+          "enum" : [ "0", "1" ]
+        },
+        "servers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/RouteServer"
+          }
+        },
+        "host" : {
+          "type" : "string"
+        },
+        "namespace" : {
+          "type" : "string"
+        },
+        "publish_port" : {
+          "type" : "string"
+        },
+        "enable_ssl" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "consulServiceName" : {
+          "type" : "string"
+        },
+        "publishProtocol" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string",
+          "example" : "v1"
+        },
+        "apiJson" : {
+          "type" : "string"
+        },
+        "apiJsonType" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[apiJson Type] 0:local file  1: remote file",
+          "enum" : [ "0", "1" ]
+        },
+        "metricsUrl" : {
+          "type" : "string"
+        }
+      }
+    },
+    "CustomRouteInfo" : {
+      "type" : "object",
+      "required" : [ "servers", "serviceName", "url" ],
+      "properties" : {
+        "serviceName" : {
+          "type" : "string"
+        },
+        "url" : {
+          "type" : "string",
+          "example" : "/test",
+          "description" : "Target Service URL,start with /"
+        },
+        "control" : {
+          "type" : "string",
+          "example" : "0",
+          "description" : "[control Range] 0:default   1:readonly  2:hidden ",
+          "enum" : [ "0", "1", "2" ]
+        },
+        "status" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[status] 1:abled    0:disabled ",
+          "enum" : [ "0", "1" ]
+        },
+        "visualRange" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[visual Range]interSystem:0,inSystem:1",
+          "enum" : [ "0", "1" ]
+        },
+        "useOwnUpstream" : {
+          "type" : "string",
+          "example" : "0",
+          "description" : "[LB Policy]non_ip_hash:0,ip_hash:1",
+          "enum" : [ "0", "1" ]
+        },
+        "servers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/RouteServer"
+          }
+        },
+        "host" : {
+          "type" : "string"
+        },
+        "namespace" : {
+          "type" : "string"
+        },
+        "publish_port" : {
+          "type" : "string"
+        },
+        "enable_ssl" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "consulServiceName" : {
+          "type" : "string"
+        },
+        "publishProtocol" : {
+          "type" : "string"
+        }
+      }
+    },
+    "DiscoverInfo" : {
+      "type" : "object",
+      "properties" : {
+        "ip" : {
+          "type" : "string"
+        },
+        "port" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "enabled" : {
+          "type" : "boolean",
+          "default" : false
+        }
+      }
+    },
+    "IuiRouteInfo" : {
+      "type" : "object",
+      "required" : [ "servers", "serviceName", "url" ],
+      "properties" : {
+        "serviceName" : {
+          "type" : "string"
+        },
+        "url" : {
+          "type" : "string",
+          "example" : "/test",
+          "description" : "Target Service URL,start with /"
+        },
+        "control" : {
+          "type" : "string",
+          "example" : "0",
+          "description" : "[control Range] 0:default   1:readonly  2:hidden ",
+          "enum" : [ "0", "1", "2" ]
+        },
+        "status" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[status] 1:abled    0:disabled ",
+          "enum" : [ "0", "1" ]
+        },
+        "visualRange" : {
+          "type" : "string",
+          "example" : "1",
+          "description" : "[visual Range]interSystem:0,inSystem:1",
+          "enum" : [ "0", "1" ]
+        },
+        "useOwnUpstream" : {
+          "type" : "string",
+          "example" : "0",
+          "description" : "[LB Policy]non_ip_hash:0,ip_hash:1",
+          "enum" : [ "0", "1" ]
+        },
+        "servers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/RouteServer"
+          }
+        },
+        "host" : {
+          "type" : "string"
+        },
+        "namespace" : {
+          "type" : "string"
+        },
+        "publish_port" : {
+          "type" : "string"
+        },
+        "enable_ssl" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "consulServiceName" : {
+          "type" : "string"
+        },
+        "publishProtocol" : {
+          "type" : "string"
+        }
+      }
+    },
+    "RouteServer" : {
+      "type" : "object",
+      "required" : [ "ip", "port" ],
+      "properties" : {
+        "ip" : {
+          "type" : "string"
+        },
+        "port" : {
+          "type" : "string"
+        },
+        "weight" : {
+          "type" : "integer",
+          "format" : "int32"
+        }
+      }
+    }
+  }
 }
\ No newline at end of file
index 267d271..8a1f40f 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)
-    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">
-  <parent>
-    <groupId>org.onap.msb.apigateway</groupId>
-    <artifactId>msb-apigateway-parent</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.onap.msb.apigateway.apiroute</groupId>
-  <artifactId>apiroute-parent</artifactId>
-  <name>onap/msb/apigateway/apiroute</name>
-  <packaging>pom</packaging>
-  <version>1.0.1-SNAPSHOT</version>
-  
-  <modules>
-    <module>apiroute-service</module>
-    <module>apiroute-standalone</module>
-  </modules>
+<!-- Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) 
+       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">
+       <parent>
+               <groupId>org.onap.msb.apigateway</groupId>
+               <artifactId>msb-apigateway-parent</artifactId>
+               <version>1.0.1-SNAPSHOT</version>
+       </parent>
+       <modelVersion>4.0.0</modelVersion>
+       <groupId>org.onap.msb.apigateway.apiroute</groupId>
+       <artifactId>apiroute-parent</artifactId>
+       <name>onap/msb/apigateway/apiroute</name>
+       <packaging>pom</packaging>
+       <version>1.0.1-SNAPSHOT</version>
 
-  <properties>
+       <modules>
+               <module>apiroute-service</module>
+               <module>apiroute-standalone</module>
+       </modules>
 
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+       <properties>
 
-    <!-- Java Versions -->
-    <!-- FIXME: confirm these two are picked by maven-compiler-plugin -->
-    <maven.compiler.source>1.7</maven.compiler.source>
-    <maven.compiler.target>1.7</maven.compiler.target>
-    <java.version.source>${maven.compiler.source}</java.version.source>
-    <java.version.target>${maven.compiler.target}</java.version.target>  
+               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
+               <!-- Maven plugin versions, in the 'canonical' format -->
+               <maven.antrun.plugin.version>1.8</maven.antrun.plugin.version>
+               <maven.bundle.version>3.0.0</maven.bundle.version>
+               <maven.clean.plugin.version>2.6.1</maven.clean.plugin.version>
+               <maven.compile.plugin.version>3.3</maven.compile.plugin.version>
+               <maven.jar.version>2.6</maven.jar.version>
+               <maven.javadoc.version>2.10.3</maven.javadoc.version>
+               <maven.plugin.version>3.4</maven.plugin.version>
+               <maven.release.version>2.5.2</maven.release.version>
+               <maven.surefire.version>2.18.1</maven.surefire.version>
 
-    <!-- Maven plugin versions, in the 'canonical' format -->
-    <maven.antrun.plugin.version>1.8</maven.antrun.plugin.version>
-    <maven.bundle.version>3.0.0</maven.bundle.version>
-    <maven.clean.plugin.version>2.6.1</maven.clean.plugin.version>
-    <maven.compile.plugin.version>3.3</maven.compile.plugin.version>
-    <maven.jar.version>2.6</maven.jar.version>
-    <maven.javadoc.version>2.10.3</maven.javadoc.version>
-    <maven.plugin.version>3.4</maven.plugin.version>
-    <maven.release.version>2.5.2</maven.release.version>
-    <maven.surefire.version>2.18.1</maven.surefire.version>
+               <!-- Maven plugin versions, in random formats -->
+               <checkstyle.version>2.16</checkstyle.version>
+               <compiler.version>${maven.compile.plugin.version}</compiler.version>
+               <enforcer.version>1.4</enforcer.version>
 
-    <!-- Maven plugin versions, in random formats -->
-    <checkstyle.version>2.16</checkstyle.version>
-    <compiler.version>${maven.compile.plugin.version}</compiler.version>
-    <enforcer.version>1.4</enforcer.version>
-    <!-- Supporting Libraries -->
-    <dropwizard.version>0.8.0</dropwizard.version>
-    <swagger.version>1.5.3</swagger.version>
-    <jedis.version>2.7.3</jedis.version>
-    <lombok.version>1.16.16</lombok.version>
-    <junit.version>4.11</junit.version>
-    <jetty.version>9.2.9.v20150224</jetty.version>
-    <jackson-version>2.7.9</jackson-version>
-    <jersey.version>2.16</jersey.version>
-    <slf4j.version>1.7.12</slf4j.version>
-    <logback.version>1.2.3</logback.version>
-    <httpclient.version>4.5.4</httpclient.version>
-    <powermock.version>1.6.6</powermock.version>
-    <zenap-dropwizard-ext.version>1.17.10.01</zenap-dropwizard-ext.version>
-    <consul-client.version>0.13.8</consul-client.version>
-    <httpasyncclient.version>4.1.2</httpasyncclient.version>
-    <immutables.value.version>2.4.3</immutables.value.version>
-    <mock-jedis.version>0.4.0</mock-jedis.version>
-    <commons-io.version>1.3.2</commons-io.version>
-  </properties>
+               <!-- Supporting Libraries -->
+               <dropwizard.version>1.2.2</dropwizard.version>
+               <guava.version>23.5-jre</guava.version>
+               <jersey.version>2.25.1</jersey.version>
+               <jackson.version>2.9.3</jackson.version>
+               <jetty.version>9.4.8.v20171121</jetty.version>
+               <servlet.version>3.0.0.v201112011016</servlet.version>
+               <metrics3.version>3.2.5</metrics3.version>
+               <slf4j.version>1.7.25</slf4j.version>
+               <logback.version>1.2.3</logback.version>
+               <h2.version>1.4.196</h2.version>
+               <swagger.version>1.5.8</swagger.version>
 
-  <dependencyManagement>
-    <dependencies>
-     <dependency>
-        <groupId>commons-io</groupId>
-        <artifactId>commons-io</artifactId>
-        <version>${commons-io.version}</version>
-      </dependency>
-      <!-- Testing Dependencies -->
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>${junit.version}</version>
-        <scope>test</scope>
-      </dependency>
+               <jedis.version>2.7.3</jedis.version>
+               <lombok.version>1.16.16</lombok.version>
+               <junit.version>4.11</junit.version>
+               <powermock.version>1.6.6</powermock.version>
+               <consul-client.version>0.13.8</consul-client.version>
+               <httpasyncclient.version>4.1.2</httpasyncclient.version>
+               <commons-io.version>1.3.2</commons-io.version>
+               <immutables.value.version>2.4.3</immutables.value.version>
+               <mock-jedis.version>0.4.0</mock-jedis.version>
+       </properties>
 
-      <dependency>
-        <groupId>org.powermock</groupId>
-        <artifactId>powermock-module-junit4</artifactId>
-        <version>${powermock.version}</version>
-        <scope>test</scope>
-      </dependency>
+       <dependencyManagement>
+               <dependencies>
+                       <dependency>
+                               <groupId>org.objenesis</groupId>
+                               <artifactId>objenesis</artifactId>
+                               <version>2.6</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.apache.commons</groupId>
+                               <artifactId>commons-lang3</artifactId>
+                               <version>3.6</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.google.guava</groupId>
+                               <artifactId>guava</artifactId>
+                               <version>${guava.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>net.sourceforge.argparse4j</groupId>
+                               <artifactId>argparse4j</artifactId>
+                               <version>0.7.0</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.google.code.findbugs</groupId>
+                               <artifactId>jsr305</artifactId>
+                               <version>3.0.2</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>joda-time</groupId>
+                               <artifactId>joda-time</artifactId>
+                               <version>2.9.9</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.hibernate</groupId>
+                               <artifactId>hibernate-validator</artifactId>
+                               <version>5.4.2.Final</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.glassfish</groupId>
+                               <artifactId>javax.el</artifactId>
+                               <version>3.0.0</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>javax.servlet</groupId>
+                               <artifactId>javax.servlet-api</artifactId>
+                               <version>3.1.0</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.apache.httpcomponents</groupId>
+                               <artifactId>httpclient</artifactId>
+                               <version>4.5.3</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>commons-logging</groupId>
+                                               <artifactId>commons-logging</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.apache.tomcat</groupId>
+                               <artifactId>tomcat-jdbc</artifactId>
+                               <version>8.5.24</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.h2database</groupId>
+                               <artifactId>h2</artifactId>
+                               <version>${h2.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.jadira.usertype</groupId>
+                               <artifactId>usertype.core</artifactId>
+                               <version>6.0.1.GA</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.joda</groupId>
+                                               <artifactId>joda-money</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.apache.geronimo.specs</groupId>
+                                               <artifactId>geronimo-jta_1.1_spec</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.hibernate</groupId>
+                               <artifactId>hibernate-core</artifactId>
+                               <version>5.2.12.Final</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.jboss.logging</groupId>
+                                               <artifactId>jboss-logging</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.javassist</groupId>
+                               <artifactId>javassist</artifactId>
+                               <version>3.22.0-GA</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.fasterxml</groupId>
+                               <artifactId>classmate</artifactId>
+                               <version>1.3.4</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.hsqldb</groupId>
+                               <artifactId>hsqldb</artifactId>
+                               <version>2.4.0</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.liquibase</groupId>
+                               <artifactId>liquibase-core</artifactId>
+                               <version>3.5.3</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.yaml</groupId>
+                                               <artifactId>snakeyaml</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.mattbertolini</groupId>
+                               <artifactId>liquibase-slf4j</artifactId>
+                               <version>2.0.0</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.liquibase</groupId>
+                                               <artifactId>liquibase-core</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>net.jcip</groupId>
+                               <artifactId>jcip-annotations</artifactId>
+                               <version>1.0</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.github.spullara.mustache.java</groupId>
+                               <artifactId>compiler</artifactId>
+                               <version>0.9.5</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>com.google.guava</groupId>
+                                               <artifactId>guava</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.freemarker</groupId>
+                               <artifactId>freemarker</artifactId>
+                               <version>2.3.27-incubating</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.jdbi</groupId>
+                               <artifactId>jdbi</artifactId>
+                               <version>2.78</version>
+                       </dependency>
 
-      <dependency>
-        <groupId>org.powermock</groupId>
-        <artifactId>powermock-api-mockito</artifactId>
-        <version>${powermock.version}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>com.fiftyonred</groupId>
-          <artifactId>mock-jedis</artifactId>
-          <version>${mock-jedis.version}</version>
-          <scope>test</scope>
-      </dependency>
+                       <!-- Jetty -->
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-server</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-util</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-webapp</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-continuation</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-servlet</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-servlet</artifactId>
+                               <classifier>tests</classifier>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-servlets</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-http</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-http</artifactId>
+                               <classifier>tests</classifier>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-alpn-openjdk8-server</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty.http2</groupId>
+                               <artifactId>http2-server</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty.http2</groupId>
+                               <artifactId>http2-client</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-client</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty.http2</groupId>
+                               <artifactId>http2-http-client-transport</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-alpn-openjdk8-client</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty</groupId>
+                               <artifactId>jetty-alpn-conscrypt-server</artifactId>
+                               <version>${jetty.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.eclipse.jetty.toolchain.setuid</groupId>
+                               <artifactId>jetty-setuid-java</artifactId>
+                               <version>1.0.3</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.eclipse.jetty</groupId>
+                                               <artifactId>jetty-util</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.eclipse.jetty</groupId>
+                                               <artifactId>jetty-server</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
 
-      <!-- Supporting Libraries -->
-      <dependency>
-        <groupId>io.dropwizard</groupId>
-        <artifactId>dropwizard-core</artifactId>
-        <version>${dropwizard.version}</version>
-      </dependency>
+                       <!-- Jackson -->
+                       <dependency>
+                               <groupId>com.fasterxml.jackson</groupId>
+                               <artifactId>jackson-bom</artifactId>
+                               <version>${jackson.version}</version>
+                               <type>pom</type>
+                               <scope>import</scope>
+                       </dependency>
 
-      <dependency>
-        <groupId>io.dropwizard</groupId>
-        <artifactId>dropwizard-assets</artifactId>
-        <version>${dropwizard.version}</version>
-      </dependency>
+                       <!-- Jersey -->
+                       <dependency>
+                               <groupId>org.glassfish.jersey</groupId>
+                               <artifactId>jersey-bom</artifactId>
+                               <version>${jersey.version}</version>
+                               <type>pom</type>
+                               <scope>import</scope>
+                       </dependency>
 
+                       <!-- Metrics -->
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-annotation</artifactId>
+                               <version>${metrics3.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-core</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-jvm</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-servlets</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>com.fasterxml.jackson.core</groupId>
+                                               <artifactId>jackson-databind</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-healthchecks</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-logback</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>ch.qos.logback</groupId>
+                                               <artifactId>logback-classic</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-jersey2</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.glassfish.jersey.core</groupId>
+                                               <artifactId>jersey-server</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-jetty9</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.eclipse.jetty</groupId>
+                                               <artifactId>jetty-server</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-httpclient</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>commons-logging</groupId>
+                                               <artifactId>commons-logging</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.apache.httpcomponents</groupId>
+                                               <artifactId>httpclient</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-jdbi</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.jdbi</groupId>
+                                               <artifactId>jdbi</artifactId>
+                                       </exclusion>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-ganglia</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard.metrics</groupId>
+                               <artifactId>metrics-graphite</artifactId>
+                               <version>${metrics3.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
 
-      <dependency>
-        <groupId>io.dropwizard</groupId>
-        <artifactId>dropwizard-client</artifactId>
-        <version>${dropwizard.version}</version>
-      </dependency>
+                       <!-- Logging dependencies -->
+                       <dependency>
+                               <groupId>org.slf4j</groupId>
+                               <artifactId>slf4j-api</artifactId>
+                               <version>${slf4j.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.slf4j</groupId>
+                               <artifactId>jul-to-slf4j</artifactId>
+                               <version>${slf4j.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.slf4j</groupId>
+                               <artifactId>log4j-over-slf4j</artifactId>
+                               <version>${slf4j.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.slf4j</groupId>
+                               <artifactId>jcl-over-slf4j</artifactId>
+                               <version>${slf4j.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>ch.qos.logback</groupId>
+                               <artifactId>logback-access</artifactId>
+                               <version>${logback.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>ch.qos.logback</groupId>
+                               <artifactId>logback-core</artifactId>
+                               <version>${logback.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>ch.qos.logback</groupId>
+                               <artifactId>logback-classic</artifactId>
+                               <version>${logback.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>org.slf4j</groupId>
+                                               <artifactId>slf4j-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
 
-      <dependency>
-        <groupId>io.swagger</groupId>
-        <artifactId>swagger-jersey2-jaxrs</artifactId>
-        <version>${swagger.version}</version>
-        <scope>compile</scope>
-      </dependency>
+                       <!-- Test dependencies -->
+                       <dependency>
+                               <groupId>junit</groupId>
+                               <artifactId>junit</artifactId>
+                               <version>4.12</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.hamcrest</groupId>
+                               <artifactId>hamcrest-core</artifactId>
+                               <version>1.3</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.glassfish.jersey.test-framework</groupId>
+                               <artifactId>jersey-test-framework-core</artifactId>
+                               <version>${jersey.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>javax.servlet</groupId>
+                                               <artifactId>javax.servlet-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+                               <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+                               <version>${jersey.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>javax.servlet</groupId>
+                                               <artifactId>javax.servlet-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+                               <artifactId>jersey-test-framework-provider-inmemory</artifactId>
+                               <version>${jersey.version}</version>
+                               <exclusions>
+                                       <exclusion>
+                                               <groupId>javax.servlet</groupId>
+                                               <artifactId>javax.servlet-api</artifactId>
+                                       </exclusion>
+                               </exclusions>
+                       </dependency>
 
-      <dependency>
-        <groupId>redis.clients</groupId>
-        <artifactId>jedis</artifactId>
-        <version>${jedis.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.projectlombok</groupId>
-        <artifactId>lombok</artifactId>
-        <version>${lombok.version}</version>
-      </dependency>
-      <!--jersey -->
-      <dependency>
-        <groupId>org.glassfish.jersey.media</groupId>
-        <artifactId>jersey-media-multipart</artifactId>
-        <version>${jersey.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.glassfish.jersey.containers</groupId>
-        <artifactId>jersey-container-servlet-core</artifactId>
-        <version>${jersey.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.glassfish.jersey.core</groupId>
-        <artifactId>jersey-common</artifactId>
-        <version>${jersey.version}</version>
-      </dependency>
+                       <!-- Dropwizard modules -->
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-assets</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-auth</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-client</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-configuration</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-core</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-db</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-forms</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-hibernate</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-jackson</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-jdbi</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-jersey</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-jetty</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-lifecycle</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-logging</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-metrics</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-metrics-ganglia</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-metrics-graphite</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-migrations</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-request-logging</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-servlets</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-testing</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-util</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-validation</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-views</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-views-freemarker</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-views-mustache</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>io.dropwizard</groupId>
+                               <artifactId>dropwizard-http2</artifactId>
+                               <version>${dropwizard.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>commons-io</groupId>
+                               <artifactId>commons-io</artifactId>
+                               <version>${commons-io.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>com.orbitz.consul</groupId>
+                               <artifactId>consul-client</artifactId>
+                               <version>${consul-client.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.apache.httpcomponents</groupId>
+                               <artifactId>httpasyncclient</artifactId>
+                               <version>${httpasyncclient.version}</version>
+                       </dependency>
 
-      <!--jackson -->
-      <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
-        <artifactId>jackson-core</artifactId>
-        <version>${jackson-version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
-        <artifactId>jackson-databind</artifactId>
-        <version>2.7.9.1</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
-        <artifactId>jackson-annotations</artifactId>
-        <version>${jackson-version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.dataformat</groupId>
-        <artifactId>jackson-dataformat-xml</artifactId>
-        <version>${jackson-version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.dataformat</groupId>
-        <artifactId>jackson-dataformat-yaml</artifactId>
-        <version>${jackson-version}</version>
-      </dependency>
-      <dependency>
-        <groupId>com.fasterxml.jackson.module</groupId>
-        <artifactId>jackson-module-jaxb-annotations</artifactId>
-        <version>${jackson-version}</version>
-      </dependency>
+                       <dependency>
+                               <groupId>org.immutables</groupId>
+                               <artifactId>value</artifactId>
+                               <version>${immutables.value.version}</version>
+                       </dependency>
 
-      <!--jetty -->
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-io</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-util</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-http</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-client</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-continuation</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-jmx</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-webapp</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-xml</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-servlet</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-security</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.eclipse.jetty</groupId>
-        <artifactId>jetty-server</artifactId>
-        <version>${jetty.version}</version>
-      </dependency>
-      <!-- logger -->
-      <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-api</artifactId>
-        <version>${slf4j.version}</version>
-      </dependency>
+                       <dependency>
+                               <groupId>com.fiftyonred</groupId>
+                               <artifactId>mock-jedis</artifactId>
+                               <version>${mock-jedis.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>redis.clients</groupId>
+                               <artifactId>jedis</artifactId>
+                               <version>${jedis.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.projectlombok</groupId>
+                               <artifactId>lombok</artifactId>
+                               <version>${lombok.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.powermock</groupId>
+                               <artifactId>powermock-module-junit4</artifactId>
+                               <version>${powermock.version}</version>
+                               <scope>test</scope>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.powermock</groupId>
+                               <artifactId>powermock-api-mockito</artifactId>
+                               <version>${powermock.version}</version>
+                               <scope>test</scope>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
 
-      <dependency>
-        <groupId>ch.qos.logback</groupId>
-        <artifactId>logback-classic</artifactId>
-        <version>${logback.version}</version>
-      </dependency>
-
-
-      <dependency>
-        <groupId>ch.qos.logback</groupId>
-        <artifactId>logback-core</artifactId>
-        <version>${logback.version}</version>
-      </dependency>
-
-
-      <dependency>
-        <groupId>org.apache.httpcomponents</groupId>
-        <artifactId>httpclient</artifactId>
-        <version>${httpclient.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>com.orbitz.consul</groupId>
-        <artifactId>consul-client</artifactId>
-        <version>${consul-client.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.apache.httpcomponents</groupId>
-        <artifactId>httpasyncclient</artifactId>
-        <version>${httpasyncclient.version}</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.immutables</groupId>
-        <artifactId>value</artifactId>
-        <version>${immutables.value.version}</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-  
 </project>