From a1323a079041791a6cfc0c0b0d0ffc973af165f9 Mon Sep 17 00:00:00 2001 From: Guangrong Fu Date: Tue, 10 Oct 2017 17:59:27 +0800 Subject: Fix the swagger.json Bug Change-Id: I8323d54a2df55f2e66011a40241c78ad2ac6227a Issue-ID: HOLMES-68 Signed-off-by: Guangrong Fu --- .../holmes/rulemgt/resources/SwaggerResource.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 rulemgt/src/main/java/org/onap/holmes/rulemgt/resources/SwaggerResource.java diff --git a/rulemgt/src/main/java/org/onap/holmes/rulemgt/resources/SwaggerResource.java b/rulemgt/src/main/java/org/onap/holmes/rulemgt/resources/SwaggerResource.java new file mode 100644 index 0000000..df5a8f1 --- /dev/null +++ b/rulemgt/src/main/java/org/onap/holmes/rulemgt/resources/SwaggerResource.java @@ -0,0 +1,64 @@ +/* + * Copyright 2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.holmes.rulemgt.resources; + +import io.swagger.annotations.Api; +import io.swagger.annotations.SwaggerDefinition; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.net.URL; +import java.net.URLDecoder; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import lombok.extern.slf4j.Slf4j; +import org.jvnet.hk2.annotations.Service; + +@Service +@Path("/swagger.json") +@Produces(MediaType.APPLICATION_JSON) +@Slf4j +public class SwaggerResource { + + @GET + @Produces(MediaType.APPLICATION_JSON) + public String getSwaggerJson() { + URL url = SwaggerResource.class.getResource("/swagger.json"); + String ret = "{}"; + try { + System.out.println(URLDecoder.decode(url.getPath(), "UTF-8")); + File file = new File(URLDecoder.decode(url.getPath(), "UTF-8")); + + BufferedReader br = new BufferedReader(new FileReader(file)); + StringBuffer buffer = new StringBuffer(); + String line = " "; + while ((line = br.readLine()) != null) { + buffer.append(line); + } + ret = buffer.toString(); + } catch (FileNotFoundException e) { + log.warn("Failed to read the API description file."); + } catch (IOException e) { + log.warn("An error occurred while reading swagger.json."); + } + return ret; + } +} -- cgit 1.2.3-korg