Fixed Sonar Issues 35/63035/1
authorAmaresh Kumar <kamaresh@in.ibm.com>
Mon, 27 Aug 2018 10:08:05 +0000 (15:38 +0530)
committerAmaresh Kumar <kamaresh@in.ibm.com>
Mon, 27 Aug 2018 10:08:16 +0000 (15:38 +0530)
Fixed Sonar issues in DeliveryTask.java

Issue-ID: DMAAP-654
Change-Id: I5cdab84dcb53d7c58130ed456484de5620f3f395
Signed-off-by: Amaresh Kumar <kamaresh@in.ibm.com>
datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/DeliveryTask.java

index 76bf04e..c28827a 100644 (file)
@@ -38,7 +38,7 @@ import org.apache.log4j.Logger;
  * the file and its delivery data as well as to attempt delivery.
  */
 public class DeliveryTask implements Runnable, Comparable<DeliveryTask> {
-    private static Logger logger = Logger.getLogger("org.onap.dmaap.datarouter.node.DeliveryTask");
+    private static Logger loggerDeliveryTask = Logger.getLogger("org.onap.dmaap.datarouter.node.DeliveryTask");
     private DeliveryTaskHelper dth;
     private String pubid;
     private DestInfo di;
@@ -56,36 +56,6 @@ public class DeliveryTask implements Runnable, Comparable<DeliveryTask> {
     private int attempts;
     private String[][] hdrs;
 
-    /**
-     * Is the object a DeliveryTask with the same publication ID?
-     */
-    public boolean equals(Object o) {
-        if (!(o instanceof DeliveryTask)) {
-            return (false);
-        }
-        return (pubid.equals(((DeliveryTask) o).pubid));
-    }
-
-    /**
-     * Compare the publication IDs.
-     */
-    public int compareTo(DeliveryTask o) {
-        return (pubid.compareTo(o.pubid));
-    }
-
-    /**
-     * Get the hash code of the publication ID.
-     */
-    public int hashCode() {
-        return (pubid.hashCode());
-    }
-
-    /**
-     * Return the publication ID.
-     */
-    public String toString() {
-        return (pubid);
-    }
 
     /**
      * Create a delivery task for a given delivery queue and pub ID
@@ -110,37 +80,68 @@ public class DeliveryTask implements Runnable, Comparable<DeliveryTask> {
         date = Long.parseLong(pubid.substring(0, pubid.indexOf('.')));
         Vector<String[]> hdrv = new Vector<String[]>();
         try {
-            BufferedReader br = new BufferedReader(new FileReader(metafile));
-            String s = br.readLine();
-            int i = s.indexOf('\t');
-            method = s.substring(0, i);
-            if (!"DELETE".equals(method) && !monly) {
-                length = datafile.length();
-            }
-            fileid = s.substring(i + 1);
-            while ((s = br.readLine()) != null) {
-                i = s.indexOf('\t');
-                String h = s.substring(0, i);
-                String v = s.substring(i + 1);
-                if ("x-att-dr-routing".equalsIgnoreCase(h)) {
-                    subid = v.replaceAll("[^ ]*/", "");
-                    feedid = dth.getFeedId(subid.replaceAll(" .*", ""));
+            try(BufferedReader br = new BufferedReader(new FileReader(metafile))){
+                String s = br.readLine();
+                int i = s.indexOf('\t');
+                method = s.substring(0, i);
+                if (!"DELETE".equals(method) && !monly) {
+                    length = datafile.length();
                 }
-                if (length == 0 && h.toLowerCase().startsWith("content-")) {
-                    continue;
-                }
-                if (h.equalsIgnoreCase("content-type")) {
-                    ctype = v;
+                fileid = s.substring(i + 1);
+                while ((s = br.readLine()) != null) {
+                    i = s.indexOf('\t');
+                    String h = s.substring(0, i);
+                    String v = s.substring(i + 1);
+                    if ("x-att-dr-routing".equalsIgnoreCase(h)) {
+                        subid = v.replaceAll("[^ ]*/", "");
+                        feedid = dth.getFeedId(subid.replaceAll(" .*", ""));
+                    }
+                    if (length == 0 && h.toLowerCase().startsWith("content-")) {
+                        continue;
+                    }
+                    if (h.equalsIgnoreCase("content-type")) {
+                        ctype = v;
+                    }
+                    hdrv.add(new String[]{h, v});
                 }
-                hdrv.add(new String[]{h, v});
             }
-            br.close();
+
         } catch (Exception e) {
+            loggerDeliveryTask.error("Exception "+e.getStackTrace(),e);
         }
         hdrs = hdrv.toArray(new String[hdrv.size()][]);
         url = dth.getDestURL(fileid);
     }
+    /**
+     * Is the object a DeliveryTask with the same publication ID?
+     */
+    public boolean equals(Object o) {
+        if (!(o instanceof DeliveryTask)) {
+            return (false);
+        }
+        return (pubid.equals(((DeliveryTask) o).pubid));
+    }
 
+    /**
+     * Compare the publication IDs.
+     */
+    public int compareTo(DeliveryTask o) {
+        return (pubid.compareTo(o.pubid));
+    }
+
+    /**
+     * Get the hash code of the publication ID.
+     */
+    public int hashCode() {
+        return (pubid.hashCode());
+    }
+
+    /**
+     * Return the publication ID.
+     */
+    public String toString() {
+        return (pubid);
+    }
     /**
      * Get the publish ID
      */
@@ -186,29 +187,33 @@ public class DeliveryTask implements Runnable, Comparable<DeliveryTask> {
                 } catch (ProtocolException pe) {
                     dth.reportDeliveryExtra(this, -1L);
                     // Rcvd error instead of 100-continue
+                    loggerDeliveryTask.error("Exception "+pe.getStackTrace(),pe);
                 }
                 if (os != null) {
                     long sofar = 0;
                     try {
                         byte[] buf = new byte[1024 * 1024];
-                        InputStream is = new FileInputStream(datafile);
-                        while (sofar < length) {
-                            int i = buf.length;
-                            if (sofar + i > length) {
-                                i = (int) (length - sofar);
-                            }
-                            i = is.read(buf, 0, i);
-                            if (i <= 0) {
-                                throw new IOException("Unexpected problem reading data file " + datafile);
+                        try(InputStream is = new FileInputStream(datafile)){
+                            while (sofar < length) {
+                                int i = buf.length;
+                                if (sofar + i > length) {
+                                    i = (int) (length - sofar);
+                                }
+                                i = is.read(buf, 0, i);
+                                if (i <= 0) {
+                                    throw new IOException("Unexpected problem reading data file " + datafile);
+                                }
+                                sofar += i;
+                                os.write(buf, 0, i);
                             }
-                            sofar += i;
-                            os.write(buf, 0, i);
+                            is.close();
+                            os.close();
                         }
-                        is.close();
-                        os.close();
+
                     } catch (IOException ioe) {
                         dth.reportDeliveryExtra(this, sofar);
                         throw ioe;
+
                     }
                 }
             }
@@ -243,6 +248,7 @@ public class DeliveryTask implements Runnable, Comparable<DeliveryTask> {
             }
             dth.reportStatus(this, rc, xpubid, rmsg);
         } catch (Exception e) {
+            loggerDeliveryTask.error("Exception "+e.getStackTrace(),e);
             dth.reportException(this, e);
         }
     }