Author: mbrohl
Date: Thu Oct 12 22:29:10 2017 New Revision: 1812059 URL: http://svn.apache.org/viewvc?rev=1812059&view=rev Log: Improved: Fixing defects reported by FindBugs, package org.apache.ofbiz.base.util. (OFBIZ-9692) Thanks Julian Leichert for reporting and providing the patch. Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Base64.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Debug.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpRequestFileUpload.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/JNDIContextFactory.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/MultiTrustManager.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ObjectType.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/RMIExtendedSocketFactory.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/SSLUtil.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ScriptUtil.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/StringUtil.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/TimeDuration.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilDateTime.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilJavaParse.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilProperties.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilTimer.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilValidate.java ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Base64.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Base64.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Base64.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Base64.java Thu Oct 12 22:29:10 2017 @@ -25,7 +25,7 @@ package org.apache.ofbiz.base.util; public class Base64 { - private static byte[] Base64EncMap, Base64DecMap; + private static byte[] base64EncMap, base64DecMap; static { // rfc-2045: Base64 Alphabet byte[] map = @@ -94,10 +94,10 @@ public class Base64 { (byte) '9', (byte) '+', (byte) '/' }; - Base64EncMap = map; - Base64DecMap = new byte[128]; - for (int idx = 0; idx < Base64EncMap.length; idx++) { - Base64DecMap[Base64EncMap[idx]] = (byte) idx; + base64EncMap = map; + base64DecMap = new byte[128]; + for (int idx = 0; idx < base64EncMap.length; idx++) { + base64DecMap[base64EncMap[idx]] = (byte) idx; } } @@ -110,7 +110,7 @@ public class Base64 { */ public final static byte[] base64Decode(byte[] data) { if (data == null) { - return null; + return new byte[0]; } int tail = data.length; @@ -122,7 +122,7 @@ public class Base64 { // ascii printable to 0-63 conversion for (int idx = 0; idx < data.length; idx++) { - data[idx] = Base64DecMap[data[idx]]; + data[idx] = base64DecMap[data[idx]]; } // 4-byte to 3-byte conversion @@ -151,8 +151,8 @@ public class Base64 { */ public final static String base64Decode(String str) { if (str == null) return null; - - return new String(base64Decode(str.getBytes())); + + return new String(base64Decode(str.getBytes(UtilIO.getUtf8()))); } /** @@ -164,7 +164,7 @@ public class Base64 { */ public final static byte[] base64Encode(byte[] data) { if (data == null) { - return null; + return new byte[0]; } int sidx, didx; @@ -172,18 +172,18 @@ public class Base64 { // 3-byte to 4-byte conversion + 0-63 to ascii printable conversion for (sidx = 0, didx = 0; sidx < data.length - 2; sidx += 3) { - dest[didx++] = Base64EncMap[(data[sidx] >>> 2) & 077]; - dest[didx++] = Base64EncMap[(data[sidx + 1] >>> 4) & 017 | (data[sidx] << 4) & 077]; - dest[didx++] = Base64EncMap[(data[sidx + 2] >>> 6) & 003 | (data[sidx + 1] << 2) & 077]; - dest[didx++] = Base64EncMap[data[sidx + 2] & 077]; + dest[didx++] = base64EncMap[(data[sidx] >>> 2) & 077]; + dest[didx++] = base64EncMap[(data[sidx + 1] >>> 4) & 017 | (data[sidx] << 4) & 077]; + dest[didx++] = base64EncMap[(data[sidx + 2] >>> 6) & 003 | (data[sidx + 1] << 2) & 077]; + dest[didx++] = base64EncMap[data[sidx + 2] & 077]; } if (sidx < data.length) { - dest[didx++] = Base64EncMap[(data[sidx] >>> 2) & 077]; + dest[didx++] = base64EncMap[(data[sidx] >>> 2) & 077]; if (sidx < data.length - 1) { - dest[didx++] = Base64EncMap[(data[sidx + 1] >>> 4) & 017 | (data[sidx] << 4) & 077]; - dest[didx++] = Base64EncMap[(data[sidx + 1] << 2) & 077]; + dest[didx++] = base64EncMap[(data[sidx + 1] >>> 4) & 017 | (data[sidx] << 4) & 077]; + dest[didx++] = base64EncMap[(data[sidx + 1] << 2) & 077]; } else - dest[didx++] = Base64EncMap[(data[sidx] << 4) & 077]; + dest[didx++] = base64EncMap[(data[sidx] << 4) & 077]; } // add padding @@ -205,6 +205,6 @@ public class Base64 { if (str == null) { return null; } - return new String(base64Encode(str.getBytes())); + return new String(base64Encode(str.getBytes(UtilIO.getUtf8()))); } } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Debug.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Debug.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Debug.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/Debug.java Thu Oct 12 22:29:10 2017 @@ -20,6 +20,7 @@ package org.apache.ofbiz.base.util; import java.util.Formatter; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.Properties; @@ -86,7 +87,7 @@ public final class Debug { /** Gets an Integer representing the level number from a String representing the level name; will return null if not found */ public static Integer getLevelFromString(String levelName) { if (levelName == null) return null; - return levelStringMap.get(levelName.toLowerCase()); + return levelStringMap.get(levelName.toLowerCase(Locale.getDefault())); } public static void log(int level, Throwable t, String msg, String module) { Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java Thu Oct 12 22:29:10 2017 @@ -22,13 +22,16 @@ import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; +import java.io.InputStreamReader; import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; import java.net.MalformedURLException; @@ -147,21 +150,13 @@ public final class FileUtil { } public static void writeString(String path, String name, String s) throws IOException { - Writer out = getBufferedWriter(path, name); - try { + try ( + Writer out = getBufferedWriter(path, name); + ) { out.write(s + System.getProperty("line.separator")); } catch (IOException e) { Debug.logError(e, module); - throw e; - } finally { - if (out != null) { - try { - out.close(); - } catch (IOException e) { - Debug.logError(e, module); - } - } } } @@ -203,7 +198,7 @@ public final class FileUtil { throw new IOException("Cannot obtain buffered writer for an empty filename!"); } - return new BufferedWriter(new FileWriter(fileName)); + return new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName), UtilIO.getUtf8())); } public static OutputStream getBufferedOutputStream(String path, String name) throws IOException { @@ -245,9 +240,9 @@ public final class FileUtil { } StringBuffer buf = new StringBuffer(); - BufferedReader in = null; - try { - in = new BufferedReader(new FileReader(file)); + try ( + BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), UtilIO + .getUtf8()));) { String str; while ((str = in.readLine()) != null) { @@ -258,15 +253,6 @@ public final class FileUtil { } } catch (IOException e) { Debug.logError(e, module); - throw e; - } finally { - if (in != null) { - try { - in.close(); - } catch (IOException e) { - Debug.logError(e, module); - } - } } return buf; @@ -386,17 +372,16 @@ public final class FileUtil { public static boolean containsString(final String fileName, final String searchString) throws IOException { File inFile = new File(fileName); if (inFile.exists()) { - BufferedReader in = new BufferedReader(new FileReader(inFile)); - try { + try ( + BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(inFile),UtilIO.getUtf8())); + ) { return containsString(in, searchString); - } finally { - if (in != null)in.close(); } } else { return false; } } - + /** * * @@ -411,5 +396,5 @@ public final class FileUtil { File f = new File(fileName); return f.isFile(); } - + } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java Thu Oct 12 22:29:10 2017 @@ -168,6 +168,8 @@ public class GroovyUtil { } } return scriptClass; + } catch (RuntimeException e) { + throw e; } catch (Exception e) { throw new GeneralException("Error loading Groovy script at [" + location + "]: ", e); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java Thu Oct 12 22:29:10 2017 @@ -29,6 +29,7 @@ import java.net.URLConnection; import java.security.cert.CertificateException; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; /** @@ -365,7 +366,7 @@ public class HttpClient { if (Debug.verboseOn() || debug) Debug.logVerbose("Content-Type: " + contentType, module); if (contentType != null) { - contentType = contentType.toUpperCase(); + contentType = contentType.toUpperCase(Locale.getDefault()); int charsetEqualsLoc = contentType.indexOf("=", contentType.indexOf("CHARSET")); int afterSemiColon = contentType.indexOf(";", charsetEqualsLoc); if (charsetEqualsLoc >= 0 && afterSemiColon >= 0) { @@ -378,7 +379,9 @@ public class HttpClient { if (Debug.verboseOn() || debug) Debug.logVerbose("Getting text from HttpClient with charset: " + charset, module); } - BufferedReader post = new BufferedReader(charset == null ? new InputStreamReader(in) : new InputStreamReader(in, charset)); + try ( + BufferedReader post = new BufferedReader(charset == null ? new InputStreamReader(in) + : new InputStreamReader(in, charset))) { String line = ""; if (Debug.verboseOn() || debug) Debug.logVerbose("---- HttpClient Response Content ----", module); @@ -389,6 +392,9 @@ public class HttpClient { buf.append("\n"); } } + } + } catch (RuntimeException e) { + throw e; } catch (Exception e) { throw new HttpClientException("Error processing input stream", e); } @@ -476,17 +482,21 @@ public class HttpClient { } if (method.equalsIgnoreCase("post")) { - OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream(), this.streamCharset != null ? this.streamCharset : "UTF-8"); - if (Debug.verboseOn() || debug) Debug.logVerbose("Opened output stream", module); + try ( + OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream(), + this.streamCharset != null ? this.streamCharset : "UTF-8")) { + if (Debug.verboseOn() || debug) + Debug.logVerbose("Opened output stream", module); + + if (arguments != null) { + out.write(arguments); + if (Debug.verboseOn() || debug) + Debug.logVerbose("Wrote arguements (parameters) : " + arguments, module); + } - if (arguments != null) { - out.write(arguments); - if (Debug.verboseOn() || debug) Debug.logVerbose("Wrote arguements (parameters) : " + arguments, module); + if (Debug.verboseOn() || debug) + Debug.logVerbose("Flushed and closed buffer", module); } - - out.flush(); - out.close(); - if (Debug.verboseOn() || debug) Debug.logVerbose("Flushed and closed buffer", module); } if (Debug.verboseOn() || debug) { @@ -501,6 +511,8 @@ public class HttpClient { return sendHttpRequestStream(method, true); } throw new HttpClientException("IO Error processing request", ioe); + } catch (RuntimeException e) { + throw e; } catch (Exception e) { throw new HttpClientException("Error processing request", e); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpRequestFileUpload.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpRequestFileUpload.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpRequestFileUpload.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpRequestFileUpload.java Thu Oct 12 22:29:10 2017 @@ -30,12 +30,13 @@ import java.util.Map; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; + /** * HttpRequestFileUpload - Receive a file upload through an HttpServletRequest * */ public class HttpRequestFileUpload { - + private static final String module = HttpRequestFileUpload.class.getName(); private int BUFFER_SIZE = 4096; private int WAIT_INTERVAL = 200; // in milliseconds private int MAX_WAITS = 20; @@ -115,7 +116,7 @@ public class HttpRequestFileUpload { int requestLength = 0; try { - requestLength = Integer.valueOf(reqLengthString).intValue(); + requestLength = Integer.parseInt(reqLengthString); } catch (Exception e2) { e2.printStackTrace(); return; @@ -130,7 +131,7 @@ public class HttpRequestFileUpload { return; int boundaryLength = i - 2; - String boundary = new String(line, 0, boundaryLength); // -2 discards the newline character + String boundary = new String(line, 0, boundaryLength, UtilIO.getUtf8()); // -2 discards the newline character System.out.println("boundary=[" + boundary + "] length is " + boundaryLength); fields = new HashMap<String, String>(); @@ -139,23 +140,22 @@ public class HttpRequestFileUpload { String newLine = ""; if (i > -1) { - newLine = new String(line, 0, i); + newLine = new String(line, 0, i, UtilIO.getUtf8()); } if (newLine.startsWith("Content-Disposition: form-data; name=\"")) { if (newLine.indexOf("filename=\"") != -1) { - setFilename(new String(line, 0, i - 2)); + setFilename(new String(line, 0, i - 2, UtilIO.getUtf8())); if (filename == null) return; // this is the file content i = waitingReadLine(in, line, 0, BUFFER_SIZE, requestLength); requestLength -= i; - setContentType(new String(line, 0, i - 2)); + setContentType(new String(line, 0, i - 2, UtilIO.getUtf8())); // blank line i = waitingReadLine(in, line, 0, BUFFER_SIZE, requestLength); requestLength -= i; - newLine = new String(line, 0, i); String filenameToUse = filename; if (overrideFilename != null) { @@ -165,8 +165,6 @@ public class HttpRequestFileUpload { // first line of actual file i = waitingReadLine(in, line, 0, BUFFER_SIZE, requestLength); requestLength -= i; - newLine = new String(line, 0, i); - byte[] lastTwoBytes = new byte[2]; if (i > 1) { @@ -175,51 +173,63 @@ public class HttpRequestFileUpload { } System.out.println("about to create a file:" + (savePath == null ? "" : savePath) + filenameToUse); // before creating the file make sure directory exists + if (savePath == null) { + throw new IllegalArgumentException("savePath is null"); + } File savePathFile = new File(savePath); if (!savePathFile.exists()) { - savePathFile.mkdirs(); - } - FileOutputStream fos = new FileOutputStream((savePath == null ? "" : savePath) + filenameToUse); - boolean bail = (new String(line, 0, i).startsWith(boundary)); - boolean oneByteLine = (i == 1); // handle one-byte lines - - while ((requestLength > 0/* i != -1*/) && !bail) { - - // write the current buffer, except the last 2 bytes; - if (i > 1) { - fos.write(line, 0, i - 2); - } - - oneByteLine = (i == 1); // we need to track on-byte lines differently - - i = waitingReadLine(in, line, 0, BUFFER_SIZE, requestLength); - requestLength -= i; - - // the problem is the last line of the file content - // contains the new line character. - - // if the line just read was the last line, we're done. - // if not, we must write the last 2 bytes of the previous buffer - // just assume that a one-byte line isn't the last line - - if (requestLength < 1) { - bail = true; - } else if (oneByteLine) { - fos.write(lastTwoBytes, 0, 1); // we only saved one byte - } else { - fos.write(lastTwoBytes, 0, 2); + if (!savePathFile.mkdirs()) { + Debug.logError("Directory could not be created", filenameToUse); } - if (i > 1) { - // save the last 2 bytes of the buffer - lastTwoBytes[0] = line[i - 2]; - lastTwoBytes[1] = line[i - 1]; - } else { - lastTwoBytes[0] = line[0]; // only save one byte + } + try ( + FileOutputStream fos = new FileOutputStream(savePath + filenameToUse);) { + boolean bail = (new String(line, 0, i, UtilIO.getUtf8()).startsWith(boundary)); + boolean oneByteLine = (i == 1); // handle one-byte lines + + while ((requestLength > 0/* i != -1 */) && !bail) { + + // write the current buffer, except the last 2 bytes; + if (i > 1) { + fos.write(line, 0, i - 2); + } + + oneByteLine = (i == 1); // we need to track on-byte lines differently + + i = waitingReadLine(in, line, 0, BUFFER_SIZE, requestLength); + requestLength -= i; + + // the problem is the last line of the file content + // contains the new line character. + + // if the line just read was the last line, we're done. + // if not, we must write the last 2 bytes of the previous buffer + // just assume that a one-byte line isn't the last line + + if (requestLength < 1) { + bail = true; + } else if (oneByteLine) { + fos.write(lastTwoBytes, 0, 1); // we only saved one byte + } else { + fos.write(lastTwoBytes, 0, 2); + } + + if (i > 1) { + // save the last 2 bytes of the buffer + lastTwoBytes[0] = line[i - 2]; + lastTwoBytes[1] = line[i - 1]; + } else { + lastTwoBytes[0] = line[0]; // only save one byte + } } + fos.flush(); + fos.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + Debug.logError(e, module); } - fos.flush(); - fos.close(); } else { // this is a field // get the field name @@ -231,7 +241,7 @@ public class HttpRequestFileUpload { requestLength -= i; i = waitingReadLine(in, line, 0, BUFFER_SIZE, requestLength); requestLength -= i; - newLine = new String(line, 0, i); + newLine = new String(line, 0, i, UtilIO.getUtf8()); StringBuilder fieldValue = new StringBuilder(BUFFER_SIZE); while (requestLength > 0/* i != -1*/ && !newLine.startsWith(boundary)) { @@ -246,7 +256,7 @@ public class HttpRequestFileUpload { fieldValue.append(newLine.substring(0, newLine.length() - 2)); else fieldValue.append(newLine); - newLine = new String(line, 0, i); + newLine = new String(line, 0, i, UtilIO.getUtf8()); } fields.put(fieldName, fieldValue.toString()); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/JNDIContextFactory.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/JNDIContextFactory.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/JNDIContextFactory.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/JNDIContextFactory.java Thu Oct 12 22:29:10 2017 @@ -76,9 +76,7 @@ public class JNDIContextFactory { throw new GenericConfigException(errorMsg, e); } - if (ic != null) { - ic = contexts.putIfAbsentAndGet(jndiServerName, ic); - } + ic = contexts.putIfAbsentAndGet(jndiServerName, ic); } return ic; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java Thu Oct 12 22:29:10 2017 @@ -31,6 +31,7 @@ import java.io.PrintStream; import java.io.Reader; import java.io.StringReader; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import java.security.KeyFactory; import java.security.KeyStore; @@ -187,7 +188,7 @@ public final class KeyStoreUtil { byte[] certBuf = cert.getEncoded(); StringBuilder buf = new StringBuilder(); buf.append("-----BEGIN CERTIFICATE-----\n"); - buf.append(new String(Base64.encodeBase64Chunked(certBuf))); + buf.append(new String(Base64.encodeBase64Chunked(certBuf), UtilIO.getUtf8())); buf.append("\n-----END CERTIFICATE-----\n"); return buf.toString(); } @@ -201,7 +202,7 @@ public final class KeyStoreUtil { } public static Certificate pemToCert(InputStream is) throws IOException, CertificateException { - return pemToCert(new InputStreamReader(is)); + return pemToCert(new InputStreamReader(is, UtilIO.getUtf8())); } public static Certificate pemToCert(Reader r) throws IOException, CertificateException { @@ -210,7 +211,7 @@ public final class KeyStoreUtil { BufferedReader reader = new BufferedReader(r); ByteArrayOutputStream baos = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(baos); + PrintStream ps = new PrintStream(baos, false, UtilIO.getUtf8().toString()); String line; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/MultiTrustManager.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/MultiTrustManager.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/MultiTrustManager.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/MultiTrustManager.java Thu Oct 12 22:29:10 2017 @@ -112,7 +112,6 @@ public class MultiTrustManager implement protected boolean isTrusted(X509Certificate[] cert) { if (cert != null) { X509Certificate[] issuers = this.getAcceptedIssuers(); - if (issuers != null) { for (X509Certificate issuer: issuers) { for (X509Certificate c: cert) { if (Debug.verboseOn()) @@ -121,7 +120,6 @@ public class MultiTrustManager implement if (Debug.verboseOn()) Debug.logInfo("--- Found trusted cert: " + issuer.getSerialNumber().toString(16) + " : " + issuer.getSubjectX500Principal(), module); return true; - } } } } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ObjectType.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ObjectType.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ObjectType.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ObjectType.java Thu Oct 12 22:29:10 2017 @@ -21,6 +21,7 @@ package org.apache.ofbiz.base.util; import java.io.Serializable; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -118,7 +119,7 @@ public class ObjectType { // Handle array classes. Details in http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp16437 if (className.endsWith("[]")) { if (Character.isLowerCase(className.charAt(0)) && className.indexOf(".") < 0) { - String prefix = className.substring(0, 1).toUpperCase(); + String prefix = className.substring(0, 1).toUpperCase(Locale.getDefault()); // long and boolean have other prefix than first letter if (className.startsWith("long")) { prefix = "J"; @@ -526,7 +527,10 @@ public class ObjectType { Converter<Object, Object> converter = null; try { converter = (Converter<Object, Object>) Converters.getConverter(sourceClass, targetClass); - } catch (ClassNotFoundException e) {} + } catch (ClassNotFoundException e) { + Debug.logError(e, module); + } + if (converter != null) { if (converter instanceof LocalizedConverter) { @SuppressWarnings("rawtypes") Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/RMIExtendedSocketFactory.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/RMIExtendedSocketFactory.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/RMIExtendedSocketFactory.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/RMIExtendedSocketFactory.java Thu Oct 12 22:29:10 2017 @@ -30,19 +30,19 @@ import java.rmi.server.RMISocketFactory; * on a specified network interface. */ public class RMIExtendedSocketFactory extends RMISocketFactory { - + /** * The network interface to bind the <code>ServerSocket</code> to. If null than bind to all interfaces. */ private InetAddress hostInetAddress; - + /** * Default constructor. Bind the server sockets on all interfaces. */ public RMIExtendedSocketFactory() { // leave hostInetAddress null } - + /** * Creates a new <code>RMIExtendedSocketFactory</code> which will create <code>ServerSocket</code>s * bound on the specified network interface. @@ -61,15 +61,15 @@ public class RMIExtendedSocketFactory ex * @throws UnknownHostException If an invalid IP address is provided. */ public RMIExtendedSocketFactory( String hostIpAddress ) throws UnknownHostException { - + // check if host length is at least equal to "0.0.0.0" if ( hostIpAddress != null && hostIpAddress.length() >= 7 ) { String[] octets = hostIpAddress.split( "\\." ); - - if ( octets == null || octets.length != 4 ) { + + if (octets.length != 4) { throw new UnknownHostException( "Invalid IP address: " + hostIpAddress ); } - + byte[] ipAddr = new byte[4]; for ( int i = 0; i < octets.length; i++ ) { try { @@ -78,14 +78,13 @@ public class RMIExtendedSocketFactory ex throw new UnknownHostException( "Invalid IP address: " + hostIpAddress ); } } - + hostInetAddress = InetAddress.getByAddress( ipAddr ); - + } - - + } - + @Override public ServerSocket createServerSocket(int port) throws IOException { if ( hostInetAddress != null ) { @@ -97,7 +96,7 @@ public class RMIExtendedSocketFactory ex @Override public Socket createSocket(String host, int port) throws IOException { - + return new Socket( host, port ); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/SSLUtil.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/SSLUtil.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/SSLUtil.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/SSLUtil.java Thu Oct 12 22:29:10 2017 @@ -112,15 +112,13 @@ public final class SSLUtil { Debug.logError(e, module); } - if (mgrs != null) { - for (TrustManager mgr: mgrs) { - if (mgr instanceof X509TrustManager) { - try { - ((X509TrustManager) mgr).checkClientTrusted(chain, authType); - return true; - } catch (CertificateException e) { - // do nothing; just loop - } + for (TrustManager mgr : mgrs) { + if (mgr instanceof X509TrustManager) { + try { + ((X509TrustManager) mgr).checkClientTrusted(chain, authType); + return true; + } catch (CertificateException e) { + // do nothing; just loop } } } @@ -135,7 +133,10 @@ public final class SSLUtil { if (ks != null) { List<KeyManager> newKeyManagers = Arrays.asList(getKeyManagers(ks, ksi.getPassword(), alias)); keyMgrs.addAll(newKeyManagers); - if (Debug.verboseOn()) Debug.logVerbose("Loaded another cert store, adding [" + (newKeyManagers == null ? "0" : newKeyManagers.size()) + "] KeyManagers for alias [" + alias + "] and keystore: " + ksi.createResourceHandler().getFullLocation(), module); + if (Debug.verboseOn()) + Debug.logVerbose("Loaded another cert store, adding [" + newKeyManagers.size() + + "] KeyManagers for alias [" + alias + "] and keystore: " + ksi.createResourceHandler() + .getFullLocation(), module); } else { throw new IOException("Unable to load keystore: " + ksi.createResourceHandler().getFullLocation()); } @@ -266,6 +267,8 @@ public final class SSLUtil { try { peerCert.checkValidity(); + } catch (RuntimeException e) { + throw e; } catch (Exception e) { // certificate not valid Debug.logWarning("Certificate is not valid!", module); Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ScriptUtil.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ScriptUtil.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ScriptUtil.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/ScriptUtil.java Thu Oct 12 22:29:10 2017 @@ -19,8 +19,7 @@ package org.apache.ofbiz.base.util; import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; @@ -137,7 +136,8 @@ public final class ScriptUtil { try { Compilable compilableEngine = (Compilable) engine; URL scriptUrl = FlexibleLocation.resolveLocation(filePath); - BufferedReader reader = new BufferedReader(new InputStreamReader(scriptUrl.openStream())); + BufferedReader reader = new BufferedReader(new InputStreamReader(scriptUrl.openStream(), UtilIO + .getUtf8())); script = compilableEngine.compile(reader); if (Debug.verboseOn()) { Debug.logVerbose("Compiled script " + filePath + " using engine " + engine.getClass().getName(), module); @@ -370,7 +370,7 @@ public final class ScriptUtil { // The test for null can be removed when the engine is fixed. CompiledScript script = compileScriptFile(filePath); if (script != null) { - return executeScript(script, functionName, scriptContext, args); + return executeScript(script, null, scriptContext, args); } } String fileExtension = getFileExtension(filePath); @@ -384,17 +384,21 @@ public final class ScriptUtil { } engine.setContext(scriptContext); URL scriptUrl = FlexibleLocation.resolveLocation(filePath); - FileReader reader = new FileReader(new File(scriptUrl.getFile())); - Object result = engine.eval(reader); - if (UtilValidate.isNotEmpty(functionName)) { - try { - Invocable invocableEngine = (Invocable) engine; - result = invocableEngine.invokeFunction(functionName, args == null ? EMPTY_ARGS : args); - } catch (ClassCastException e) { - throw new ScriptException("Script engine " + engine.getClass().getName() + " does not support function/method invocations"); + try ( + InputStreamReader reader = new InputStreamReader(new FileInputStream(scriptUrl.getFile()), UtilIO + .getUtf8());) { + Object result = engine.eval(reader); + if (UtilValidate.isNotEmpty(functionName)) { + try { + Invocable invocableEngine = (Invocable) engine; + result = invocableEngine.invokeFunction(functionName, args == null ? EMPTY_ARGS : args); + } catch (ClassCastException e) { + throw new ScriptException("Script engine " + engine.getClass().getName() + + " does not support function/method invocations"); + } } + return result; } - return result; } private static String getFileExtension(String filePath) { Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/StringUtil.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/StringUtil.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/StringUtil.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/StringUtil.java Thu Oct 12 22:29:10 2017 @@ -235,7 +235,9 @@ public class StringUtil { } try { - decodedMap.put(URLDecoder.decode(name, "UTF-8"), URLDecoder.decode(value, "UTF-8")); + if (value != null && name != null) { + decodedMap.put(URLDecoder.decode(name, "UTF-8"), URLDecoder.decode(value, "UTF-8")); + } } catch (UnsupportedEncodingException e1) { Debug.logError(e1, module); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/TimeDuration.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/TimeDuration.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/TimeDuration.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/TimeDuration.java Thu Oct 12 22:29:10 2017 @@ -176,9 +176,13 @@ public class TimeDuration implements Ser } try { TimeDuration that = (TimeDuration) obj; - return this.years == that.years && this.months == that.months && this.days == that.days - && this.hours == that.hours && this.minutes == that.minutes && this.seconds == that.seconds - && this.milliseconds == that.milliseconds; + return this.years == that.years + && this.months == that.months + && this.days == that.days + && this.hours == that.hours + && this.minutes == that.minutes + && this.seconds == that.seconds + && this.milliseconds == that.milliseconds; } catch (Exception e) {} return false; } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilDateTime.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilDateTime.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilDateTime.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilDateTime.java Thu Oct 12 22:29:10 2017 @@ -39,6 +39,8 @@ import com.ibm.icu.util.Calendar; */ public final class UtilDateTime { + public static final String module = UtilDateTime.class.getName(); + private static final String[][] timevals = { {"1000", "millisecond"}, {"60", "second"}, @@ -114,7 +116,7 @@ public final class UtilDateTime { public static String formatInterval(double interval, int count, Locale locale) { List<Double> parts = new ArrayList<Double>(timevals.length); for (String[] timeval: timevals) { - int value = Integer.valueOf(timeval[0]); + int value = Integer.parseInt(timeval[0]); double remainder = interval % value; interval = interval / value; parts.add(remainder); @@ -554,8 +556,8 @@ public final class UtilDateTime { */ public static java.util.Date toDate(String monthStr, String dayStr, String yearStr, String hourStr, String minuteStr, String secondStr) { - int month, day, year, hour, minute, second; + int month, day, year, hour, minute, second; try { month = Integer.parseInt(monthStr); day = Integer.parseInt(dayStr); @@ -564,9 +566,11 @@ public final class UtilDateTime { minute = Integer.parseInt(minuteStr); second = Integer.parseInt(secondStr); } catch (Exception e) { + Debug.logError(e, module); return null; } return toDate(month, day, year, hour, minute, second); + } /** @@ -683,7 +687,7 @@ public final class UtilDateTime { String dateString = toDateString(date); String timeString = toTimeString(date); - if (dateString != null && timeString != null) { + if (!dateString.isEmpty() && !timeString.isEmpty()) { return dateString + " " + timeString; } else { return ""; @@ -1220,7 +1224,7 @@ public final class UtilDateTime { } } - + public static String getDateFormat() { return DATE_FORMAT; } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java Thu Oct 12 22:29:10 2017 @@ -360,7 +360,7 @@ public final class UtilFormatOut { if (data.length > 5120) { return "[...binary data]"; } - return new String(Base64.base64Encode(data)); + return new String(Base64.base64Encode(data), UtilIO.getUtf8()); } return obj1.toString(); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java Thu Oct 12 22:29:10 2017 @@ -177,9 +177,8 @@ public final class UtilHttp { continue; } int equalsIndex = token.indexOf("="); - String name = token; if (equalsIndex > 0) { - name = token.substring(0, equalsIndex); + String name = token.substring(0, equalsIndex); paramMap.put(name, token.substring(equalsIndex + 1)); } } @@ -1082,28 +1081,19 @@ public final class UtilHttp { } // initialize the buffered streams - BufferedOutputStream bos = new BufferedOutputStream(out, bufferSize); - BufferedInputStream bis = new BufferedInputStream(in, bufferSize); byte[] buffer = new byte[length]; int read = 0; - try { + try ( + BufferedOutputStream bos = new BufferedOutputStream(out, bufferSize); + BufferedInputStream bis = new BufferedInputStream(in, bufferSize); + ) { while ((read = bis.read(buffer, 0, buffer.length)) != -1) { bos.write(buffer, 0, read); } } catch (IOException e) { Debug.logError(e, "Problem reading/writing buffers", module); - bis.close(); - bos.close(); throw e; - } finally { - if (bis != null) { - bis.close(); - } - if (bos != null) { - bos.flush(); - bos.close(); - } } } @@ -1161,12 +1151,14 @@ public final class UtilHttp { Map<Integer, Map<String, Object>> rows = new HashMap<Integer, Map<String, Object>>(); // stores the rows keyed by row number // first loop through all the keys and create a hashmap for each ${ROW_SUBMIT_PREFIX}${N} = Y - for (String key: parameters.keySet()) { + for (Map.Entry<String, Object> entry : parameters.entrySet()) { + String key = entry.getKey(); // skip everything that is not ${ROW_SUBMIT_PREFIX}N if (key == null || key.length() <= ROW_SUBMIT_PREFIX_LENGTH) continue; if (key.indexOf(MULTI_ROW_DELIMITER) <= 0) continue; if (!key.substring(0, ROW_SUBMIT_PREFIX_LENGTH).equals(ROW_SUBMIT_PREFIX)) continue; - if (!parameters.get(key).equals("Y")) continue; + if (!entry.getValue().equals("Y")) + continue; // decode the value of N and create a new map for it Integer n = Integer.decode(key.substring(ROW_SUBMIT_PREFIX_LENGTH, key.length())); @@ -1477,6 +1469,8 @@ public final class UtilHttp { .setSSLSocketFactory(sslsf) .build(); return httpClient; + } catch (RuntimeException e) { + throw e; } catch (Exception e) { return HttpClients.createDefault(); } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilJavaParse.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilJavaParse.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilJavaParse.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilJavaParse.java Thu Oct 12 22:29:10 2017 @@ -155,7 +155,7 @@ public final class UtilJavaParse { int nextOpen = javaFile.indexOf("{", blockStart+1); int nextClose = javaFile.indexOf("}", blockStart+1); if (nextOpen > 0 && nextClose > 0 && nextClose > nextOpen) { - javaFile.substring(nextOpen, nextClose); + javaFile = javaFile.substring(nextOpen, nextClose); } // if no close, end with couldn't find if (nextClose < 0) return -1; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java Thu Oct 12 22:29:10 2017 @@ -89,7 +89,11 @@ public final class UtilMisc { return 0; } - } catch (Exception e) {} + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + Debug.log(e, module); + } return 1; } @@ -418,7 +422,7 @@ public final class UtilMisc { return (Double) obj; } if (obj instanceof Number) { - return new Double(((Number)obj).doubleValue()); + return Double.valueOf(((Number) obj).doubleValue()); } Double result = null; try { @@ -482,7 +486,7 @@ public final class UtilMisc { return (Long) obj; } if (obj instanceof Number) { - return new Long(((Number)obj).longValue()); + return Long.valueOf(((Number) obj).longValue()); } Long result = null; try { @@ -592,17 +596,17 @@ public final class UtilMisc { throw new IOException("File is a directory, not a file, cannot copy") ; } else { - InputStream in = new FileInputStream(sourceLocation); - OutputStream out = new FileOutputStream(targetLocation); - - // Copy the bits from instream to outstream - byte[] buf = new byte[1024]; - int len; - while ((len = in.read(buf)) > 0) { - out.write(buf, 0, len); + try ( + InputStream in = new FileInputStream(sourceLocation); + OutputStream out = new FileOutputStream(targetLocation); + ) { + // Copy the bits from instream to outstream + byte[] buf = new byte[1024]; + int len; + while ((len = in.read(buf)) > 0) { + out.write(buf, 0, len); + } } - in.close(); - out.close(); } } Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java Thu Oct 12 22:29:10 2017 @@ -27,7 +27,7 @@ import com.ibm.icu.text.RuleBasedNumberF public final class UtilNumber { - public static String module = UtilNumber.class.getName(); + public static final String module = UtilNumber.class.getName(); // properties file name for arithmetic configuration private static final String arithmeticPropertiesFile = "arithmetic.properties"; @@ -188,12 +188,10 @@ public final class UtilNumber { int scale = -1; String value = UtilProperties.getPropertyValue(file, property); - if (value != null) { try { scale = Integer.parseInt(value); } catch (NumberFormatException e) { } - } if (scale == -1) { Debug.logWarning("Could not set decimal precision from " + property + "=" + value + ". Using default scale of " + DEFAULT_BD_SCALE + ".", module); scale = DEFAULT_BD_SCALE; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilProperties.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilProperties.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilProperties.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilProperties.java Thu Oct 12 22:29:10 2017 @@ -85,7 +85,6 @@ public final class UtilProperties implem public static boolean propertyValueEquals(String resource, String name, String compareString) { String value = getPropertyValue(resource, name); - if (value == null) return false; return value.trim().equals(compareString); } @@ -98,7 +97,6 @@ public final class UtilProperties implem public static boolean propertyValueEqualsIgnoreCase(String resource, String name, String compareString) { String value = getPropertyValue(resource, name); - if (value == null) return false; return value.trim().equalsIgnoreCase(compareString); } @@ -120,9 +118,6 @@ public final class UtilProperties implem public static double getPropertyNumber(String resource, String name, double defaultValue) { String str = getPropertyValue(resource, name); - if (str == null) { - return defaultValue; - } try { return Double.parseDouble(str); @@ -492,9 +487,9 @@ public final class UtilProperties implem return; } - try { + try ( + FileOutputStream propFile = new FileOutputStream(resource);) { properties.setProperty(name, value); - FileOutputStream propFile = new FileOutputStream(resource); if ("XuiLabels".equals(name)) { properties.store(propFile, "##############################################################################\n" @@ -595,7 +590,7 @@ public final class UtilProperties implem Debug.logInfo(name + " misses in " + resource + " for locale " + locale, module); return name; } - return value == null ? name : value.trim(); + return value.trim(); } /** Returns the value of the specified property name from the specified resource/properties file corresponding Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilTimer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilTimer.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilTimer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilTimer.java Thu Oct 12 22:29:10 2017 @@ -30,7 +30,7 @@ import java.util.concurrent.ConcurrentHa public class UtilTimer { public static final String module = UtilTimer.class.getName(); - protected static ConcurrentHashMap<String, UtilTimer> staticTimers = new ConcurrentHashMap<String, UtilTimer>(); + protected static final ConcurrentHashMap<String, UtilTimer> staticTimers = new ConcurrentHashMap<String, UtilTimer>(); protected String timerName = null; protected String lastMessage = null; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilURL.java Thu Oct 12 22:29:10 2017 @@ -91,8 +91,7 @@ public final class UtilURL { loader = Thread.currentThread().getContextClassLoader(); } catch (SecurityException e) { // Huh? The new object will be created by the current thread, so how is this any different than the previous code? - UtilURL utilURL = new UtilURL(); - loader = utilURL.getClass().getClassLoader(); + loader = UtilURL.class.getClassLoader(); } } url = loader.getResource(resourceName); Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilValidate.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilValidate.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilValidate.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilValidate.java Thu Oct 12 22:29:10 2017 @@ -20,6 +20,7 @@ package org.apache.ofbiz.base.util; import java.sql.Timestamp; import java.util.Collection; +import java.util.Locale; import java.util.Map; import org.apache.commons.validator.routines.EmailValidator; @@ -142,7 +143,7 @@ public final class UtilValidate { /** An array of ints representing the number of days in each month of the year. * Note: February varies depending on the year */ - public static final int[] daysInMonth = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; + static final int[] daysInMonth = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; /** Delimiter for USStateCodes String */ public static final String USStateCodeDelimiter = "|"; @@ -841,7 +842,7 @@ public final class UtilValidate { calendar.set(yearInt, monthInt - 1, 0, 0, 0, 0); calendar.add(Calendar.MONTH, 1); passed = new java.util.Date(calendar.getTime().getTime()); - } catch (Exception e) { + } catch (NumberFormatException e) { passed = null; } } else { @@ -883,7 +884,7 @@ public final class UtilValidate { calendar.set(yearInt, monthInt - 1, 0, 0, 0, 0); calendar.add(Calendar.MONTH, 1); passed = new java.util.Date(calendar.getTime().getTime()); - } catch (Exception e) { + } catch (NumberFormatException e) { passed = null; } } else { @@ -1274,7 +1275,7 @@ public final class UtilValidate { // "P.0. B" // "P0 B" - String sl = s.toLowerCase(); + String sl = s.toLowerCase(Locale.getDefault()); if (sl.indexOf("p.o. b") != -1) return false; if (sl.indexOf("p.o.b") != -1) return false; if (sl.indexOf("p.o b") != -1) return false; Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java?rev=1812059&r1=1812058&r2=1812059&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java Thu Oct 12 22:29:10 2017 @@ -35,6 +35,7 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.jms.IllegalStateException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -463,15 +464,18 @@ public final class UtilXml { Document document = null; DOMParser parser = new DOMParser() { - private XMLLocator locator; + private XMLLocator locator = null; private void setLineColumn(Node node) { + if (locator == null) { + throw new java.lang.IllegalStateException("XMLLocator is null"); + } if (node.getUserData("startLine") != null) { return; } - node.setUserData("systemId",locator.getLiteralSystemId(), null); - node.setUserData("startLine",locator.getLineNumber(), null); - node.setUserData("startColumn",locator.getColumnNumber(), null); + node.setUserData("systemId", locator.getLiteralSystemId(), null); + node.setUserData("startLine", locator.getLineNumber(), null); + node.setUserData("startColumn", locator.getColumnNumber(), null); } private void setLineColumn() { @@ -825,7 +829,7 @@ public final class UtilXml { String value = childElement.getAttribute(attrName); - if (value != null && value.equals(attrValue)) { + if (value.equals(attrValue)) { return childElement; } } @@ -1012,7 +1016,7 @@ public final class UtilXml { if (Debug.verboseOn()) Debug.logVerbose("[UtilXml.LocalResolver.resolveEntity] got LOCAL DTD input source with publicId [" + publicId + "] and the dtd file is [" + dtd + "]", module); return inputSource; - } catch (Exception e) { + } catch (GeneralException | IOException e) { Debug.logWarning(e, module); } } else { |
Free forum by Nabble | Edit this page |