From: Guangrong Fu Date: Tue, 10 Oct 2017 10:00:12 +0000 (+0800) Subject: Fix the swagger.json Bug X-Git-Tag: v1.0.0~25 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=holmes%2Fengine-management.git;a=commitdiff_plain;h=0dae31f0a9aa31a62d5c38c83034065b650d3df8 Fix the swagger.json Bug Change-Id: I6c701582026e57ed72cd1f33e4a4a648b19b3224 Issue-ID: HOLMES-68 Signed-off-by: Guangrong Fu --- diff --git a/engine-d/src/main/java/org/onap/holmes/engine/resources/SwaggerResource.java b/engine-d/src/main/java/org/onap/holmes/engine/resources/SwaggerResource.java new file mode 100644 index 0000000..6bc68c5 --- /dev/null +++ b/engine-d/src/main/java/org/onap/holmes/engine/resources/SwaggerResource.java @@ -0,0 +1,65 @@ +/* + * 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.engine.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.io.UnsupportedEncodingException; +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; + } +}