You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2017/06/06 07:34:28 UTC

svn commit: r1797742 - in /ofbiz/ofbiz-framework/trunk: applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/paypal/ applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ framework/base/src/main/java/org/...

Author: jleroux
Date: Tue Jun  6 07:34:28 2017
New Revision: 1797742

URL: http://svn.apache.org/viewvc?rev=1797742&view=rev
Log:
Improved: Writer closed but not in case of exception
(OFBIZ-)

This is an improvement only because no cases were reported. But obviously in 
case of unlucky exception after the Writer creation and before it's closed the 
Writer remains in memory.

The solution is to use try-with-ressources when possible.

Modified:
    ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/paypal/PayPalServices.java
    ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalWorker.java
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilIO.java
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilPlist.java

Modified: ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/paypal/PayPalServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/paypal/PayPalServices.java?rev=1797742&r1=1797741&r2=1797742&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/paypal/PayPalServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/accounting/src/main/java/org/apache/ofbiz/accounting/thirdparty/paypal/PayPalServices.java Tue Jun  6 07:34:28 2017
@@ -275,10 +275,8 @@ public class PayPalServices {
                 Debug.logError(e, module);
             }
 
-            try {
-                Writer writer = response.getWriter();
+            try (Writer writer = response.getWriter()) {
                 writer.write(responseMsg);
-                writer.close();
             } catch (IOException e) {
                 Debug.logError(e, module);
             }

Modified: ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalWorker.java?rev=1797742&r1=1797741&r2=1797742&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalWorker.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/workeffort/src/main/java/org/apache/ofbiz/workeffort/workeffort/ICalWorker.java Tue Jun  6 07:34:28 2017
@@ -208,11 +208,8 @@ public final class ICalWorker {
                     Debug.logVerbose("[handlePropFindRequest] PROPFIND response:\r\n" + UtilXml.writeXmlDocument(responseDocument), module);
                 }
                 ResponseHelper.prepareResponse(response, 207, "Multi-Status");
-                Writer writer = response.getWriter();
-                try {
+                try (Writer writer = response.getWriter()) {
                     helper.writeResponse(response, writer);
-                } finally {
-                    writer.close();
                 }
                 return;
             }
@@ -319,11 +316,8 @@ public final class ICalWorker {
         }
         if (responseProps.statusMessage != null) {
             response.setContentLength(responseProps.statusMessage.length());
-            Writer writer = response.getWriter();
-            try {
+            try (Writer writer = response.getWriter()) {
                 writer.write(responseProps.statusMessage);
-            } finally {
-                writer.close();
             }
         }
     }

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilIO.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilIO.java?rev=1797742&r1=1797741&r2=1797742&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilIO.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilIO.java Tue Jun  6 07:34:28 2017
@@ -299,22 +299,23 @@ public final class UtilIO {
      * @param out where to write the converted bytes to
      * @param charset the charset to use to convert the raw bytes
      * @param value the value to write
+     * @throws IOException 
      */
     public static void writeString(OutputStream out, Charset charset, String value) throws IOException {
-        Writer writer = new OutputStreamWriter(out, charset);
-        String nl = System.getProperty("line.separator");
-        int r = 0;
-        while (r < value.length()) {
-            int i = value.indexOf("\n", r);
-            if (i == -1) {
-                break;
+        try (Writer writer = new OutputStreamWriter(out, charset)) {
+            String nl = System.getProperty("line.separator");
+            int r = 0;
+            while (r < value.length()) {
+                int i = value.indexOf("\n", r);
+                if (i == -1) {
+                    break;
+                }
+                writer.write(value.substring(r, i));
+                writer.write(nl);
+                r = i + 1;
             }
-            writer.write(value.substring(r, i));
-            writer.write(nl);
-            r = i + 1;
+            writer.write(value.substring(r));
         }
-        writer.write(value.substring(r));
-        writer.close();
     }
 
     public static Charset getUtf8() {

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilPlist.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilPlist.java?rev=1797742&r1=1797741&r2=1797742&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilPlist.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilPlist.java Tue Jun  6 07:34:28 2017
@@ -18,6 +18,9 @@
  */
 package org.apache.ofbiz.base.util;
 
+import static org.apache.ofbiz.base.util.UtilGenerics.checkList;
+import static org.apache.ofbiz.base.util.UtilGenerics.checkMap;
+
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -29,9 +32,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.ofbiz.base.util.UtilGenerics.checkList;
-import static org.apache.ofbiz.base.util.UtilGenerics.checkMap;
-
 /**
  * File Utilities
  *
@@ -157,16 +157,16 @@ public final class UtilPlist {
      * @throws UnsupportedEncodingException
      */
     public static void writePlistFile(Map<String, Object> eoModelMap, String eomodeldFullPath, String filename, boolean useXml) throws FileNotFoundException, UnsupportedEncodingException {
-        PrintWriter plistWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(eomodeldFullPath, filename)), "UTF-8")));
-        if (useXml) {
-            plistWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-            plistWriter.println("<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">");
-            plistWriter.println("<plist version=\"1.0\">");
-            writePlistPropertyMapXml(eoModelMap, 0, plistWriter);
-            plistWriter.println("</plist>");
-        } else {
-            writePlistPropertyMap(eoModelMap, 0, plistWriter, false);
+        try (PrintWriter plistWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(eomodeldFullPath, filename)), "UTF-8")))) {
+            if (useXml) {
+                plistWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
+                plistWriter.println("<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">");
+                plistWriter.println("<plist version=\"1.0\">");
+                writePlistPropertyMapXml(eoModelMap, 0, plistWriter);
+                plistWriter.println("</plist>");
+            } else {
+                writePlistPropertyMap(eoModelMap, 0, plistWriter, false);
+            }
         }
-        plistWriter.close();
     }
-}
+}
\ No newline at end of file