You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by xu...@apache.org on 2016/05/01 04:17:43 UTC
commons-crypto git commit: CRYPTO-31: Make fields final wherever
possible
Repository: commons-crypto
Updated Branches:
refs/heads/master b08de7798 -> c0c2e6fb9
CRYPTO-31: Make fields final wherever possible
Addressing further comments
Project: http://git-wip-us.apache.org/repos/asf/commons-crypto/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-crypto/commit/c0c2e6fb
Tree: http://git-wip-us.apache.org/repos/asf/commons-crypto/tree/c0c2e6fb
Diff: http://git-wip-us.apache.org/repos/asf/commons-crypto/diff/c0c2e6fb
Branch: refs/heads/master
Commit: c0c2e6fb98275a5b7445952ea5033c1c212e7601
Parents: b08de77
Author: Ferdinand Xu <ch...@intel.com>
Authored: Thu Apr 28 08:08:07 2016 +0800
Committer: Ferdinand Xu <ch...@intel.com>
Committed: Sun May 1 02:53:15 2016 +0800
----------------------------------------------------------------------
.../commons/crypto/random/JavaCryptoRandom.java | 14 ++++----------
.../crypto/random/OpensslCryptoRandom.java | 13 +++++++++----
.../crypto/stream/input/ChannelInput.java | 2 +-
.../commons/crypto/stream/input/StreamInput.java | 19 ++++++-------------
.../crypto/stream/output/StreamOutput.java | 15 ++++-----------
.../commons/crypto/utils/NativeCodeLoader.java | 15 ++++++++-------
.../org/apache/commons/crypto/utils/OSInfo.java | 2 +-
.../commons/crypto/utils/ReflectionUtils.java | 9 ++++-----
8 files changed, 37 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/random/JavaCryptoRandom.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/random/JavaCryptoRandom.java b/src/main/java/org/apache/commons/crypto/random/JavaCryptoRandom.java
index aff8f39..1cc54fd 100644
--- a/src/main/java/org/apache/commons/crypto/random/JavaCryptoRandom.java
+++ b/src/main/java/org/apache/commons/crypto/random/JavaCryptoRandom.java
@@ -32,7 +32,7 @@ public class JavaCryptoRandom implements CryptoRandom {
private static final Log LOG =
LogFactory.getLog(JavaCryptoRandom.class.getName());
- private java.security.SecureRandom instance;
+ private final java.security.SecureRandom instance;
/**
* Constructs a {@link org.apache.commons.crypto.random.JavaCryptoRandom}.
@@ -42,15 +42,9 @@ public class JavaCryptoRandom implements CryptoRandom {
* the specified algorithm.
*/
public JavaCryptoRandom(Properties properties) throws NoSuchAlgorithmException {
- try {
- instance = java.security.SecureRandom
- .getInstance(properties.getProperty(
- ConfigurationKeys.COMMONS_CRYPTO_SECURE_RANDOM_JAVA_ALGORITHM_KEY,
- ConfigurationKeys.COMMONS_CRYPTO_SECURE_RANDOM_JAVA_ALGORITHM_DEFAULT));
- } catch (NoSuchAlgorithmException e) {
- LOG.error("Failed to create java secure random due to error: " + e);
- throw e;
- }
+ instance = java.security.SecureRandom.getInstance(properties
+ .getProperty(ConfigurationKeys.COMMONS_CRYPTO_SECURE_RANDOM_JAVA_ALGORITHM_KEY,
+ ConfigurationKeys.COMMONS_CRYPTO_SECURE_RANDOM_JAVA_ALGORITHM_DEFAULT));
}
/**
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java b/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
index 406ddef..895a2a3 100644
--- a/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
+++ b/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
@@ -46,18 +46,21 @@ public class OpensslCryptoRandom extends Random implements CryptoRandom {
private static final Log LOG =
LogFactory.getLog(OpensslCryptoRandom.class.getName());
- /** If native CryptoRandom unavailable, use java SecureRandom */
- private JavaCryptoRandom fallback = null;
- private static boolean nativeEnabled = false;
+ /** If native SecureRandom unavailable, use java SecureRandom */
+ private final JavaCryptoRandom fallback;
+ private static final boolean nativeEnabled;
+
static {
+ boolean opensslLoaded = false;
if (NativeCodeLoader.isNativeCodeLoaded()) {
try {
OpensslCryptoRandomNative.initSR();
- nativeEnabled = true;
+ opensslLoaded = true;
} catch (Throwable t) {
LOG.error("Failed to load Openssl CryptoRandom", t);
}
}
+ nativeEnabled = opensslLoaded;
}
/**
@@ -79,6 +82,8 @@ public class OpensslCryptoRandom extends Random implements CryptoRandom {
public OpensslCryptoRandom(Properties props) throws NoSuchAlgorithmException {
if (!nativeEnabled) {
fallback = new JavaCryptoRandom(props);
+ } else {
+ fallback = null;
}
}
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/stream/input/ChannelInput.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/stream/input/ChannelInput.java b/src/main/java/org/apache/commons/crypto/stream/input/ChannelInput.java
index ee24a0c..cdf13e6 100644
--- a/src/main/java/org/apache/commons/crypto/stream/input/ChannelInput.java
+++ b/src/main/java/org/apache/commons/crypto/stream/input/ChannelInput.java
@@ -29,7 +29,7 @@ public class ChannelInput implements Input {
private static final int SKIP_BUFFER_SIZE = 2048;
private ByteBuffer buf;
- private ReadableByteChannel channel;
+ private final ReadableByteChannel channel;
/**
* Constructs the {@link org.apache.commons.crypto.stream.input.ChannelInput}.
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/stream/input/StreamInput.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/stream/input/StreamInput.java b/src/main/java/org/apache/commons/crypto/stream/input/StreamInput.java
index ac3739b..20649de 100644
--- a/src/main/java/org/apache/commons/crypto/stream/input/StreamInput.java
+++ b/src/main/java/org/apache/commons/crypto/stream/input/StreamInput.java
@@ -26,9 +26,9 @@ import java.nio.ByteBuffer;
* wraps it as <code>Input</code> object acceptable by <code>CryptoInputStream</code>.
*/
public class StreamInput implements Input {
- private byte[] buf;
- private int bufferSize;
- InputStream in;
+ private final byte[] buf;
+ private final int bufferSize;
+ final InputStream in;
/**
* Constructs a {@link org.apache.commons.crypto.stream.input.StreamInput}.
@@ -39,6 +39,7 @@ public class StreamInput implements Input {
public StreamInput(InputStream inputStream, int bufferSize) {
this.in = inputStream;
this.bufferSize = bufferSize;
+ buf = new byte[bufferSize];
}
/**
@@ -56,17 +57,16 @@ public class StreamInput implements Input {
@Override
public int read(ByteBuffer dst) throws IOException {
int remaining = dst.remaining();
- final byte[] tmp = getBuf();
int read = 0;
while (remaining > 0) {
- final int n = in.read(tmp, 0, Math.min(remaining, bufferSize));
+ final int n = in.read(buf, 0, Math.min(remaining, bufferSize));
if (n == -1) {
if (read == 0) {
read = -1;
}
break;
} else if (n > 0) {
- dst.put(tmp, 0, n);
+ dst.put(buf, 0, n);
read += n;
remaining -= n;
}
@@ -154,11 +154,4 @@ public class StreamInput implements Input {
public void close() throws IOException {
in.close();
}
-
- private byte[] getBuf() {
- if (buf == null) {
- buf = new byte[bufferSize];
- }
- return buf;
- }
}
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/stream/output/StreamOutput.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/stream/output/StreamOutput.java b/src/main/java/org/apache/commons/crypto/stream/output/StreamOutput.java
index ac7b691..8c0e4d7 100644
--- a/src/main/java/org/apache/commons/crypto/stream/output/StreamOutput.java
+++ b/src/main/java/org/apache/commons/crypto/stream/output/StreamOutput.java
@@ -26,9 +26,9 @@ import java.nio.ByteBuffer;
* <code>Output</code> object acceptable by <code>CryptoOutputStream</code> as the output target.
*/
public class StreamOutput implements Output {
- private byte[] buf;
- private int bufferSize;
- private OutputStream out;
+ private final byte[] buf;
+ private final int bufferSize;
+ private final OutputStream out;
/**
* Constructs a {@link org.apache.commons.crypto.stream.output.StreamOutput}.
@@ -39,6 +39,7 @@ public class StreamOutput implements Output {
public StreamOutput(OutputStream out, int bufferSize) {
this.out = out;
this.bufferSize = bufferSize;
+ buf = new byte[bufferSize];
}
/**
@@ -54,7 +55,6 @@ public class StreamOutput implements Output {
@Override
public int write(ByteBuffer src) throws IOException {
final int len = src.remaining();
- final byte[] buf = getBuf();
int remaining = len;
while(remaining > 0) {
@@ -91,13 +91,6 @@ public class StreamOutput implements Output {
out.close();
}
- private byte[] getBuf() {
- if (buf == null) {
- buf = new byte[bufferSize];
- }
- return buf;
- }
-
protected OutputStream getOut() {
return out;
}
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/utils/NativeCodeLoader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/utils/NativeCodeLoader.java b/src/main/java/org/apache/commons/crypto/utils/NativeCodeLoader.java
index b8d92e5..228cee7 100644
--- a/src/main/java/org/apache/commons/crypto/utils/NativeCodeLoader.java
+++ b/src/main/java/org/apache/commons/crypto/utils/NativeCodeLoader.java
@@ -41,7 +41,7 @@ public class NativeCodeLoader {
private static final Log LOG =
LogFactory.getLog(NativeCodeLoader.class);
- private static boolean nativeCodeLoaded = false;
+ private final static boolean nativeCodeLoaded;
private NativeCodeLoader() {}
@@ -51,6 +51,7 @@ public class NativeCodeLoader {
LOG.debug("Trying to load the custom-built native-commons-crypto library...");
}
+ boolean nativeLoaded = false;
try {
File nativeLibFile = findNativeLibrary();
if (nativeLibFile != null) {
@@ -61,19 +62,19 @@ public class NativeCodeLoader {
System.loadLibrary("commons-crypto");
}
LOG.debug("Loaded the native library");
- nativeCodeLoaded = true;
+ nativeLoaded = true;
} catch (Throwable t) {
// Ignore failure to load
- if(LOG.isDebugEnabled()) {
+ if (LOG.isDebugEnabled()) {
LOG.debug("Failed to load native library with error: " + t);
- LOG.debug("java.library.path=" +
- System.getProperty("java.library.path"));
+ LOG.debug("java.library.path=" + System.getProperty("java.library.path"));
}
}
+ nativeCodeLoaded = nativeLoaded;
if (!nativeCodeLoaded) {
- LOG.warn("Unable to load native library for the platform... " +
- "using builtin-java classes where applicable");
+ LOG.warn("Unable to load native library for the platform... "
+ + "using builtin-java classes where applicable");
}
}
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/utils/OSInfo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/utils/OSInfo.java b/src/main/java/org/apache/commons/crypto/utils/OSInfo.java
index 86e099f..9d1cb88 100644
--- a/src/main/java/org/apache/commons/crypto/utils/OSInfo.java
+++ b/src/main/java/org/apache/commons/crypto/utils/OSInfo.java
@@ -25,7 +25,7 @@ import java.util.Locale;
* Provides OS name and architecture name.
*/
public class OSInfo {
- private static HashMap<String, String> archMapping = new HashMap<String, String>();
+ private final static HashMap<String, String> archMapping = new HashMap<String, String>();
/**
* The constant string represents for X86 architecture, the value is: {@value #X86}.*/
http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/c0c2e6fb/src/main/java/org/apache/commons/crypto/utils/ReflectionUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/crypto/utils/ReflectionUtils.java b/src/main/java/org/apache/commons/crypto/utils/ReflectionUtils.java
index c864ced..b3adcf1 100644
--- a/src/main/java/org/apache/commons/crypto/utils/ReflectionUtils.java
+++ b/src/main/java/org/apache/commons/crypto/utils/ReflectionUtils.java
@@ -33,12 +33,11 @@ public class ReflectionUtils {
private static final Map<ClassLoader, Map<String, WeakReference<Class<?>>>>
CACHE_CLASSES = new WeakHashMap<ClassLoader, Map<String, WeakReference<Class<?>>>>();
- private static ClassLoader classLoader;
+ private final static ClassLoader classLoader;
+
static {
- classLoader = Thread.currentThread().getContextClassLoader();
- if (classLoader == null) {
- classLoader = CryptoCipher.class.getClassLoader();
- }
+ ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader();
+ classLoader = (threadClassLoader != null) ? threadClassLoader : CryptoCipher.class.getClassLoader();
}
/**