Author: arunpatidar
Date: Mon Jul 4 14:51:45 2016 New Revision: 1751300 URL: http://svn.apache.org/viewvc?rev=1751300&view=rev Log: Applied patch from jira issue - OFBIZ-7590 - Enforce noninstantiability to UtilIO class. Thanks Rohit Koushal for your contribution. Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/crypto/HashCrypt.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilIO.java ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilIOTests.java Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/crypto/HashCrypt.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/crypto/HashCrypt.java?rev=1751300&r1=1751299&r2=1751300&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/crypto/HashCrypt.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/crypto/HashCrypt.java Mon Jul 4 14:51:45 2016 @@ -18,8 +18,6 @@ *******************************************************************************/ package org.ofbiz.base.crypto; -import static org.ofbiz.base.util.UtilIO.UTF8; - import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -32,6 +30,7 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralRuntimeException; import org.ofbiz.base.util.StringUtil; import org.ofbiz.base.util.UtilValidate; +import org.ofbiz.base.util.UtilIO; /** * Utility class for doing SHA-1/MD5 One-Way Hash Encryption @@ -55,7 +54,7 @@ public class HashCrypt { // FIXME: should have been getBytes("UTF-8") originally return doCompareTypePrefix(crypted, defaultCrypt, password.getBytes()); } else if (crypted.startsWith("$")) { - return doComparePosix(crypted, defaultCrypt, password.getBytes(UTF8)); + return doComparePosix(crypted, defaultCrypt, password.getBytes(UtilIO.getUtf8())); } else { // FIXME: should have been getBytes("UTF-8") originally return doCompareBare(crypted, defaultCrypt, password.getBytes()); @@ -112,7 +111,7 @@ public class HashCrypt { } public static String cryptUTF8(String hashType, String salt, String value) { - return value != null ? cryptBytes(hashType, salt, value.getBytes(UTF8)) : null; + return value != null ? cryptBytes(hashType, salt, value.getBytes(UtilIO.getUtf8())) : null; } public static String cryptValue(String hashType, String salt, String value) { @@ -135,7 +134,7 @@ public class HashCrypt { private static String getCryptedBytes(String hashType, String salt, byte[] bytes) { try { MessageDigest messagedigest = MessageDigest.getInstance(hashType); - messagedigest.update(salt.getBytes(UTF8)); + messagedigest.update(salt.getBytes(UtilIO.getUtf8())); messagedigest.update(bytes); return Base64.encodeBase64URLSafeString(messagedigest.digest()).replace('+', '.'); } catch (NoSuchAlgorithmException e) { Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilIO.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilIO.java?rev=1751300&r1=1751299&r2=1751300&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilIO.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilIO.java Mon Jul 4 14:51:45 2016 @@ -35,9 +35,10 @@ import java.nio.charset.Charset; import org.apache.commons.io.IOUtils; public final class UtilIO { - public static final Charset UTF8 = Charset.forName("UTF-8"); + private static final Charset UTF8 = Charset.forName("UTF-8"); public static final String module = UtilIO.class.getName(); + private UtilIO () {} /** Copy an InputStream to an OutputStream, optionally closing either * the input or the output. * @@ -315,4 +316,8 @@ public final class UtilIO { writer.write(value.substring(r)); writer.close(); } + + public static Charset getUtf8() { + return UTF8; + } } Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilIOTests.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilIOTests.java?rev=1751300&r1=1751299&r2=1751300&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilIOTests.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/test/UtilIOTests.java Mon Jul 4 14:51:45 2016 @@ -80,13 +80,13 @@ public class UtilIOTests extends Generic private static void readStringTest_1(String label, String wanted, byte[] toRead) throws IOException { assertEquals("readString bytes default:" + label, wanted, UtilIO.readString(toRead)); assertEquals("readString bytes UTF-8:" + label, wanted, UtilIO.readString(toRead, "UTF-8")); - assertEquals("readString bytes UTF8:" + label, wanted, UtilIO.readString(toRead, UtilIO.UTF8)); + assertEquals("readString bytes UTF8:" + label, wanted, UtilIO.readString(toRead, UtilIO.getUtf8())); assertEquals("readString bytes offset/length default:" + label, wanted, UtilIO.readString(toRead, 0, toRead.length)); assertEquals("readString bytes offset/length UTF-8:" + label, wanted, UtilIO.readString(toRead, 0, toRead.length, "UTF-8")); - assertEquals("readString bytes offset/length UTF8:" + label, wanted, UtilIO.readString(toRead, 0, toRead.length, UtilIO.UTF8)); + assertEquals("readString bytes offset/length UTF8:" + label, wanted, UtilIO.readString(toRead, 0, toRead.length, UtilIO.getUtf8())); assertEquals("readString stream default:" + label, wanted, UtilIO.readString(new ByteArrayInputStream(toRead))); assertEquals("readString stream UTF-8:" + label, wanted, UtilIO.readString(new ByteArrayInputStream(toRead), "UTF-8")); - assertEquals("readString stream UTF8:" + label, wanted, UtilIO.readString(new ByteArrayInputStream(toRead), UtilIO.UTF8)); + assertEquals("readString stream UTF8:" + label, wanted, UtilIO.readString(new ByteArrayInputStream(toRead), UtilIO.getUtf8())); } public void testWriteString() throws Exception { @@ -115,7 +115,7 @@ public class UtilIOTests extends Generic UtilIO.writeString(baos, "UTF-8", toWrite); assertEquals("writeString UTF-8:" + label, wanted, baos.toByteArray()); baos = new ByteArrayOutputStream(); - UtilIO.writeString(baos, UtilIO.UTF8, toWrite); + UtilIO.writeString(baos, UtilIO.getUtf8(), toWrite); assertEquals("writeString UTF8:" + label, wanted, baos.toByteArray()); } } |
Free forum by Nabble | Edit this page |