Skip to content

Commit 48e372b

Browse files
committedJan 24, 2019
Merge branch '__rultor'
2 parents 413d46b + 6551efa commit 48e372b

File tree

14 files changed

+90
-32
lines changed

14 files changed

+90
-32
lines changed
 

‎pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<parent>
3636
<groupId>com.jcabi</groupId>
3737
<artifactId>parent</artifactId>
38-
<version>0.40</version>
38+
<version>0.49.3</version>
3939
</parent>
4040
<groupId>com.qulice</groupId>
4141
<artifactId>qulice</artifactId>

‎qulice-checkstyle/src/main/java/com/qulice/checkstyle/CheckstyleValidator.java

+12-3
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,10 @@
4949
import java.util.LinkedList;
5050
import java.util.List;
5151
import java.util.Properties;
52-
import org.apache.commons.io.IOUtils;
5352
import org.apache.commons.lang3.StringUtils;
53+
import org.cactoos.text.ReplacedText;
54+
import org.cactoos.text.TextOf;
55+
import org.cactoos.text.TrimmedText;
5456
import org.xml.sax.InputSource;
5557

5658
/**
@@ -168,8 +170,15 @@ private String header(final Environment env) {
168170
final URL url = CheckstyleValidator.toUrl(env, name);
169171
final String content;
170172
try {
171-
content = IOUtils.toString(url.openStream())
172-
.trim().replaceAll("[\\r\\n]+$", "");
173+
content = new ReplacedText(
174+
new TrimmedText(
175+
new TextOf(
176+
url.openStream()
177+
)
178+
),
179+
"[\\r\\n]+$",
180+
""
181+
).asString();
173182
} catch (final IOException ex) {
174183
throw new IllegalStateException("Failed to read license", ex);
175184
}

‎qulice-checkstyle/src/test/java/com/qulice/checkstyle/ChecksTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.puppycrawl.tools.checkstyle.api.AuditEvent;
3636
import com.puppycrawl.tools.checkstyle.api.AuditListener;
3737
import java.io.File;
38+
import java.nio.charset.StandardCharsets;
3839
import java.util.ArrayList;
3940
import java.util.Collection;
4041
import java.util.LinkedList;
@@ -122,7 +123,8 @@ public void testCheckstyleTruePositive() throws Exception {
122123
IOUtils.toString(
123124
this.getClass().getResourceAsStream(
124125
String.format("%s/violations.txt", this.dir)
125-
)
126+
),
127+
StandardCharsets.UTF_8
126128
),
127129
"\n"
128130
);

‎qulice-checkstyle/src/test/java/com/qulice/checkstyle/CheckstyleValidatorTest.java

+15-8
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@
3636
import java.io.File;
3737
import java.io.IOException;
3838
import java.util.Collection;
39-
import org.apache.commons.io.IOUtils;
40-
import org.apache.commons.lang3.StringUtils;
39+
import org.cactoos.io.ResourceOf;
4140
import org.cactoos.list.ListOf;
41+
import org.cactoos.text.FormattedText;
42+
import org.cactoos.text.JoinedText;
43+
import org.cactoos.text.TextOf;
4244
import org.hamcrest.Description;
4345
import org.hamcrest.MatcherAssert;
4446
import org.hamcrest.Matchers;
@@ -54,6 +56,8 @@
5456
* @todo #412:30min Split this class into smaller ones and remove PMD
5557
* exclude `TooManyMethods`. Good candidates for moving out of this class
5658
* are all that use `validateCheckstyle` method.
59+
* @checkstyle ClassDataAbstractionCoupling (800 lines)
60+
* Can also be removed after splitting up this class into smaller ones.
5761
*/
5862
@SuppressWarnings(
5963
{
@@ -632,10 +636,11 @@ public void rejectsUppercaseAbbreviations() throws Exception {
632636
file, false
633637
);
634638
final String name = "AbbreviationAsWordInNameCheck";
635-
final String message = StringUtils.join(
636-
"Abbreviation in name '%s' ",
639+
final String message = new JoinedText(
640+
" ",
641+
"Abbreviation in name '%s'",
637642
"must contain no more than '2' consecutive capital letters."
638-
);
643+
).asString();
639644
MatcherAssert.assertThat(
640645
results,
641646
Matchers.hasItems(
@@ -788,9 +793,11 @@ private Collection<Violation> runValidation(final String file,
788793
)
789794
.withFile(
790795
String.format("src/main/java/foo/%s", file),
791-
IOUtils.toString(
792-
this.getClass().getResourceAsStream(file)
793-
)
796+
new TextOf(
797+
new ResourceOf(
798+
new FormattedText("com/qulice/checkstyle/%s", file)
799+
)
800+
).asString()
794801
);
795802
final Collection<Violation> results =
796803
new CheckstyleValidator(env).validate(

‎qulice-checkstyle/src/test/java/com/qulice/checkstyle/LicenseRule.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@
3232
import com.jcabi.aspects.Tv;
3333
import java.io.File;
3434
import java.io.IOException;
35+
import java.nio.charset.StandardCharsets;
3536
import org.apache.commons.io.FileUtils;
36-
import org.apache.commons.lang3.StringUtils;
37+
import org.cactoos.text.JoinedText;
3738
import org.junit.rules.TestRule;
3839
import org.junit.runner.Description;
3940
import org.junit.runners.model.Statement;
@@ -121,7 +122,8 @@ public File file() throws IOException {
121122
FileUtils.forceDeleteOnExit(license);
122123
FileUtils.writeStringToFile(
123124
license,
124-
StringUtils.join(this.lines, this.eol)
125+
new JoinedText(this.eol, this.lines).asString(),
126+
StandardCharsets.UTF_8
125127
);
126128
if (this.directory != null) {
127129
this.makePackageInfo(this.directory);
@@ -152,7 +154,11 @@ private void makePackageInfo(final File dir) throws IOException {
152154
.append(" */").append(this.eol)
153155
.append("package ").append(this.pkg)
154156
.append(';').append(this.eol);
155-
FileUtils.writeStringToFile(info, body.toString());
157+
FileUtils.writeStringToFile(
158+
info,
159+
body.toString(),
160+
StandardCharsets.UTF_8
161+
);
156162
}
157163

158164
}

‎qulice-findbugs/src/main/java/com/qulice/findbugs/FindBugsValidator.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ private static String excludes(final Environment env,
167167
try {
168168
FileUtils.writeStringToFile(
169169
new File(path),
170-
FindBugsValidator.generateExcludes(excludes)
170+
FindBugsValidator.generateExcludes(excludes),
171+
StandardCharsets.UTF_8
171172
);
172173
} catch (final IOException exc) {
173174
throw new IllegalStateException(

‎qulice-findbugs/src/mock/java/com/qulice/findbugs/BytecodeMocker.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.jcabi.log.Logger;
3434
import java.io.File;
3535
import java.io.IOException;
36+
import java.nio.charset.StandardCharsets;
3637
import java.util.Collection;
3738
import org.apache.commons.io.FileUtils;
3839
import org.apache.commons.io.IOUtils;
@@ -66,7 +67,11 @@ public BytecodeMocker withSource(final String src) {
6667
public byte[] mock() throws IOException {
6768
final File outdir = Files.createTempDir();
6869
final File input = File.createTempFile("input", ".java");
69-
FileUtils.writeStringToFile(input, this.source);
70+
FileUtils.writeStringToFile(
71+
input,
72+
this.source,
73+
StandardCharsets.UTF_8
74+
);
7075
final ProcessBuilder builder = new ProcessBuilder(
7176
"javac",
7277
"-d",
@@ -85,7 +90,10 @@ public byte[] mock() throws IOException {
8590
throw new IllegalStateException(
8691
String.format(
8792
"Failed to compile '%s':%n%s", this.source,
88-
IOUtils.toString(process.getErrorStream())
93+
IOUtils.toString(
94+
process.getErrorStream(),
95+
StandardCharsets.UTF_8
96+
)
8997
)
9098
);
9199
}

‎qulice-maven-plugin/pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@
4646
<maven.version>3.0.5</maven.version>
4747
</properties>
4848
<dependencies>
49+
<dependency>
50+
<groupId>org.cactoos</groupId>
51+
<artifactId>cactoos</artifactId>
52+
<version>0.38</version>
53+
</dependency>
4954
<dependency>
5055
<groupId>com.qulice</groupId>
5156
<artifactId>qulice-spi</artifactId>
@@ -118,6 +123,7 @@
118123
<dependency>
119124
<groupId>commons-collections</groupId>
120125
<artifactId>commons-collections</artifactId>
126+
<version>3.2.2</version>
121127
</dependency>
122128
<dependency>
123129
<groupId>com.jcabi</groupId>

‎qulice-maven-plugin/src/main/java/com/qulice/maven/PomXpathValidator.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import com.qulice.spi.ValidationException;
3636
import java.io.File;
3737
import java.io.IOException;
38-
import org.apache.commons.io.Charsets;
38+
import java.nio.charset.StandardCharsets;
3939
import org.apache.commons.io.FileUtils;
4040

4141
/**
@@ -93,7 +93,7 @@ private static XML pom(final Environment env) {
9393
"pom.xml"
9494
)
9595
),
96-
Charsets.UTF_8
96+
StandardCharsets.UTF_8
9797
)
9898
).registerNs("pom", "http://maven.apache.org/POM/4.0.0");
9999
} catch (final IOException exc) {

‎qulice-maven-plugin/src/main/java/com/qulice/maven/SvnPropertiesValidator.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@
3434
import java.io.File;
3535
import java.util.Collection;
3636
import org.apache.commons.io.FileUtils;
37-
import org.apache.commons.io.IOUtils;
3837
import org.apache.maven.project.MavenProject;
38+
import org.cactoos.text.TextOf;
39+
import org.cactoos.text.TrimmedText;
40+
import org.cactoos.text.UncheckedText;
3941

4042
/**
4143
* Check for required svn properties in all text files.
@@ -175,7 +177,13 @@ private static String propget(final File file, final String name) {
175177
try {
176178
final Process process = builder.start();
177179
process.waitFor();
178-
return IOUtils.toString(process.getInputStream()).trim();
180+
return new UncheckedText(
181+
new TrimmedText(
182+
new TextOf(
183+
process.getInputStream()
184+
)
185+
)
186+
).asString();
179187
} catch (final java.io.IOException ex) {
180188
throw new IllegalArgumentException(ex);
181189
} catch (final InterruptedException ex) {

‎qulice-maven-plugin/src/test/java/com/qulice/maven/CheckMojoTest.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import com.qulice.spi.Environment;
3333
import com.qulice.spi.ResourceValidator;
3434
import com.qulice.spi.Validator;
35-
import java.io.File;
3635
import org.apache.maven.plugin.logging.Log;
3736
import org.apache.maven.project.MavenProject;
3837
import org.codehaus.plexus.context.Context;
@@ -89,7 +88,7 @@ public void validatesUsingAllProvidedValidators() throws Exception {
8988
Mockito.verify(internal).validate(Mockito.any(MavenEnvironment.class));
9089
Mockito.verify(external).validate(Mockito.any(Environment.class));
9190
Mockito.verify(rexternal, Mockito.atLeastOnce())
92-
.validate(Mockito.anyCollectionOf(File.class));
91+
.validate(Mockito.anyCollection());
9392
}
9493

9594
}

‎qulice-maven-plugin/src/test/java/com/qulice/maven/PomXpathValidatorTest.java

+8-5
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@
3030
package com.qulice.maven;
3131

3232
import java.io.File;
33+
import java.nio.charset.StandardCharsets;
3334
import java.util.Collections;
3435
import org.apache.commons.io.FileUtils;
35-
import org.apache.commons.io.IOUtils;
36+
import org.cactoos.io.ResourceOf;
37+
import org.cactoos.text.TextOf;
3638
import org.junit.Test;
3739

3840
/**
@@ -54,16 +56,17 @@ public void canValidatePomWithXpath() throws Exception {
5456
"/pom:project/pom:dependencies/pom:dependency[pom:artifactId='commons-io']/pom:version[.='1.2.5']/text()"
5557
)
5658
).mock();
57-
final String pom = IOUtils.toString(
58-
this.getClass().getResourceAsStream("PomXpathValidator/pom.xml")
59-
);
59+
final String pom = new TextOf(
60+
new ResourceOf("com/qulice/maven/PomXpathValidator/pom.xml")
61+
).asString();
6062
FileUtils.write(
6163
new File(
6264
String.format(
6365
"%s%spom.xml", env.basedir(), File.separator
6466
)
6567
),
66-
pom
68+
pom,
69+
StandardCharsets.UTF_8
6770
);
6871
new PomXpathValidator().validate(env);
6972
}

‎qulice-pmd/src/test/java/com/qulice/pmd/PmdAssert.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.qulice.spi.Environment;
3333
import com.qulice.spi.Violation;
3434
import java.io.File;
35+
import java.nio.charset.StandardCharsets;
3536
import java.util.Collection;
3637
import java.util.Collections;
3738
import org.apache.commons.io.IOUtils;
@@ -74,14 +75,17 @@ final class PmdAssert {
7475
/**
7576
* Validated given file against PMD.
7677
* @throws Exception In case of error.
78+
* @todo #966:5min Add Cactoos dependency to qulice-pmd and replace IOUtils
79+
* usage with Cactoos alternatives `TextOf` and `ResourceOf`
7780
*/
7881
public void validate() throws Exception {
7982
final Environment.Mock mock = new Environment.Mock();
8083
final String name = String.format("src/main/java/foo/%s", this.file);
8184
final Environment env = mock.withFile(
8285
name,
8386
IOUtils.toString(
84-
this.getClass().getResourceAsStream(this.file)
87+
this.getClass().getResourceAsStream(this.file),
88+
StandardCharsets.UTF_8
8589
)
8690
);
8791
final Collection<Violation> violations = new PmdValidator(env).validate(

‎qulice-spi/src/main/java/com/qulice/spi/Environment.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
import java.io.File;
3333
import java.io.IOException;
34+
import java.nio.charset.StandardCharsets;
3435
import java.util.Arrays;
3536
import java.util.Collection;
3637
import java.util.Collections;
@@ -191,7 +192,11 @@ public Environment.Mock withParam(final String name,
191192
public Environment.Mock withFile(final String name,
192193
final String content) throws IOException {
193194
final File file = new File(this.basedir, name);
194-
FileUtils.writeStringToFile(file, content);
195+
FileUtils.writeStringToFile(
196+
file,
197+
content,
198+
StandardCharsets.UTF_8
199+
);
195200
return this;
196201
}
197202

1 commit comments

Comments
 (1)

0pdd commented on Jan 24, 2019

@0pdd
Collaborator

Puzzle 966-537ebfc3 discovered in qulice-pmd/src/test/java/com/qulice/pmd/PmdAssert.java and submitted as #1009. Please, remember that the puzzle was not necessarily added in this particular commit. Maybe it was added earlier, but we discovered it only now.

Please sign in to comment.