Fix findbugs violations in sal-rest-docgen
[netconf.git] / restconf / sal-rest-docgen / src / main / java / org / opendaylight / netconf / sal / rest / doc / impl / ApiDocServiceImpl.java
index f5002e03714f36dce76c32778202972b3a2965b8..f309982e54bceb9a1c0d060ae6ba9c69b949f0d4 100644 (file)
@@ -10,7 +10,9 @@ package org.opendaylight.netconf.sal.rest.doc.impl;
 import com.fasterxml.jackson.core.JsonFactory;
 import com.fasterxml.jackson.core.JsonGenerator;
 import java.io.ByteArrayOutputStream;
+import java.io.IOException;
 import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
 import java.nio.charset.StandardCharsets;
 import java.util.Map.Entry;
 import javax.ws.rs.core.Response;
@@ -82,7 +84,6 @@ public class ApiDocServiceImpl implements ApiDocService {
         return Response.seeOther(uriInfo.getBaseUriBuilder().path("../explorer/index.html").build()).build();
     }
 
-    @SuppressWarnings("checkstyle:IllegalCatch")
     @Override
     public synchronized Response getListOfMounts(final UriInfo uriInfo) {
         final ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -97,10 +98,17 @@ public class ApiDocServiceImpl implements ApiDocService {
                 writer.writeEndObject();
             }
             writer.writeEndArray();
-        } catch (final Exception e) {
-            return Response.status(500).entity(e.getMessage()).build();
+            writer.flush();
+        } catch (IOException e) {
+            return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build();
+        }
+
+        try {
+            String responseStr = baos.toString(StandardCharsets.UTF_8.name());
+            return Response.status(Response.Status.OK).entity(responseStr).build();
+        } catch (UnsupportedEncodingException e) {
+            return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build();
         }
-        return Response.status(200).entity(baos.toString()).build();
     }
 
     @Override