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/...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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/...

jleroux@apache.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