diff options
Diffstat (limited to 'apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources')
4 files changed, 618 insertions, 480 deletions
diff --git a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/ApiRouteResource.java b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/ApiRouteResource.java index 6da841c..0dcaa75 100644 --- a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/ApiRouteResource.java +++ b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/ApiRouteResource.java @@ -1,26 +1,18 @@ /******************************************************************************* * Copyright 2016-2017 ZTE, Inc. and others. * - * 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 + * 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 + * 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. + * 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.resources; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - import java.net.URI; import java.util.List; @@ -43,172 +35,225 @@ import org.apache.http.HttpStatus; import org.onap.msb.apiroute.api.ApiRouteInfo; import org.onap.msb.apiroute.api.DiscoverInfo; import org.onap.msb.apiroute.wrapper.ApiRouteServiceWrapper; -import org.onap.msb.apiroute.wrapper.CustomRouteServiceWrapper; -import org.onap.msb.apiroute.wrapper.IuiRouteServiceWrapper; -import org.onap.msb.apiroute.wrapper.util.CommonUtil; import org.onap.msb.apiroute.wrapper.util.ConfigUtil; -import org.onap.msb.apiroute.wrapper.util.JacksonJsonUtil; import com.codahale.metrics.annotation.Timed; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + @Path("/apiRoute") -@Api(tags = { "ApiRoute" }) +@Api(tags = {"ApiRoute"}) @Produces(MediaType.APPLICATION_JSON) public class ApiRouteResource { @Context UriInfo uriInfo; // actual uri info - @GET - @Path("/") - @ApiOperation(value = "get all ApiRoute ", code = HttpStatus.SC_OK,response = ApiRouteInfo.class, responseContainer = "List") - @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get ApiRouteInfo List fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public List<ApiRouteInfo> getApiRoutes(@ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - return ApiRouteServiceWrapper.getInstance().getAllApiRouteInstances(routeWay); - } - - @POST - @Path("/") - @ApiOperation(value = "add one ApiRoute ", code = HttpStatus.SC_CREATED,response = ApiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable ApiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add ApiRouteInfo fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable ApiRouteInfo JSON REQUEST", response = String.class)}) + @GET + @Path("/") + @ApiOperation(value = "get all ApiRoute ", code = HttpStatus.SC_OK, response = ApiRouteInfo.class, + responseContainer = "List") + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, + message = "get ApiRouteInfo List fail", response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response addApiRoute( - @ApiParam(value = "ApiRoute Instance Info", required = true) ApiRouteInfo apiRouteInfo, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - ApiRouteInfo new_apiRouteInfo = ApiRouteServiceWrapper.getInstance().saveApiRouteInstance4Rest(apiRouteInfo,routeWay); - URI returnURI = uriInfo.getAbsolutePathBuilder().path("/" + new_apiRouteInfo.getServiceName()+"/version/"+new_apiRouteInfo.getVersion()).build(); + @Timed + public List<ApiRouteInfo> getApiRoutes(@ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + return ApiRouteServiceWrapper.getInstance().getAllApiRouteInstances(routeWay); + } + + @POST + @Path("/") + @ApiOperation(value = "add one ApiRoute ", code = HttpStatus.SC_CREATED, response = ApiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable ApiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add ApiRouteInfo fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable ApiRouteInfo JSON REQUEST", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public Response addApiRoute(@ApiParam(value = "ApiRoute Instance Info", required = true) ApiRouteInfo apiRouteInfo, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + ApiRouteInfo new_apiRouteInfo = + ApiRouteServiceWrapper.getInstance().saveApiRouteInstance4Rest(apiRouteInfo, routeWay); + URI returnURI = uriInfo.getAbsolutePathBuilder() + .path("/" + new_apiRouteInfo.getServiceName() + "/version/" + new_apiRouteInfo.getVersion()) + .build(); return Response.created(returnURI).entity(new_apiRouteInfo).build(); - } - - @GET - @Path("/{serviceName}/version/{version}") - @ApiOperation(value = "get one ApiRoute ",code = HttpStatus.SC_OK, response = ApiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "ApiRouteInfo not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable ApiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get ApiRouteInfo fail", response = String.class)}) + } + + @GET + @Path("/{serviceName}/version/{version}") + @ApiOperation(value = "get one ApiRoute ", code = HttpStatus.SC_OK, response = ApiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "ApiRouteInfo not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable ApiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get ApiRouteInfo fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public ApiRouteInfo getApiRoute( - @ApiParam(value = "ApiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "ApiRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "ApiRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - return ApiRouteServiceWrapper.getInstance().getApiRouteInstance(serviceName,version,host,publish_port,routeWay); - - } - - @PUT - @Path("/{serviceName}/version/{version}") - @ApiOperation(value = "update one ApiRoute by serviceName and version", code = HttpStatus.SC_CREATED,response = ApiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable ApiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update ApiRouteInfo fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable ApiRouteInfo JSON REQUEST", response = String.class)}) + @Timed + public ApiRouteInfo getApiRoute( + @ApiParam(value = "ApiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "ApiRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "ApiRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + return ApiRouteServiceWrapper.getInstance().getApiRouteInstance(serviceName, version, host, publish_port, + routeWay); + + } + + @PUT + @Path("/{serviceName}/version/{version}") + @ApiOperation(value = "update one ApiRoute by serviceName and version", code = HttpStatus.SC_CREATED, + response = ApiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable ApiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update ApiRouteInfo fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable ApiRouteInfo JSON REQUEST", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response updateApiRoute( - @ApiParam(value = "ApiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "ApiRoute Instance Info", required = true) ApiRouteInfo apiRouteInfo, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - ApiRouteInfo new_apiRouteInfo = ApiRouteServiceWrapper.getInstance().saveApiRouteInstance4Rest(apiRouteInfo,routeWay); - URI returnURI =uriInfo.getAbsolutePathBuilder().path("/" + new_apiRouteInfo.getServiceName()+"/version/"+new_apiRouteInfo.getVersion()).build(); + @Timed + public Response updateApiRoute( + @ApiParam(value = "ApiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "ApiRoute Instance Info", required = true) ApiRouteInfo apiRouteInfo, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + ApiRouteInfo new_apiRouteInfo = + ApiRouteServiceWrapper.getInstance().saveApiRouteInstance4Rest(apiRouteInfo, routeWay); + URI returnURI = uriInfo.getAbsolutePathBuilder() + .path("/" + new_apiRouteInfo.getServiceName() + "/version/" + new_apiRouteInfo.getVersion()) + .build(); return Response.created(returnURI).entity(new_apiRouteInfo).build(); - } - - - - @DELETE - @Path("/{serviceName}/version/{version}") - @ApiOperation(value = "delete one ApiRoute by serviceName and version", code = HttpStatus.SC_NO_CONTENT) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete ApiRouteInfo succeed "), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "ApiRouteInfo not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete ApiRouteInfo fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public void deleteApiRoute( - @ApiParam(value = "ApiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "ApiRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "ApiRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - ApiRouteServiceWrapper.getInstance().deleteApiRoute(serviceName, version,host,publish_port,routeWay); - } - - - @GET - @Path("/apiDocs") - @ApiOperation(value = "get all Local apiDoc ", code = HttpStatus.SC_OK, response = String.class, responseContainer = "List") - @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get apiDoc List fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public String[] getApiDocs() { - - return ApiRouteServiceWrapper.getInstance().getAllApiDocs(); - } - - - @GET + } + + + + @DELETE + @Path("/{serviceName}/version/{version}") + @ApiOperation(value = "delete one ApiRoute by serviceName and version", code = HttpStatus.SC_NO_CONTENT) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete ApiRouteInfo succeed "), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "ApiRouteInfo not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete ApiRouteInfo fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public void deleteApiRoute( + @ApiParam(value = "ApiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "ApiRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "ApiRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + ApiRouteServiceWrapper.getInstance().deleteApiRoute(serviceName, version, host, publish_port, routeWay); + } + + + @GET + @Path("/apiDocs") + @ApiOperation(value = "get all Local apiDoc ", code = HttpStatus.SC_OK, response = String.class, + responseContainer = "List") + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get apiDoc List fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public String[] getApiDocs() { + + return ApiRouteServiceWrapper.getInstance().getAllApiDocs(); + } + + + @GET @Path("/discoverInfo") - @ApiOperation(value = "get discover Info ", code = HttpStatus.SC_OK,response = DiscoverInfo.class) - @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get discover Info fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) + @ApiOperation(value = "get discover Info ", code = HttpStatus.SC_OK, response = DiscoverInfo.class) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get discover Info fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) @Timed public DiscoverInfo getServiceDiscoverInfo() { - return ConfigUtil.getInstance().getDiscoverInfo(); + return ConfigUtil.getInstance().getDiscoverInfo(); } - - @PUT - @Path("/{serviceName}/version/{version}/status/{status}") - @ApiOperation(value = "update one ApiRoute status by serviceName and version", code = HttpStatus.SC_CREATED,response = ApiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable ApiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "ApiRouteInfo not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update status fail", response = String.class)}) + + @PUT + @Path("/{serviceName}/version/{version}/status/{status}") + @ApiOperation(value = "update one ApiRoute status by serviceName and version", code = HttpStatus.SC_CREATED, + response = ApiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable ApiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "ApiRouteInfo not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update status fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response updateApiRouteStatus( - @ApiParam(value = "ApiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "ApiRoute status,1:abled 0:disabled", required = true) @PathParam("status") String status, - @ApiParam(value = "ApiRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "ApiRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - ApiRouteInfo new_apiRouteInfo = ApiRouteServiceWrapper.getInstance().updateApiRouteStatus(serviceName,version,host,publish_port,status,routeWay); + @Timed + public Response updateApiRouteStatus( + @ApiParam(value = "ApiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "ApiRoute version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "ApiRoute status,1:abled 0:disabled", + required = true) @PathParam("status") String status, + @ApiParam(value = "ApiRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "ApiRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + ApiRouteInfo new_apiRouteInfo = ApiRouteServiceWrapper.getInstance().updateApiRouteStatus(serviceName, version, + host, publish_port, status, routeWay); return Response.created(uriInfo.getAbsolutePathBuilder().build()).entity(new_apiRouteInfo).build(); - } - - @GET + } + + @GET @Path("/export") - @ApiOperation(value = "export all route service Info by json-file", code = HttpStatus.SC_OK,response = String.class) + @ApiOperation(value = "export all route service Info by json-file", code = HttpStatus.SC_OK, + response = String.class) @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "export fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_NOT_ACCEPTABLE, message = " not Acceptable client-side", response = String.class)}) - @Produces(MediaType.TEXT_PLAIN) - public Response exportService(@ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) throws Exception { + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "export fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_NOT_ACCEPTABLE, message = " not Acceptable client-side", + response = String.class)}) + @Produces(MediaType.TEXT_PLAIN) + public Response exportService( + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) + throws Exception { - ResponseBuilder response = Response.ok( ApiRouteServiceWrapper.getInstance().getAllrouteByJson(routeWay)); - return response.header("Content-Disposition", "attachment; filename=\"RouteService.json\"").build(); + ResponseBuilder response = Response.ok(ApiRouteServiceWrapper.getInstance().getAllrouteByJson(routeWay)); + return response.header("Content-Disposition", "attachment; filename=\"RouteService.json\"").build(); } - + } diff --git a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/CustomRouteResource.java b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/CustomRouteResource.java index f7ba0bc..986c4c9 100644 --- a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/CustomRouteResource.java +++ b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/CustomRouteResource.java @@ -1,26 +1,18 @@ /******************************************************************************* * Copyright 2016-2017 ZTE, Inc. and others. * - * 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 + * 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 + * 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. + * 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.resources; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - import java.net.URI; import java.util.List; @@ -43,122 +35,163 @@ import org.onap.msb.apiroute.wrapper.CustomRouteServiceWrapper; import com.codahale.metrics.annotation.Timed; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + @Path("/customRoute") -@Api(tags = { "CustomRoute" }) +@Api(tags = {"CustomRoute"}) @Produces(MediaType.APPLICATION_JSON) public class CustomRouteResource { - + @Context UriInfo uriInfo; // actual uri info - - @GET - @Path("/all") - @ApiOperation(value = "get all CustomRoute ", code = HttpStatus.SC_OK,response = CustomRouteInfo.class, responseContainer = "List") - @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get CustomRouteInfo List fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public List<CustomRouteInfo> getCustomRoutes(@ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - return CustomRouteServiceWrapper.getInstance().getAllCustomRouteInstances(routeWay); - } - - @POST - @Path("/instance") - @ApiOperation(value = "add one CustomRoute ", code = HttpStatus.SC_CREATED,response = CustomRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable CustomRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add CustomRouteInfo fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable CustomRouteInfo JSON REQUEST", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response addCustomRoute( - @ApiParam(value = "CustomRoute Instance Info", required = true) CustomRouteInfo customRouteInfo, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - CustomRouteInfo new_customRouteInfo = CustomRouteServiceWrapper.getInstance().saveCustomRouteInstance4Rest(customRouteInfo,routeWay); - URI returnURI =uriInfo.getAbsolutePathBuilder().path("/instance?serviceName=" + new_customRouteInfo.getServiceName()).build(); + + @GET + @Path("/all") + @ApiOperation(value = "get all CustomRoute ", code = HttpStatus.SC_OK, response = CustomRouteInfo.class, + responseContainer = "List") + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, + message = "get CustomRouteInfo List fail", response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public List<CustomRouteInfo> getCustomRoutes(@ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + return CustomRouteServiceWrapper.getInstance().getAllCustomRouteInstances(routeWay); + } + + @POST + @Path("/instance") + @ApiOperation(value = "add one CustomRoute ", code = HttpStatus.SC_CREATED, response = CustomRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable CustomRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add CustomRouteInfo fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, + message = "Unprocessable CustomRouteInfo JSON REQUEST", response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public Response addCustomRoute( + @ApiParam(value = "CustomRoute Instance Info", required = true) CustomRouteInfo customRouteInfo, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + CustomRouteInfo new_customRouteInfo = + CustomRouteServiceWrapper.getInstance().saveCustomRouteInstance4Rest(customRouteInfo, routeWay); + URI returnURI = uriInfo.getAbsolutePathBuilder() + .path("/instance?serviceName=" + new_customRouteInfo.getServiceName()).build(); return Response.created(returnURI).entity(new_customRouteInfo).build(); - } - - @GET - @Path("/instance") - @ApiOperation(value = "get one CustomRoute ",code = HttpStatus.SC_OK, response = CustomRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "CustomRoute not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable CustomRoute Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get CustomRoute fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public CustomRouteInfo getCustomRoute( - @ApiParam(value = "CustomRoute serviceName", required = false) @QueryParam("serviceName") String serviceName, - @ApiParam(value = "CustomRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "CustomRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - - return CustomRouteServiceWrapper.getInstance().getCustomRouteInstance(serviceName,host,publish_port,routeWay); - - } - - @PUT - @Path("/instance") - @ApiOperation(value = "update one CustomRoute by serviceName", code = HttpStatus.SC_CREATED,response = CustomRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable CustomRoute Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update CustomRoute fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable CustomRoute JSON REQUEST", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response updateCustomRoute( - @ApiParam(value = "CustomRoute serviceName", required = true) @QueryParam("serviceName") String serviceName, - @ApiParam(value = "CustomRoute Instance Info", required = true) CustomRouteInfo customRoute, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay - ) { - - CustomRouteInfo new_customRouteInfo= CustomRouteServiceWrapper.getInstance().saveCustomRouteInstance4Rest(customRoute,routeWay); + } + + @GET + @Path("/instance") + @ApiOperation(value = "get one CustomRoute ", code = HttpStatus.SC_OK, response = CustomRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "CustomRoute not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable CustomRoute Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get CustomRoute fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public CustomRouteInfo getCustomRoute( + @ApiParam(value = "CustomRoute serviceName", + required = false) @QueryParam("serviceName") String serviceName, + @ApiParam(value = "CustomRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "CustomRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + + return CustomRouteServiceWrapper.getInstance().getCustomRouteInstance(serviceName, host, publish_port, + routeWay); + + } + + @PUT + @Path("/instance") + @ApiOperation(value = "update one CustomRoute by serviceName", code = HttpStatus.SC_CREATED, + response = CustomRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable CustomRoute Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update CustomRoute fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable CustomRoute JSON REQUEST", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public Response updateCustomRoute( + @ApiParam(value = "CustomRoute serviceName", + required = true) @QueryParam("serviceName") String serviceName, + @ApiParam(value = "CustomRoute Instance Info", required = true) CustomRouteInfo customRoute, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + CustomRouteInfo new_customRouteInfo = + CustomRouteServiceWrapper.getInstance().saveCustomRouteInstance4Rest(customRoute, routeWay); return Response.created(uriInfo.getAbsolutePathBuilder().build()).entity(new_customRouteInfo).build(); - } - - @DELETE - @Path("/instance") - @ApiOperation(value = "delete one CustomRoute by serviceName", code = HttpStatus.SC_NO_CONTENT) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete customRoute succeed "), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "customRoute not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete customRoute fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public void deleteCustomRoute( - @ApiParam(value = "CustomRoute serviceName", required = true) @QueryParam("serviceName") String serviceName, - @ApiParam(value = "CustomRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "CustomRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - CustomRouteServiceWrapper.getInstance().deleteCustomRoute(serviceName,host,publish_port,routeWay); - - } - - @PUT - @Path("/status") - @ApiOperation(value = "update one CustomRoute status by serviceName ",code = HttpStatus.SC_CREATED, response = CustomRouteInfo.class) + } + + @DELETE + @Path("/instance") + @ApiOperation(value = "delete one CustomRoute by serviceName", code = HttpStatus.SC_NO_CONTENT) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete customRoute succeed "), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "customRoute not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete customRoute fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public void deleteCustomRoute( + @ApiParam(value = "CustomRoute serviceName", + required = true) @QueryParam("serviceName") String serviceName, + @ApiParam(value = "CustomRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "CustomRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + CustomRouteServiceWrapper.getInstance().deleteCustomRoute(serviceName, host, publish_port, routeWay); + + } + + @PUT + @Path("/status") + @ApiOperation(value = "update one CustomRoute status by serviceName ", code = HttpStatus.SC_CREATED, + response = CustomRouteInfo.class) @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable customRoute Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "customRoute not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update status fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response updateCustomRouteStatus( - @ApiParam(value = "CustomRoute serviceName", required = true) @QueryParam("serviceName") String serviceName, - @ApiParam(value = "CustomRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "CustomRoute status,1:abled 0:disabled", required = true) @QueryParam("status") String status, - @ApiParam(value = "CustomRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - CustomRouteInfo new_customRouteInfo = CustomRouteServiceWrapper.getInstance().updateCustomRouteStatus(serviceName,host,publish_port,status,routeWay); + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable customRoute Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "customRoute not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update status fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public Response updateCustomRouteStatus( + @ApiParam(value = "CustomRoute serviceName", + required = true) @QueryParam("serviceName") String serviceName, + @ApiParam(value = "CustomRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "CustomRoute status,1:abled 0:disabled", + required = true) @QueryParam("status") String status, + @ApiParam(value = "CustomRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + CustomRouteInfo new_customRouteInfo = CustomRouteServiceWrapper.getInstance() + .updateCustomRouteStatus(serviceName, host, publish_port, status, routeWay); return Response.created(uriInfo.getAbsolutePathBuilder().build()).entity(new_customRouteInfo).build(); - } + } } diff --git a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/IuiRouteResource.java b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/IuiRouteResource.java index d21be95..43bcf99 100644 --- a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/IuiRouteResource.java +++ b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/IuiRouteResource.java @@ -1,26 +1,18 @@ /******************************************************************************* * Copyright 2016-2017 ZTE, Inc. and others. * - * 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 + * 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 + * 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. + * 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.resources; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - import java.net.URI; import java.util.List; @@ -44,119 +36,158 @@ import org.onap.msb.apiroute.wrapper.IuiRouteServiceWrapper; import com.codahale.metrics.annotation.Timed; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + @Path("/iuiRoute") -@Api(tags = { "iuiRoute" }) +@Api(tags = {"iuiRoute"}) @Produces(MediaType.APPLICATION_JSON) public class IuiRouteResource { @Context UriInfo uriInfo; // actual uri info - @GET - @Path("/") - @ApiOperation(value = "get all iuiRoute ", code = HttpStatus.SC_OK,response = IuiRouteInfo.class, responseContainer = "List") - @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get iuiRouteInfo List fail", response = String.class)}) + @GET + @Path("/") + @ApiOperation(value = "get all iuiRoute ", code = HttpStatus.SC_OK, response = IuiRouteInfo.class, + responseContainer = "List") + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, + message = "get iuiRouteInfo List fail", response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public List<IuiRouteInfo> getIuiRoutes(@ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - return IuiRouteServiceWrapper.getInstance().getAllIuiRouteInstances(routeWay); - } - - @POST - @Path("/") - @ApiOperation(value = "add one iuiRoute ", code = HttpStatus.SC_CREATED,response = IuiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable iuiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add iuiRouteInfo fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable iuiRouteInfo JSON REQUEST", response = String.class)}) + @Timed + public List<IuiRouteInfo> getIuiRoutes(@ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + return IuiRouteServiceWrapper.getInstance().getAllIuiRouteInstances(routeWay); + } + + @POST + @Path("/") + @ApiOperation(value = "add one iuiRoute ", code = HttpStatus.SC_CREATED, response = IuiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable iuiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add iuiRouteInfo fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable iuiRouteInfo JSON REQUEST", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response addIuiRoute( - @ApiParam(value = "iuiRoute Instance Info", required = true) IuiRouteInfo iuiRouteInfo, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - IuiRouteInfo new_iuiRouteInfo = IuiRouteServiceWrapper.getInstance().saveIuiRouteInstance4Rest(iuiRouteInfo,routeWay); - URI returnURI =uriInfo.getAbsolutePathBuilder().path("/" + new_iuiRouteInfo.getServiceName()).build(); + @Timed + public Response addIuiRoute(@ApiParam(value = "iuiRoute Instance Info", required = true) IuiRouteInfo iuiRouteInfo, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + IuiRouteInfo new_iuiRouteInfo = + IuiRouteServiceWrapper.getInstance().saveIuiRouteInstance4Rest(iuiRouteInfo, routeWay); + URI returnURI = uriInfo.getAbsolutePathBuilder().path("/" + new_iuiRouteInfo.getServiceName()).build(); return Response.created(returnURI).entity(new_iuiRouteInfo).build(); - } - - @GET - @Path("/{serviceName}") - @ApiOperation(value = "get one iuiRoute ",code = HttpStatus.SC_OK, response = IuiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "IuiRouteInfo not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable IuiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get IuiRouteInfo fail", response = String.class)}) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public IuiRouteInfo getIuiRoute( - @ApiParam(value = "iuiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "iuiRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "iuiRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - return IuiRouteServiceWrapper.getInstance().getIuiRouteInstance(serviceName,host,publish_port,routeWay); - - } - - @PUT - @Path("/{serviceName}") - @ApiOperation(value = "update one iuiRoute by serviceName", code = HttpStatus.SC_CREATED,response = IuiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable IuiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update IuiRouteInfo fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable IuiRouteInfo JSON REQUEST", response = String.class)}) + } + + @GET + @Path("/{serviceName}") + @ApiOperation(value = "get one iuiRoute ", code = HttpStatus.SC_OK, response = IuiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "IuiRouteInfo not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable IuiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get IuiRouteInfo fail", + response = String.class)}) + @Produces(MediaType.APPLICATION_JSON) + @Timed + public IuiRouteInfo getIuiRoute( + @ApiParam(value = "iuiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "iuiRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "iuiRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + return IuiRouteServiceWrapper.getInstance().getIuiRouteInstance(serviceName, host, publish_port, routeWay); + + } + + @PUT + @Path("/{serviceName}") + @ApiOperation(value = "update one iuiRoute by serviceName", code = HttpStatus.SC_CREATED, + response = IuiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable IuiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update IuiRouteInfo fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable IuiRouteInfo JSON REQUEST", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response updateIuiRoute( - @ApiParam(value = "iuiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "iuiRoute Instance Info", required = true) IuiRouteInfo iuiRouteInfo, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - IuiRouteInfo new_iuiRouteInfo = IuiRouteServiceWrapper.getInstance().saveIuiRouteInstance4Rest(iuiRouteInfo,routeWay); - URI returnURI =uriInfo.getAbsolutePathBuilder().path("/" + serviceName).build(); + @Timed + public Response updateIuiRoute( + @ApiParam(value = "iuiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "iuiRoute Instance Info", required = true) IuiRouteInfo iuiRouteInfo, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + IuiRouteInfo new_iuiRouteInfo = + IuiRouteServiceWrapper.getInstance().saveIuiRouteInstance4Rest(iuiRouteInfo, routeWay); + URI returnURI = uriInfo.getAbsolutePathBuilder().path("/" + serviceName).build(); return Response.created(returnURI).entity(new_iuiRouteInfo).build(); - } - - @DELETE - @Path("/{serviceName}") - @ApiOperation(value = "delete one iuiRoute by serviceName", code = HttpStatus.SC_NO_CONTENT) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete IuiRouteInfo succeed "), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "IuiRouteInfo not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete IuiRouteInfo fail", response = String.class)}) + } + + @DELETE + @Path("/{serviceName}") + @ApiOperation(value = "delete one iuiRoute by serviceName", code = HttpStatus.SC_NO_CONTENT) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete IuiRouteInfo succeed "), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "IuiRouteInfo not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete IuiRouteInfo fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public void deleteIuiRoute( - @ApiParam(value = "iuiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "iuiRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "iuiRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - IuiRouteServiceWrapper.getInstance().deleteIuiRoute(serviceName,host,publish_port,routeWay); - - } - - @PUT - @Path("/{serviceName}/status/{status}") - @ApiOperation(value = "update one iuiRoute status by serviceName ",code = HttpStatus.SC_CREATED, response = IuiRouteInfo.class) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable IuiRouteInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "IuiRouteInfo not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update IuiRouteInfo status fail", response = String.class)}) + @Timed + public void deleteIuiRoute( + @ApiParam(value = "iuiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "iuiRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "iuiRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + IuiRouteServiceWrapper.getInstance().deleteIuiRoute(serviceName, host, publish_port, routeWay); + + } + + @PUT + @Path("/{serviceName}/status/{status}") + @ApiOperation(value = "update one iuiRoute status by serviceName ", code = HttpStatus.SC_CREATED, + response = IuiRouteInfo.class) + @ApiResponses(value = { + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable IuiRouteInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "IuiRouteInfo not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, + message = "update IuiRouteInfo status fail", response = String.class)}) @Produces(MediaType.APPLICATION_JSON) - @Timed - public Response updateIuiRouteStatus( - @ApiParam(value = "iuiRoute serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "iuiRoute host", required = false) @QueryParam("host") String host, - @ApiParam(value = "iuiRoute status,1:abled 0:disabled", required = true) @PathParam("status") String status, - @ApiParam(value = "iuiRoute Publish port", required = false) @QueryParam("publish_port") @DefaultValue("")String publish_port, - @ApiParam(value = "Route Way", required = false) @QueryParam("routeWay") @DefaultValue("ip")String routeWay) { - - IuiRouteInfo new_iuiRouteInfo = IuiRouteServiceWrapper.getInstance().updateIuiRouteStatus(serviceName,host,publish_port,status,routeWay); - URI returnURI =uriInfo.getAbsolutePathBuilder().path("/" + serviceName).build(); + @Timed + public Response updateIuiRouteStatus( + @ApiParam(value = "iuiRoute serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "iuiRoute host", required = false) @QueryParam("host") String host, + @ApiParam(value = "iuiRoute status,1:abled 0:disabled", + required = true) @PathParam("status") String status, + @ApiParam(value = "iuiRoute Publish port", + required = false) @QueryParam("publish_port") @DefaultValue("") String publish_port, + @ApiParam(value = "Route Way", + required = false) @QueryParam("routeWay") @DefaultValue("ip") String routeWay) { + + IuiRouteInfo new_iuiRouteInfo = IuiRouteServiceWrapper.getInstance().updateIuiRouteStatus(serviceName, host, + publish_port, status, routeWay); + URI returnURI = uriInfo.getAbsolutePathBuilder().path("/" + serviceName).build(); return Response.created(returnURI).entity(new_iuiRouteInfo).build(); - } - + } + } diff --git a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/MicroServiceResource.java b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/MicroServiceResource.java index 4f02c8e..ba850db 100644 --- a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/MicroServiceResource.java +++ b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/resources/MicroServiceResource.java @@ -1,26 +1,18 @@ /******************************************************************************* * Copyright 2016-2017 ZTE, Inc. and others. * - * 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 + * 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 + * 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. + * 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.resources; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; - import java.net.URI; import java.util.List; @@ -52,20 +44,27 @@ import org.slf4j.LoggerFactory; import com.codahale.metrics.annotation.Timed; import com.codahale.metrics.health.HealthCheck.Result; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; + @Path("/services") // @Api(tags = {"MSB-Service Resource"}) @Produces(MediaType.APPLICATION_JSON) public class MicroServiceResource { - private static final Logger LOGGER = LoggerFactory.getLogger(MicroServiceResource.class); + private static final Logger LOGGER = LoggerFactory.getLogger(MicroServiceResource.class); @Context UriInfo uriInfo; // actual uri info @GET @Path("/") - @ApiOperation(value = "get all microservices ", code = HttpStatus.SC_OK, response = MicroServiceFullInfo.class, responseContainer = "List") - @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get microservice List fail", response = String.class)}) + @ApiOperation(value = "get all microservices ", code = HttpStatus.SC_OK, response = MicroServiceFullInfo.class, + responseContainer = "List") + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, + message = "get microservice List fail", response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public List<MicroServiceFullInfo> getMicroService() { @@ -76,21 +75,29 @@ public class MicroServiceResource { @Path("/") @ApiOperation(value = "add one microservice ", code = HttpStatus.SC_CREATED, response = MicroServiceFullInfo.class) @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add microservice fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable MicroServiceInfo JSON REQUEST", response = String.class)}) + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable MicroServiceInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "add microservice fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, + message = "Unprocessable MicroServiceInfo JSON REQUEST", response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public Response addMicroService( - @ApiParam(value = "MicroServiceInfo Instance Info", required = true) MicroServiceFullInfo microServiceInfo, - @Context HttpServletRequest request, - @ApiParam(value = "createOrUpdate", required = false) @QueryParam("createOrUpdate") @DefaultValue("true") boolean createOrUpdate, - @ApiParam(value = "port", required = false) @QueryParam("port") @DefaultValue("") String port) { - - String ip=MicroServiceUtil.getRealIp(request); - - MicroServiceFullInfo microServiceFullInfo =MicroServiceWrapper.getInstance().saveMicroServiceInstance(microServiceInfo,createOrUpdate,ip,port); - URI returnURI =uriInfo.getAbsolutePathBuilder().path("/" + microServiceInfo.getServiceName() + "/version/"+ microServiceInfo.getVersion()).build(); + @ApiParam(value = "MicroServiceInfo Instance Info", + required = true) MicroServiceFullInfo microServiceInfo, + @Context HttpServletRequest request, + @ApiParam(value = "createOrUpdate", + required = false) @QueryParam("createOrUpdate") @DefaultValue("true") boolean createOrUpdate, + @ApiParam(value = "port", required = false) @QueryParam("port") @DefaultValue("") String port) { + + String ip = MicroServiceUtil.getRealIp(request); + + MicroServiceFullInfo microServiceFullInfo = MicroServiceWrapper.getInstance() + .saveMicroServiceInstance(microServiceInfo, createOrUpdate, ip, port); + URI returnURI = uriInfo.getAbsolutePathBuilder() + .path("/" + microServiceInfo.getServiceName() + "/version/" + microServiceInfo.getVersion()) + .build(); return Response.created(returnURI).entity(microServiceFullInfo).build(); } @@ -100,14 +107,17 @@ public class MicroServiceResource { @Path("/{serviceName}/version/{version}") @ApiOperation(value = "get one microservice ", code = HttpStatus.SC_OK, response = MicroServiceFullInfo.class) @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "microservice not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get microservice fail", response = String.class)}) + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "microservice not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable MicroServiceInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "get microservice fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public MicroServiceFullInfo getMicroService( - @ApiParam(value = "microservice serviceName") @PathParam("serviceName") String serviceName, - @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"") @PathParam("version") @DefaultValue("") String version) { + @ApiParam(value = "microservice serviceName") @PathParam("serviceName") String serviceName, + @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"") @PathParam("version") @DefaultValue("") String version) { return MicroServiceWrapper.getInstance().getMicroServiceInstance(serviceName, version); @@ -117,46 +127,53 @@ public class MicroServiceResource { @PUT @Path("/{serviceName}/version/{version}") - @ApiOperation(value = "update one microservice by serviceName and version", code = HttpStatus.SC_CREATED, response = MicroServiceFullInfo.class) + @ApiOperation(value = "update one microservice by serviceName and version", code = HttpStatus.SC_CREATED, + response = MicroServiceFullInfo.class) @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update microservice fail", response = String.class), - @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, message = "Unprocessable MicroServiceInfo JSON REQUEST", response = String.class)}) + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable MicroServiceInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update microservice fail", + response = String.class), + @ApiResponse(code = HttpStatus.SC_BAD_REQUEST, + message = "Unprocessable MicroServiceInfo JSON REQUEST", response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public Response updateMicroService( - @ApiParam(value = "microservice serviceName") @PathParam("serviceName") String serviceName, - @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"") @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "microservice Instance Info", required = true) MicroServiceFullInfo microServiceInfo, - @Context HttpServletRequest request) { - - String ip=MicroServiceUtil.getRealIp(request); - MicroServiceFullInfo microServiceFullInfo = MicroServiceWrapper.getInstance().saveMicroServiceInstance(microServiceInfo, - false,ip,""); + @ApiParam(value = "microservice serviceName") @PathParam("serviceName") String serviceName, + @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"") @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "microservice Instance Info", + required = true) MicroServiceFullInfo microServiceInfo, + @Context HttpServletRequest request) { + + String ip = MicroServiceUtil.getRealIp(request); + MicroServiceFullInfo microServiceFullInfo = + MicroServiceWrapper.getInstance().saveMicroServiceInstance(microServiceInfo, false, ip, ""); return Response.created(uriInfo.getAbsolutePathBuilder().build()).entity(microServiceFullInfo).build(); } - @DELETE @Path("/{serviceName}/version/{version}/nodes/{ip}/{port}") @ApiOperation(value = "delete single node by serviceName and version and node", code = HttpStatus.SC_NO_CONTENT) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete node succeed "), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "node not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete node fail", response = String.class)}) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete node succeed "), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "node not found", response = String.class), + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable MicroServiceInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete node fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public void deleteNode( - @ApiParam(value = "microservice serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "ip") @PathParam("ip") String ip, - @ApiParam(value = "port") @PathParam("port") String port) { + @ApiParam(value = "microservice serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "ip") @PathParam("ip") String ip, + @ApiParam(value = "port") @PathParam("port") String port) { - MicroServiceWrapper.getInstance().deleteMicroServiceInstance(serviceName, version, ip,port); + MicroServiceWrapper.getInstance().deleteMicroServiceInstance(serviceName, version, ip, port); } @@ -164,65 +181,77 @@ public class MicroServiceResource { @DELETE @Path("/{serviceName}/version/{version}") @ApiOperation(value = "delete one full microservice by serviceName and version", code = HttpStatus.SC_NO_CONTENT) - @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete microservice succeed "), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "microservice not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete microservice fail", response = String.class)}) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_NO_CONTENT, message = "delete microservice succeed "), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "microservice not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable MicroServiceInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "delete microservice fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public void deleteMicroService( - @ApiParam(value = "microservice serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version) { + @ApiParam(value = "microservice serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version) { - MicroServiceWrapper.getInstance().deleteMicroService(serviceName, version); + MicroServiceWrapper.getInstance().deleteMicroService(serviceName, version); } @PUT @Path("/{serviceName}/version/{version}/status/{status}") - @ApiOperation(value = "update microservice status by serviceName and version", code = HttpStatus.SC_CREATED, response = MicroServiceFullInfo.class) + @ApiOperation(value = "update microservice status by serviceName and version", code = HttpStatus.SC_CREATED, + response = MicroServiceFullInfo.class) @ApiResponses(value = { - @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, message = "Unprocessable MicroServiceInfo Entity ", response = String.class), - @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "microservice not found", response = String.class), - @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update status fail", response = String.class)}) + @ApiResponse(code = HttpStatus.SC_UNPROCESSABLE_ENTITY, + message = "Unprocessable MicroServiceInfo Entity ", response = String.class), + @ApiResponse(code = HttpStatus.SC_NOT_FOUND, message = "microservice not found", + response = String.class), + @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "update status fail", + response = String.class)}) @Produces(MediaType.APPLICATION_JSON) @Timed public Response updateServiceStatus( - @ApiParam(value = "microservice serviceName", required = true) @PathParam("serviceName") String serviceName, - @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"", required = false) @PathParam("version") @DefaultValue("") String version, - @ApiParam(value = "status,1:abled 0:disabled") @PathParam("status") String status) { + @ApiParam(value = "microservice serviceName", + required = true) @PathParam("serviceName") String serviceName, + @ApiParam(value = "microservice version,if the version is empty, please enter \"null\"", + required = false) @PathParam("version") @DefaultValue("") String version, + @ApiParam(value = "status,1:abled 0:disabled") @PathParam("status") String status) { - MicroServiceFullInfo microServiceFullInfo = MicroServiceWrapper.getInstance().updateMicroServiceStatus(serviceName, version,status); + MicroServiceFullInfo microServiceFullInfo = + MicroServiceWrapper.getInstance().updateMicroServiceStatus(serviceName, version, status); return Response.created(uriInfo.getAbsolutePathBuilder().build()).entity(microServiceFullInfo).build(); } - - @GET - @Path("/health") - @ApiOperation(value = "apigateway healthy check ", code = HttpStatus.SC_OK, response = String.class) - @ApiResponses(value = { @ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "check fail", response = String.class) }) - @Produces(MediaType.TEXT_PLAIN) - @Timed - public Response health() { - - // redis - Result rst = RedisHealthCheck.getResult(); - if (!rst.isHealthy()) { - LOGGER.warn("health check failed:"+rst.getMessage()); - throw new ExtendedInternalServerErrorException(rst.getMessage()); - } - - //consul - rst = ConsulLinkHealthCheck.getResult(); - if (!rst.isHealthy()) { - LOGGER.warn("health check failed:"+rst.getMessage()); - throw new ExtendedInternalServerErrorException(rst.getMessage()); - } - - return Response.ok("apigateway healthy check:ok").build(); - } + + @GET + @Path("/health") + @ApiOperation(value = "apigateway healthy check ", code = HttpStatus.SC_OK, response = String.class) + @ApiResponses(value = {@ApiResponse(code = HttpStatus.SC_INTERNAL_SERVER_ERROR, message = "check fail", + response = String.class)}) + @Produces(MediaType.TEXT_PLAIN) + @Timed + public Response health() { + + // redis + Result rst = RedisHealthCheck.getResult(); + if (!rst.isHealthy()) { + LOGGER.warn("health check failed:" + rst.getMessage()); + throw new ExtendedInternalServerErrorException(rst.getMessage()); + } + + // consul + rst = ConsulLinkHealthCheck.getResult(); + if (!rst.isHealthy()) { + LOGGER.warn("health check failed:" + rst.getMessage()); + throw new ExtendedInternalServerErrorException(rst.getMessage()); + } + + return Response.ok("apigateway healthy check:ok").build(); + } } |