Skip to content

Commit 7537787

Browse files
SONARJAVA-5703 Fix Quality Flaws caused by commons-lang3 new version (#5266)
1 parent 1728919 commit 7537787

8 files changed

Lines changed: 19 additions & 17 deletions

File tree

java-checks/src/main/java/org/sonar/java/checks/CatchUsesExceptionWithContextCheck.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import java.util.stream.Stream;
3030
import javax.annotation.CheckForNull;
3131
import javax.annotation.Nullable;
32-
import org.apache.commons.lang3.StringUtils;
32+
import org.apache.commons.lang3.Strings;
3333
import org.sonar.check.Rule;
3434
import org.sonar.check.RuleProperty;
3535
import org.sonar.java.checks.helpers.ExpressionsHelper;
@@ -136,7 +136,7 @@ private static boolean containsEnumValueOf(Tree tree) {
136136
}
137137

138138
private static boolean containsLogIgnoreCase(String name) {
139-
return StringUtils.containsIgnoreCase(name, "log");
139+
return Strings.CI.contains(name, "log");
140140
}
141141

142142
private static class EnumValueOfVisitor extends BaseTreeVisitor {

java-checks/src/main/java/org/sonar/java/checks/CommentContainsPatternChecker.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717
package org.sonar.java.checks;
1818

19-
import org.apache.commons.lang3.StringUtils;
19+
import org.apache.commons.lang3.Strings;
2020
import org.sonar.java.model.LineUtils;
2121
import org.sonar.plugins.java.api.IssuableSubscriptionVisitor;
2222
import org.sonar.plugins.java.api.tree.SyntaxTrivia;
@@ -34,7 +34,7 @@ public CommentContainsPatternChecker(IssuableSubscriptionVisitor check, String p
3434
}
3535

3636
private static boolean isLetterAround(String line, String pattern) {
37-
int start = StringUtils.indexOfIgnoreCase(line, pattern);
37+
int start = Strings.CI.indexOf(line, pattern);
3838
int end = start + pattern.length();
3939

4040
boolean pre = start > 0 && Character.isLetter(line.charAt(start - 1));
@@ -45,10 +45,10 @@ private static boolean isLetterAround(String line, String pattern) {
4545

4646
public void checkTrivia(SyntaxTrivia syntaxTrivia) {
4747
String comment = syntaxTrivia.comment();
48-
if (StringUtils.containsIgnoreCase(comment, pattern)) {
48+
if (Strings.CI.contains(comment, pattern)) {
4949
String[] lines = comment.split("\r\n?|\n");
5050
for (int i = 0; i < lines.length; i++) {
51-
if (StringUtils.containsIgnoreCase(lines[i], pattern) && !isLetterAround(lines[i], pattern)) {
51+
if (Strings.CI.contains(lines[i], pattern) && !isLetterAround(lines[i], pattern)) {
5252
newCheck.addIssue(LineUtils.startLine(syntaxTrivia) + i, message);
5353
}
5454
}

java-checks/src/main/java/org/sonar/java/checks/CommentedOutCodeLineCheck.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.List;
2222
import java.util.Optional;
2323
import javax.annotation.Nullable;
24-
import org.apache.commons.lang3.StringUtils;
24+
import org.apache.commons.lang3.Strings;
2525
import org.sonar.check.Rule;
2626
import org.sonar.java.model.DefaultJavaFileScannerContext;
2727
import org.sonar.java.model.LineUtils;
@@ -156,7 +156,7 @@ private static boolean isJavadocLink(String line) {
156156
* A JSNI comment block begins with the exact token {@link #START_JSNI} and ends with the exact token {@link #END_JSNI}.
157157
*/
158158
private static boolean isJSNI(String comment) {
159-
return StringUtils.startsWith(comment, START_JSNI) && StringUtils.endsWith(comment, END_JSNI);
159+
return Strings.CS.startsWith(comment, START_JSNI) && Strings.CS.endsWith(comment, END_JSNI);
160160
}
161161

162162
}

java-checks/src/main/java/org/sonar/java/checks/ImmediatelyReturnedVariableCheck.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
import java.util.List;
2020
import java.util.Map;
2121
import javax.annotation.CheckForNull;
22-
import org.apache.commons.lang3.StringUtils;
22+
import org.apache.commons.lang3.Strings;
2323
import org.sonar.check.Rule;
2424
import org.sonar.java.checks.helpers.QuickFixHelper;
25-
import org.sonarsource.analyzer.commons.collections.MapBuilder;
2625
import org.sonar.java.reporting.JavaQuickFix;
2726
import org.sonar.java.reporting.JavaTextEdit;
2827
import org.sonar.plugins.java.api.JavaFileScanner;
@@ -36,6 +35,7 @@
3635
import org.sonar.plugins.java.api.tree.ThrowStatementTree;
3736
import org.sonar.plugins.java.api.tree.Tree.Kind;
3837
import org.sonar.plugins.java.api.tree.VariableTree;
38+
import org.sonarsource.analyzer.commons.collections.MapBuilder;
3939

4040
import static org.sonar.java.reporting.AnalyzerMessage.textSpanBetween;
4141

@@ -74,7 +74,7 @@ public void visitBlock(BlockTree tree) {
7474
String lastStatementIdentifier = getReturnOrThrowIdentifier(lastStatement);
7575
if (lastStatementIdentifier != null) {
7676
String identifier = variableTree.simpleName().name();
77-
if (StringUtils.equals(lastStatementIdentifier, identifier)) {
77+
if (Strings.CS.equals(lastStatementIdentifier, identifier)) {
7878
ExpressionTree initializer = variableTree.initializer();
7979
if (initializer == null) {
8080
// Can only happen for non-compilable code, still, we should not report anything.

java-checks/src/main/java/org/sonar/java/checks/TrailingCommentCheck.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.List;
2222
import java.util.Set;
2323
import java.util.regex.Pattern;
24-
import org.apache.commons.lang3.StringUtils;
24+
import org.apache.commons.lang3.Strings;
2525
import org.sonar.check.Rule;
2626
import org.sonar.check.RuleProperty;
2727
import org.sonar.java.model.LineUtils;
@@ -102,7 +102,7 @@ public void visitToken(SyntaxToken syntaxToken) {
102102

103103
private static boolean containsExcludedPattern(String comment) {
104104
for (String excludePattern : EXCLUDED_PATTERNS) {
105-
if (StringUtils.containsIgnoreCase(comment, excludePattern)) {
105+
if (Strings.CI.contains(comment, excludePattern)) {
106106
return true;
107107
}
108108
}

java-surefire/src/main/java/org/sonar/plugins/surefire/SurefireJavaParser.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import javax.annotation.CheckForNull;
2727
import javax.xml.stream.XMLStreamException;
2828
import org.apache.commons.lang3.StringUtils;
29+
import org.apache.commons.lang3.Strings;
2930
import org.slf4j.Logger;
3031
import org.slf4j.LoggerFactory;
3132
import org.sonar.api.batch.ScannerSide;
@@ -107,7 +108,7 @@ private static void parseFiles(List<File> reports, UnitTestIndex index) {
107108

108109
private static void sanitize(UnitTestIndex index) {
109110
for (String classname : index.getClassnames()) {
110-
if (StringUtils.contains(classname, "$")) {
111+
if (Strings.CS.contains(classname, "$")) {
111112
// Surefire reports classes whereas sonar supports files
112113
String parentClassName = StringUtils.substringBefore(classname, "$");
113114
index.merge(classname, parentClassName);

java-surefire/src/main/java/org/sonar/plugins/surefire/data/SurefireStaxHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Locale;
2121
import javax.xml.stream.XMLStreamException;
2222
import org.apache.commons.lang3.StringUtils;
23+
import org.apache.commons.lang3.Strings;
2324
import org.codehaus.staxmate.in.ElementFilter;
2425
import org.codehaus.staxmate.in.SMEvent;
2526
import org.codehaus.staxmate.in.SMHierarchicCursor;
@@ -127,7 +128,7 @@ private static long getTimeAttributeInMS(String value) throws XMLStreamException
127128
private static String getTestCaseName(SMInputCursor testCaseCursor) throws XMLStreamException {
128129
String classname = testCaseCursor.getAttrValue("classname");
129130
String name = testCaseCursor.getAttrValue("name");
130-
if (StringUtils.contains(classname, "$")) {
131+
if (Strings.CS.contains(classname, "$")) {
131132
return StringUtils.substringAfter(classname, "$") + "/" + name;
132133
}
133134
return name;

java-surefire/src/main/java/org/sonar/plugins/surefire/data/UnitTestClassReport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.util.ArrayList;
2020
import java.util.Collections;
2121
import java.util.List;
22-
import org.apache.commons.lang3.StringUtils;
22+
import org.apache.commons.lang3.Strings;
2323

2424
public final class UnitTestClassReport {
2525
private int errors = 0;
@@ -42,7 +42,7 @@ public UnitTestClassReport add(UnitTestClassReport other) {
4242
public UnitTestClassReport add(UnitTestResult result) {
4343
initResults();
4444
boolean hasName = results.stream().map(UnitTestResult::getName).anyMatch(result.getName()::equals);
45-
if (hasName && StringUtils.contains(result.getName(), "$")) {
45+
if (hasName && Strings.CS.contains(result.getName(), "$")) {
4646
return this;
4747
}
4848
results.add(result);

0 commit comments

Comments
 (0)