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 =================== -->