This is an automated email from the ASF dual-hosted git repository. coheigea pushed a commit to branch 2_2_x-fixes in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git
The following commit(s) were added to refs/heads/2_2_x-fixes by this push: new 2b66da1 Improve thread safety of subclass ThreadLocalSecurityProvider. (#6) 2b66da1 is described below commit 2b66da1aa7c8bc1a6aec9be34cee7023711badfe Author: Dehami Koswatte <dehami.des...@gmail.com> AuthorDate: Wed Feb 19 12:13:03 2020 +0530 Improve thread safety of subclass ThreadLocalSecurityProvider. (#6) * Synchronize overridden methods in the subclass which are synchronized in the superclass. * Add Override annotations to the overridden methods. --- .../common/crypto/ThreadLocalSecurityProvider.java | 32 ++++++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/ThreadLocalSecurityProvider.java b/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/ThreadLocalSecurityProvider.java index fff29d0..dbb1072 100644 --- a/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/ThreadLocalSecurityProvider.java +++ b/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/ThreadLocalSecurityProvider.java @@ -37,7 +37,7 @@ public final class ThreadLocalSecurityProvider extends Provider { public static synchronized void install() { Security.insertProviderAt(new ThreadLocalSecurityProvider(), - Security.getProviders().length); + Security.getProviders().length); installed = true; } @@ -66,28 +66,32 @@ public final class ThreadLocalSecurityProvider extends Provider { return PROVIDER.get(); } - public void clear() { + @Override + public synchronized void clear() { Provider p = getProvider(); if (p != null) { p.clear(); } } - public void load(InputStream inStream) throws IOException { + @Override + public synchronized void load(InputStream inStream) throws IOException { Provider p = getProvider(); if (p != null) { p.load(inStream); } } - public void putAll(Map<?, ?> t) { + @Override + public synchronized void putAll(Map<?, ?> t) { Provider p = getProvider(); if (p != null) { p.putAll(t); } } - public Set<Map.Entry<Object, Object>> entrySet() { + @Override + public synchronized Set<Map.Entry<Object, Object>> entrySet() { Provider p = getProvider(); if (p != null) { return p.entrySet(); @@ -96,6 +100,7 @@ public final class ThreadLocalSecurityProvider extends Provider { } } + @Override public Set<Object> keySet() { Provider p = getProvider(); if (p != null) { @@ -105,6 +110,7 @@ public final class ThreadLocalSecurityProvider extends Provider { } } + @Override public Collection<Object> values() { Provider p = getProvider(); if (p != null) { @@ -114,7 +120,8 @@ public final class ThreadLocalSecurityProvider extends Provider { } } - public Object put(Object key, Object value) { + @Override + public synchronized Object put(Object key, Object value) { Provider p = getProvider(); if (p != null) { return p.put(key, value); @@ -123,7 +130,8 @@ public final class ThreadLocalSecurityProvider extends Provider { } } - public Object remove(Object key) { + @Override + public synchronized Object remove(Object key) { Provider p = getProvider(); if (p != null) { return p.remove(key); @@ -132,6 +140,7 @@ public final class ThreadLocalSecurityProvider extends Provider { } } + @Override public Object get(Object key) { Provider p = getProvider(); if (p != null) { @@ -141,6 +150,7 @@ public final class ThreadLocalSecurityProvider extends Provider { } } + @Override public Enumeration<Object> keys() { Provider p = getProvider(); if (p != null) { @@ -150,6 +160,7 @@ public final class ThreadLocalSecurityProvider extends Provider { } } + @Override public Enumeration<Object> elements() { Provider p = getProvider(); if (p != null) { @@ -159,6 +170,7 @@ public final class ThreadLocalSecurityProvider extends Provider { } } + @Override public String getProperty(String key) { Provider p = getProvider(); if (p != null) { @@ -168,7 +180,8 @@ public final class ThreadLocalSecurityProvider extends Provider { } } - public Service getService(String type, String algorithm) { + @Override + public synchronized Service getService(String type, String algorithm) { Provider p = getProvider(); if (p != null) { return p.getService(type, algorithm); @@ -177,7 +190,8 @@ public final class ThreadLocalSecurityProvider extends Provider { } } - public Set<Service> getServices() { + @Override + public synchronized Set<Service> getServices() { Provider p = getProvider(); if (p != null) { return p.getServices();