jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fschumac...@apache.org
Subject [jmeter] branch master updated: Simplify logic by using computeIfAbsent instead of putIfAbsent
Date Sun, 08 Nov 2020 16:41:19 GMT
This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


The following commit(s) were added to refs/heads/master by this push:
     new 99341ca  Simplify logic by using computeIfAbsent instead of putIfAbsent
99341ca is described below

commit 99341ca8bc81f3f76427628731ba4407234d27b5
Author: Felix Schumacher <felix.schumacher@internetallee.de>
AuthorDate: Sun Nov 8 17:38:45 2020 +0100

    Simplify logic by using computeIfAbsent instead of putIfAbsent
    
    Spotbugs can't determine correctly, that the lock will be released.
    We help it, by allowing reducing the allowed variables for locks to
    one.
---
 .../java/org/apache/jmeter/functions/StringToFile.java    | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java b/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
index 9116a3c..3cb0879 100644
--- a/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
+++ b/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
@@ -101,14 +101,9 @@ public class StringToFile extends AbstractFunction {
             return false;
         }
         log.debug("Writing {} to file {} with charset {} and append {}", content, fileName,
charset, append);
-        Lock localLock = new ReentrantLock();
-        Lock lock = lockMap.putIfAbsent(fileName, localLock);
+        Lock lock = lockMap.computeIfAbsent(fileName, key -> new ReentrantLock());
         try {
-            if (lock == null) {
-                localLock.lock();
-            } else {
-                lock.lock();
-            }
+            lock.lock();
             File file = new File(fileName);
             File fileParent = file.getParentFile();
             if (fileParent == null || (fileParent.exists() && fileParent.isDirectory()
&& fileParent.canWrite())) {
@@ -118,11 +113,7 @@ public class StringToFile extends AbstractFunction {
                 return false;
             }
         } finally {
-            if (lock == null) {
-                localLock.unlock();
-            } else {
-                lock.unlock();
-            }
+            lock.unlock();
         }
         return true;
     }


Mime
View raw message