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 2019/10/17 19:42:07 UTC
[jmeter] branch master updated: Bug 63862 Search Dialog / Search in
View Results Tree: Uncaught exception if regex is checked and regex is
invalid
This is an automated email from the ASF dual-hosted git repository.
pmouawad 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 27bb77a Bug 63862 Search Dialog / Search in View Results Tree: Uncaught exception if regex is checked and regex is invalid
27bb77a is described below
commit 27bb77a5fee2143e8e9cff3f2f132e20dbfddf20
Author: pmouawad <p....@ubik-ingenierie.com>
AuthorDate: Thu Oct 17 21:41:45 2019 +0200
Bug 63862 Search Dialog / Search in View Results Tree: Uncaught
exception if regex is checked and regex is invalid
---
.../apache/jmeter/visualizers/SearchTreePanel.java | 2 +-
.../apache/jmeter/gui/action/RawTextSearcher.java | 5 +++++
.../apache/jmeter/gui/action/RegexpSearcher.java | 21 +++++++++++++--------
3 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/src/components/src/main/java/org/apache/jmeter/visualizers/SearchTreePanel.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SearchTreePanel.java
index 1275dda..239a808 100644
--- a/src/components/src/main/java/org/apache/jmeter/visualizers/SearchTreePanel.java
+++ b/src/components/src/main/java/org/apache/jmeter/visualizers/SearchTreePanel.java
@@ -207,7 +207,7 @@ public class SearchTreePanel extends JPanel implements ActionListener {
node.updateState();
return node.isNodeHasMatched() || node.isChildrenNodesHaveMatched();
} catch (Exception e) {
- log.error("Error extracting data from tree node");
+ log.error("Error extracting data from tree node using searcher:{}", searcher, e);
return false;
}
}
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
index 4670456..dc7b426 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
@@ -55,4 +55,9 @@ public class RawTextSearcher implements Searcher {
.map(token -> caseSensitive ? token : token.toLowerCase())
.anyMatch(token -> token.contains(textToSearch));
}
+
+ @Override
+ public String toString() {
+ return "RawTextSearcher [caseSensitive=" + caseSensitive + ", textToSearch=" + textToSearch + "]";
+ }
}
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
index c1d3db4..634070b 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
@@ -30,8 +30,7 @@ import org.apache.commons.lang3.StringUtils;
public class RegexpSearcher implements Searcher {
private boolean caseSensitive;
- private Pattern pattern;
-
+ private String regexp;
/**
* Constructor
* @param caseSensitive is search case sensitive
@@ -40,19 +39,20 @@ public class RegexpSearcher implements Searcher {
public RegexpSearcher(boolean caseSensitive, String regexp) {
super();
this.caseSensitive = caseSensitive;
- if (caseSensitive) {
- pattern = Pattern.compile(regexp);
- } else {
- pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
- }
+ this.regexp = regexp;
}
-
/**
* {@inheritDoc}
*/
@Override
public boolean search(List<String> textTokens) {
+ Pattern pattern;
+ if (caseSensitive) {
+ pattern = Pattern.compile(regexp);
+ } else {
+ pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
+ }
return textTokens.stream()
.filter(token -> !StringUtils.isEmpty(token))
.map(token -> caseSensitive ?
@@ -60,4 +60,9 @@ public class RegexpSearcher implements Searcher {
pattern.matcher(token.toLowerCase()))
.anyMatch(Matcher::find);
}
+
+ @Override
+ public String toString() {
+ return "RegexpSearcher [caseSensitive=" + caseSensitive + ", regexp=" + regexp + "]";
+ }
}