diff options
author | Noel Grandin <noel@peralex.com> | 2014-08-13 09:02:41 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2014-08-20 10:35:51 +0200 |
commit | 252ed1708ad5a007e4c47c243595206650876a2b (patch) | |
tree | b2a7a47f8a39c598c25355640a77022918c2d209 /scripting | |
parent | a240a78cc771a89febfe181abe78d2cf16e1970f (diff) |
double-checked locking is not thread-safe in Java
found by PMD
Change-Id: Ibd4a9139c626932bec56c0b1dd32b4d59c8440b1
Diffstat (limited to 'scripting')
7 files changed, 20 insertions, 51 deletions
diff --git a/scripting/java/com/sun/star/script/framework/container/XMLParserFactory.java b/scripting/java/com/sun/star/script/framework/container/XMLParserFactory.java index 3a5989febcc3..bb3bd6f47c34 100644 --- a/scripting/java/com/sun/star/script/framework/container/XMLParserFactory.java +++ b/scripting/java/com/sun/star/script/framework/container/XMLParserFactory.java @@ -36,13 +36,9 @@ public class XMLParserFactory { private XMLParserFactory() {} - public static XMLParser getParser() { - if (parser == null) { - synchronized (XMLParserFactory.class) { - if (parser == null) - parser = new DefaultParser(); - } - } + public static synchronized XMLParser getParser() { + if (parser == null) + parser = new DefaultParser(); return parser; } diff --git a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java index fb88968159a8..34061c473847 100644 --- a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java +++ b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptEditorForBeanShell.java @@ -94,18 +94,12 @@ public class ScriptEditorForBeanShell /** * Returns the global ScriptEditorForBeanShell instance. */ - public static ScriptEditorForBeanShell getEditor() + public static synchronized ScriptEditorForBeanShell getEditor() { if (theScriptEditorForBeanShell == null) { - synchronized(ScriptEditorForBeanShell.class) - { - if (theScriptEditorForBeanShell == null) - { - theScriptEditorForBeanShell = - new ScriptEditorForBeanShell(); - } - } + theScriptEditorForBeanShell = + new ScriptEditorForBeanShell(); } return theScriptEditorForBeanShell; } diff --git a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java index e7ac14c1b5e8..4755a54c9af9 100644 --- a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java +++ b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java @@ -82,18 +82,12 @@ public class ScriptEditorForJavaScript implements ScriptEditor /** * Returns the global ScriptEditorForJavaScript instance. */ - public static ScriptEditorForJavaScript getEditor() + public static synchronized ScriptEditorForJavaScript getEditor() { if (theScriptEditorForJavaScript == null) { - synchronized(ScriptEditorForJavaScript.class) - { - if (theScriptEditorForJavaScript == null) - { - theScriptEditorForJavaScript = - new ScriptEditorForJavaScript(); - } - } + theScriptEditorForJavaScript = + new ScriptEditorForJavaScript(); } return theScriptEditorForJavaScript; } diff --git a/scripting/java/org/openoffice/idesupport/zip/ParcelZipper.java b/scripting/java/org/openoffice/idesupport/zip/ParcelZipper.java index 45cdb185f313..e1e12fa56d83 100644 --- a/scripting/java/org/openoffice/idesupport/zip/ParcelZipper.java +++ b/scripting/java/org/openoffice/idesupport/zip/ParcelZipper.java @@ -39,13 +39,9 @@ public class ParcelZipper private ParcelZipper() { } - public static ParcelZipper getParcelZipper() { - if (zipper == null) { - synchronized(ParcelZipper.class) { - if (zipper == null) - zipper = new ParcelZipper(); - } - } + public static synchronized ParcelZipper getParcelZipper() { + if (zipper == null) + zipper = new ParcelZipper(); return zipper; } diff --git a/scripting/java/org/openoffice/netbeans/modules/office/utils/ManifestParser.java b/scripting/java/org/openoffice/netbeans/modules/office/utils/ManifestParser.java index 892313332a14..1859ec60865e 100644 --- a/scripting/java/org/openoffice/netbeans/modules/office/utils/ManifestParser.java +++ b/scripting/java/org/openoffice/netbeans/modules/office/utils/ManifestParser.java @@ -41,12 +41,9 @@ public class ManifestParser implements XMLParser { private ManifestParser() { } - public static ManifestParser getManifestParser() { + public static synchronized ManifestParser getManifestParser() { if (parser == null) { - synchronized(ManifestParser.class) { - if (parser == null) - parser = new ManifestParser(); - } + parser = new ManifestParser(); } return parser; } diff --git a/scripting/java/org/openoffice/netbeans/modules/office/utils/ZipMounter.java b/scripting/java/org/openoffice/netbeans/modules/office/utils/ZipMounter.java index 8a1bc1849ac4..7150ef81e541 100644 --- a/scripting/java/org/openoffice/netbeans/modules/office/utils/ZipMounter.java +++ b/scripting/java/org/openoffice/netbeans/modules/office/utils/ZipMounter.java @@ -34,13 +34,9 @@ public class ZipMounter private ZipMounter() { } - public static ZipMounter getZipMounter() { - if (mounter == null) { - synchronized(ZipMounter.class) { - if (mounter == null) - mounter = new ZipMounter(); - } - } + public static synchronized ZipMounter getZipMounter() { + if (mounter == null) + mounter = new ZipMounter(); return mounter; } diff --git a/scripting/workben/ifc/scripting/ScriptingUtils.java b/scripting/workben/ifc/scripting/ScriptingUtils.java index ce6071c78dd2..eb317036e2ab 100644 --- a/scripting/workben/ifc/scripting/ScriptingUtils.java +++ b/scripting/workben/ifc/scripting/ScriptingUtils.java @@ -34,13 +34,9 @@ public class ScriptingUtils { private ScriptingUtils() { } - public static ScriptingUtils getDefault() { - if (utils == null) { - synchronized (ScriptingUtils.class) { - if (utils == null) - utils = new ScriptingUtils(); - } - } + public static synchronized ScriptingUtils getDefault() { + if (utils == null) + utils = new ScriptingUtils(); return utils; } |