sonar bug: check actual bytes skipped 41/30841/1
authorSantosh Yadav <santosh.k.yadav@ril.com>
Thu, 8 Feb 2018 11:10:24 +0000 (16:40 +0530)
committerSantosh Yadav <santosh.k.yadav@ril.com>
Thu, 8 Feb 2018 11:11:26 +0000 (16:41 +0530)
checked no of byted skipped in skipped var
line no: 65

Issue-ID: VFC-697
Change-Id: I65cf97067a715cd014fb04cbd163bf62f091b69c
Signed-off-by: Santosh Yadav <santosh.k.yadav@ril.com>
ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/commons/utils/Gunzip.java

index bd6b1d1..9098c27 100644 (file)
@@ -18,72 +18,67 @@ package org.onap.vfc.nfvo.emsdriver.commons.utils;
 import java.io.*;
 import java.util.zip.GZIPInputStream;
 
-
 public class Gunzip {
 
-    /**
-     *
-     */
-    public void unCompress(String gzFileName, String toFile)
-            throws IOException {
-        GZIPInputStream gzIn = null;
-        FileOutputStream fileOutput = null;
-        FileInputStream gzInput = new FileInputStream(gzFileName);
-        try {
-            gzIn = new GZIPInputStream(gzInput);
-            File tofile = new File(toFile);
-            enable(tofile);
-            fileOutput = new FileOutputStream(tofile, false);
-
-            moveBytes(gzIn, fileOutput, -1, -1, 1024);
-        } finally {
-            if (gzIn != null) {
-                gzIn.close();
-            }
-            if (fileOutput != null) {
-                fileOutput.close();
-            }
-
-        }
-
-
-    }
-
-    private void enable(File tofile) throws IOException {
-        if (!tofile.exists()) {
-            String parentPath = tofile.getParent();
-            if (parentPath != null)
-                new File(parentPath).mkdirs();
-            tofile.createNewFile();
-        }
-    }
-
-
-    public long moveBytes(InputStream input, OutputStream output, long off, long len, int bufsize)
-            throws IOException {
-        if (off > 0)
-            input.skip(off);
-
-        long totalNum = 0;
-        byte[] buf = new byte[bufsize];
-
-        while (true) {
-            if (len > 0 && (len - totalNum) <= 0)
-                break;
-
-            else if (len > 0 && bufsize > (len - totalNum))
-                bufsize = (int) (len - totalNum);
-
-            int readNum = input.read(buf, 0, bufsize);
-            if (readNum <= 0)
-                break;
-
-            output.write(buf, 0, readNum);
-            totalNum += readNum;
-        }
-        buf = null;
-        return totalNum;
-    }
-
+       /**
+        *
+        */
+       public void unCompress(String gzFileName, String toFile) throws IOException {
+               GZIPInputStream gzIn = null;
+               FileOutputStream fileOutput = null;
+               FileInputStream gzInput = new FileInputStream(gzFileName);
+               try {
+                       gzIn = new GZIPInputStream(gzInput);
+                       File tofile = new File(toFile);
+                       enable(tofile);
+                       fileOutput = new FileOutputStream(tofile, false);
+
+                       moveBytes(gzIn, fileOutput, -1, -1, 1024);
+               } finally {
+                       if (gzIn != null) {
+                               gzIn.close();
+                       }
+                       if (fileOutput != null) {
+                               fileOutput.close();
+                       }
+
+               }
+
+       }
+
+       private void enable(File tofile) throws IOException {
+               if (!tofile.exists()) {
+                       String parentPath = tofile.getParent();
+                       if (parentPath != null)
+                               new File(parentPath).mkdirs();
+                       tofile.createNewFile();
+               }
+       }
+
+       public long moveBytes(InputStream input, OutputStream output, long off, long len, int bufsize) throws IOException {
+               long skipped=0;
+               if (off > 0)
+                       skipped = input.skip(off); // check if skipped is same as off
+
+               long totalNum = 0;
+               byte[] buf = new byte[bufsize];
+
+               while (true) {
+                       if (len > 0 && (len - totalNum) <= 0)
+                               break;
+
+                       else if (len > 0 && bufsize > (len - totalNum))
+                               bufsize = (int) (len - totalNum);
+
+                       int readNum = input.read(buf, 0, bufsize);
+                       if (readNum <= 0)
+                               break;
+
+                       output.write(buf, 0, readNum);
+                       totalNum += readNum;
+               }
+               buf = null;
+               return totalNum;
+       }
 
 }
\ No newline at end of file