Skip to content

Commit 398aac3

Browse files
Seppli11sonartech
authored andcommitted
SONARPY-3186 fix deprecated method calls in commons-lang (#396)
GitOrigin-RevId: b7fcce963e6782c91baaa3594a82e92a5621070e
1 parent 0671323 commit 398aac3

File tree

6 files changed

+20
-9
lines changed

6 files changed

+20
-9
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
<!-- versions -->
8888
<commons.io.version>2.19.0</commons.io.version>
8989
<commons.lang.version>3.18.0</commons.lang.version>
90+
<commons.text.version>1.13.1</commons.text.version>
9091
<assertj-core.version>3.27.3</assertj-core.version>
9192
<junit.version>5.13.3</junit.version>
9293
<logback.version>1.5.18</logback.version>
@@ -178,6 +179,11 @@
178179
<artifactId>commons-lang3</artifactId>
179180
<version>${commons.lang.version}</version>
180181
</dependency>
182+
<dependency>
183+
<groupId>org.apache.commons</groupId>
184+
<artifactId>commons-text</artifactId>
185+
<version>${commons.text.version}</version>
186+
</dependency>
181187
<dependency>
182188
<groupId>commons-io</groupId>
183189
<artifactId>commons-io</artifactId>

python-commons/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@
6666
<groupId>org.apache.commons</groupId>
6767
<artifactId>commons-lang3</artifactId>
6868
</dependency>
69+
<dependency>
70+
<groupId>org.apache.commons</groupId>
71+
<artifactId>commons-text</artifactId>
72+
</dependency>
6973
<dependency>
7074
<groupId>org.codehaus.staxmate</groupId>
7175
<artifactId>staxmate</artifactId>

python-commons/src/main/java/org/sonar/plugins/python/coverage/CoberturaParser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import java.util.LinkedHashSet;
2323
import java.util.List;
2424
import java.util.Map;
25+
import java.util.Objects;
2526
import java.util.Set;
26-
import java.util.stream.Collectors;
2727
import javax.annotation.Nullable;
2828
import javax.xml.stream.XMLStreamException;
2929
import org.apache.commons.io.FilenameUtils;
@@ -154,7 +154,7 @@ private static void collectFileData(SMInputCursor classCursor, NewCoverage cover
154154

155155
String isBranch = line.getAttrValue("branch");
156156
String text = line.getAttrValue("condition-coverage");
157-
if (StringUtils.equals(isBranch, "true") && StringUtils.isNotBlank(text)) {
157+
if (Objects.equals(isBranch, "true") && StringUtils.isNotBlank(text)) {
158158
String[] conditions = StringUtils.split(StringUtils.substringBetween(text, "(", ")"), "/");
159159
coverage.conditions(lineId, Integer.parseInt(conditions[1]), Integer.parseInt(conditions[0]));
160160
}

python-commons/src/main/java/org/sonar/plugins/python/parser/StaxParser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.io.InputStream;
2424
import javax.xml.stream.XMLResolver;
2525
import javax.xml.stream.XMLStreamException;
26-
import org.apache.commons.lang3.StringUtils;
26+
import org.apache.commons.lang3.Strings;
2727
import org.codehaus.staxmate.SMInputFactory;
2828
import org.codehaus.staxmate.in.SMHierarchicCursor;
2929
import org.sonarsource.analyzer.commons.xml.SafeStaxParserFactory;
@@ -68,7 +68,7 @@ private static class UndeclaredEntitiesXMLResolver implements XMLResolver {
6868
public Object resolveEntity(String arg0, String arg1, String fileName, String undeclaredEntity) throws XMLStreamException {
6969
String undeclared = undeclaredEntity;
7070
// avoid problems with XML docs containing undeclared entities.. return the entity under its raw form if not a Unicode expression
71-
if (StringUtils.startsWithIgnoreCase(undeclaredEntity, "u") && undeclaredEntity.length() == 5) {
71+
if (Strings.CI.startsWith(undeclaredEntity, "u") && undeclaredEntity.length() == 5) {
7272
int unicodeCharHexValue = Integer.parseInt(undeclaredEntity.substring(1), 16);
7373
if (Character.isDefined(unicodeCharHexValue)) {
7474
undeclared = new String(new char[] {(char) unicodeCharHexValue});

python-commons/src/main/java/org/sonar/plugins/python/xunit/PythonXUnitSensor.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import javax.annotation.CheckForNull;
2525
import javax.xml.stream.XMLStreamException;
2626
import org.apache.commons.lang3.StringUtils;
27+
import org.apache.commons.lang3.Strings;
2728
import org.sonar.api.batch.fs.FileSystem;
2829
import org.sonar.api.batch.fs.InputComponent;
2930
import org.sonar.api.batch.fs.InputFile;
@@ -136,13 +137,13 @@ private InputFile findResource(TestCase testCase, String fileKey) {
136137

137138
private InputFile findResourceUsingNoseTestsStrategy(String fileKey) {
138139
// a) check assuming the key doesnt contain the class name
139-
String candidateKey = StringUtils.replace(fileKey, ".", "/") + ".py";
140+
String candidateKey = Strings.CS.replace(fileKey, ".", "/") + ".py";
140141

141142
InputFile unitTestFile = getSonarTestFile(new File(candidateKey));
142143

143144
if (unitTestFile == null) {
144145
// b) check assuming the key *does* contain the class name
145-
String candidateKey2 = StringUtils.replace(StringUtils.substringBeforeLast(fileKey, "."), ".", "/") + ".py";
146+
String candidateKey2 = Strings.CS.replace(StringUtils.substringBeforeLast(fileKey, "."), ".", "/") + ".py";
146147
if ( !(candidateKey2.equals(candidateKey))) {
147148
unitTestFile = getSonarTestFile(new File(candidateKey2));
148149
}

python-commons/src/main/java/org/sonar/plugins/python/xunit/TestCase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import javax.annotation.CheckForNull;
2020
import javax.annotation.Nullable;
21-
import org.apache.commons.lang3.StringEscapeUtils;
21+
import org.apache.commons.text.StringEscapeUtils;
2222

2323
/**
2424
* Represents a unit test case. Has a couple of data items like name, status, time etc. associated. Reports testcase details in
@@ -109,8 +109,8 @@ public String getDetails() {
109109
StringBuilder details = new StringBuilder();
110110
details.append("<testcase status=\"").append(status).append("\" time=\"").append(time).append("\" name=\"").append(name).append("\"");
111111
if (isError() || isFailure()) {
112-
details.append(">").append(isError() ? "<error message=\"" : "<failure message=\"").append(StringEscapeUtils.escapeXml(errorMessage))
113-
.append("\">").append("<![CDATA[").append(StringEscapeUtils.escapeXml(stackTrace)).append("]]>")
112+
details.append(">").append(isError() ? "<error message=\"" : "<failure message=\"").append(StringEscapeUtils.escapeXml11(errorMessage))
113+
.append("\">").append("<![CDATA[").append(StringEscapeUtils.escapeXml11(stackTrace)).append("]]>")
114114
.append(isError() ? "</error>" : "</failure>").append("</testcase>");
115115
} else {
116116
details.append("/>");

0 commit comments

Comments
 (0)