You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2017/11/08 20:44:15 UTC

svn commit: r1814641 - in /jmeter/trunk: src/core/org/apache/jmeter/gui/action/Save.java xdocs/changes.xml

Author: pmouawad
Date: Wed Nov  8 20:44:15 2017
New Revision: 1814641

URL: http://svn.apache.org/viewvc?rev=1814641&view=rev
Log:
Extracted method and used streams to improve readability
This closes #323
Contributed by Graham Russell

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java
    jmeter/trunk/xdocs/changes.xml

Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java?rev=1814641&r1=1814640&r2=1814641&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java Wed Nov  8 20:44:15 2017
@@ -338,18 +338,8 @@ public class Save extends AbstractAction
         IOFileFilter patternFileFilter = new PrivatePatternFileFilter(backupPattern);
         // get all backup files in the backup directory
         List<File> backupFiles = new ArrayList<>(FileUtils.listFiles(backupDir, patternFileFilter, null));
-        // find the highest version number among existing backup files (this
-        // should be the more recent backup)
-        int lastVersionNumber = 0;
-        for (File backupFile : backupFiles) {
-            Matcher matcher = backupPattern.matcher(backupFile.getName());
-            if (matcher.find() && matcher.groupCount() > 0) {
-                // parse version number from the backup file name
-                // should never fail as it matches the regex
-                int version = Integer.parseInt(matcher.group(1));
-                lastVersionNumber = Math.max(lastVersionNumber, version);
-            }
-        }
+        // this should be the most recent backup
+        int lastVersionNumber = getHighestVersionNumber(backupPattern, backupFiles);
         // find expired backup files
         List<File> expiredFiles = new ArrayList<>();
         if (BACKUP_MAX_HOURS > 0) {
@@ -391,6 +381,20 @@ public class Save extends AbstractAction
         }
         return expiredFiles;
     }
+
+    /**
+     * Find highest version number
+     * @param backupPattern {@link Pattern}
+     * @param backupFiles {@link List} of {@link File}
+     */
+    private int getHighestVersionNumber(Pattern backupPattern, List<File> backupFiles) {
+        return backupFiles.stream()
+                .map(backupFile -> backupPattern.matcher(backupFile.getName()))
+                .filter(matcher -> matcher.find() && matcher.groupCount() > 0)
+                .mapToInt(matcher -> Integer.parseInt(matcher.group(1)))
+                .max()
+                .orElse(0);
+    }
     
     /**
      * check if the workbench should be saved

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1814641&r1=1814640&r2=1814641&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Wed Nov  8 20:44:15 2017
@@ -163,6 +163,7 @@ Summary
     <li><bug>61651</bug>Improve OS test coverage. Partly contributed by Aleksei Balan (abalanonline at gmail.com)</li> 
     <li><pr>319</pr> Removed commented out code. Contributed by Graham Russell (graham at ham1.co.uk)</li>
     <li><pr>322</pr> General JavaDoc cleanup. Contributed by Graham Russell (graham at ham1.co.uk)</li>
+    <li><pr>323</pr> Extracted method and used streams to improve readability. Contributed by Graham Russell (graham at ham1.co.uk)</li>
 </ul>
 
  <!-- =================== Bug fixes =================== -->