JAMES-1966 upgrade commons-io to 2.5 and fix encoding warnings
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c1b777dc Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c1b777dc Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c1b777dc Branch: refs/heads/master Commit: c1b777dc404fb5ee3879a8670498aced2d2baa47 Parents: 62eef92 Author: Matthieu Baechler <matthieu.baech...@gmail.com> Authored: Thu Mar 16 08:23:10 2017 +0100 Committer: benwa <btell...@linagora.com> Committed: Tue Mar 21 17:55:53 2017 +0700 ---------------------------------------------------------------------- .../james/filesystem/api/AbstractFileSystemTest.java | 15 ++++++++++----- .../main/java/org/apache/james/jmap/JMAPModule.java | 3 ++- .../sieve/cassandra/CassandraSieveRepository.java | 5 +++-- .../apache/james/mailets/TemporaryJamesServer.java | 3 ++- .../mailets/crypto/SMIMEDecryptIntegrationTest.java | 7 ++++--- .../managesieve/ManageSieveMailetTestCase.java | 3 ++- server/pom.xml | 2 +- .../james/jmap/json/ParsingWritingObjectsTest.java | 10 ++++++---- .../utils/MailboxBasedHtmlTextExtractorTest.java | 4 +++- .../jmap/utils/MimeMessageBodyGeneratorTest.java | 9 +++++---- 10 files changed, 38 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java ---------------------------------------------------------------------- diff --git a/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java b/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java index c0f58bf..fe8e274 100644 --- a/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java +++ b/server/container/filesystem-api/src/test/java/org/apache/james/filesystem/api/AbstractFileSystemTest.java @@ -28,6 +28,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; +import org.apache.commons.io.Charsets; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.junit.After; @@ -73,10 +74,11 @@ public abstract class AbstractFileSystemTest { fileSystem = buildFileSystem(rootDirectory.getAbsolutePath()); } + @SuppressWarnings("deprecation") private void createSubFolderWithAFileIn(String folderName, String fileName, String fileContent) throws IOException { File folder = tmpFolder.newFolder(folderName); File file = new File(folder.getAbsolutePath() + "/" + fileName); - FileUtils.writeStringToFile(file, fileContent); + FileUtils.writeStringToFile(file, fileContent, Charsets.UTF_8); } @After @@ -204,7 +206,7 @@ public abstract class AbstractFileSystemTest { url = replacePort(url); InputStream inputStream = fileSystem.getResource(url); try { - assertThat(IOUtils.toString(inputStream).length()).isGreaterThan(0); + assertThat(IOUtils.toByteArray(inputStream).length).isGreaterThan(0); } finally { IOUtils.closeQuietly(inputStream); } @@ -247,6 +249,7 @@ public abstract class AbstractFileSystemTest { } } + @SuppressWarnings("deprecation") @Test @Parameters(source = FileToCreateProvider.class) public final void createdFilesAsInputStreamShouldBeAvailable(String name, String extension) throws Exception { @@ -254,13 +257,14 @@ public abstract class AbstractFileSystemTest { InputStream inputStream = null; try { inputStream = fileSystem.getResource("file:" + temp.getAbsolutePath()); - assertThat(IOUtils.toString(inputStream)).isEqualTo("content"); + assertThat(IOUtils.toString(inputStream, Charsets.UTF_8)).isEqualTo("content"); } finally { IOUtils.closeQuietly(inputStream); temp.delete(); } } + @SuppressWarnings("deprecation") @Test @Parameters(source = FileToCreateProvider.class) public final void createdFilesAsInputStreamShouldBeAvailableWhenAccessedWithTwoSlashes(String name, String extension) throws Exception { @@ -268,16 +272,17 @@ public abstract class AbstractFileSystemTest { InputStream inputStream = null; try { inputStream = fileSystem.getResource("file://" + temp.getAbsolutePath()); - assertThat(IOUtils.toString(inputStream)).isEqualTo("content"); + assertThat(IOUtils.toString(inputStream, Charsets.UTF_8)).isEqualTo("content"); } finally { IOUtils.closeQuietly(inputStream); temp.delete(); } } + @SuppressWarnings("deprecation") private File createTempFile(String name, String extension) throws IOException { File temp = File.createTempFile(name, extension); - FileUtils.write(temp, "content"); + FileUtils.write(temp, "content", Charsets.UTF_8); return temp; } http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java index eca11aa..de72639 100644 --- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java +++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java @@ -46,6 +46,7 @@ import org.apache.james.utils.ConfigurationPerformer; import org.apache.james.utils.PropertiesProvider; import com.github.fge.lambdas.Throwing; +import com.google.common.base.Charsets; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.inject.AbstractModule; @@ -97,7 +98,7 @@ public class JMAPModule extends AbstractModule { } private Optional<String> loadPublicKey(FileSystem fileSystem, Optional<String> jwtPublickeyPemUrl) { - return jwtPublickeyPemUrl.map(Throwing.function(url -> FileUtils.readFileToString(fileSystem.getFile(url)))); + return jwtPublickeyPemUrl.map(Throwing.function(url -> FileUtils.readFileToString(fileSystem.getFile(url), Charsets.US_ASCII))); } @Singleton http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java index 2a36a91..a597ae5 100644 --- a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java +++ b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraSieveRepository.java @@ -20,6 +20,7 @@ package org.apache.james.sieve.cassandra; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Optional; import java.util.concurrent.CompletableFuture; @@ -108,7 +109,7 @@ public class CassandraSieveRepository implements SieveRepository { return IOUtils.toInputStream( cassandraSieveDAO.getActive(user) .join() - .orElseThrow(ScriptNotFoundException::new)); + .orElseThrow(ScriptNotFoundException::new), StandardCharsets.UTF_8); } @Override @@ -141,7 +142,7 @@ public class CassandraSieveRepository implements SieveRepository { public InputStream getScript(String user, String name) throws ScriptNotFoundException { return cassandraSieveDAO.getScriptContent(user, name) .join() - .map(IOUtils::toInputStream) + .map(script -> IOUtils.toInputStream(script, StandardCharsets.UTF_8)) .orElseThrow(ScriptNotFoundException::new); } http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java ---------------------------------------------------------------------- diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java index 86c5d45..387e419 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java @@ -23,6 +23,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.Arrays; @@ -66,7 +67,7 @@ public class TemporaryJamesServer { private void appendMailetConfigurations(TemporaryFolder temporaryFolder, MailetContainer mailetContainer) throws ConfigurationException, IOException { try (OutputStream outputStream = createMailetConfigurationFile(temporaryFolder)) { - IOUtils.write(mailetContainer.serializeAsXml(), outputStream); + IOUtils.write(mailetContainer.serializeAsXml(), outputStream, StandardCharsets.UTF_8); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java index 960eb72..75c6844 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/crypto/SMIMEDecryptIntegrationTest.java @@ -21,6 +21,7 @@ package org.apache.james.mailets.crypto; import static org.assertj.core.api.Assertions.assertThat; +import java.nio.charset.StandardCharsets; import java.time.ZonedDateTime; import org.apache.commons.io.IOUtils; @@ -119,7 +120,7 @@ public class SMIMEDecryptIntegrationTest { try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD); IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) { - messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/crypted.eml"))); + messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/crypted.eml"), StandardCharsets.US_ASCII)); calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent); calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(FROM, PASSWORD)); @@ -133,7 +134,7 @@ public class SMIMEDecryptIntegrationTest { try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD); IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) { - messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/crypted_with_attachment.eml"))); + messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/crypted_with_attachment.eml"), StandardCharsets.US_ASCII)); calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent); calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(FROM, PASSWORD)); @@ -147,7 +148,7 @@ public class SMIMEDecryptIntegrationTest { try (SMTPMessageSender messageSender = SMTPMessageSender.authentication(LOCALHOST_IP, SMTP_SECURE_PORT, DEFAULT_DOMAIN, FROM, PASSWORD); IMAPMessageReader imapMessageReader = new IMAPMessageReader(LOCALHOST_IP, IMAP_PORT)) { - messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/bad_crypted.eml"))); + messageSender.sendMessageWithHeaders(FROM, FROM, IOUtils.toString(ClassLoader.getSystemResourceAsStream("eml/bad_crypted.eml"), StandardCharsets.US_ASCII)); calmlyAwait.atMost(Duration.ONE_MINUTE).until(messageSender::messageHasBeenSent); calmlyAwait.atMost(Duration.ONE_MINUTE).until(() -> imapMessageReader.userReceivedMessage(FROM, PASSWORD)); http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java index 15f4bdb..3d9752b 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/managesieve/ManageSieveMailetTestCase.java @@ -51,6 +51,7 @@ import org.apache.mailet.base.test.MimeMessageBuilder; import org.junit.Before; import org.junit.Test; +import com.google.common.base.Charsets; import com.google.common.collect.Lists; public class ManageSieveMailetTestCase { @@ -517,7 +518,7 @@ public class ManageSieveMailetTestCase { if (multipart.getBodyPart(i).getContent() instanceof String) { assertThat(((String) multipart.getBodyPart(i).getContent()).trim()).isEqualTo(contents[i]); } else { - assertThat(IOUtils.toString((ByteArrayInputStream) multipart.getBodyPart(i).getContent()).trim()).isEqualTo(contents[i]); + assertThat(IOUtils.toString((ByteArrayInputStream) multipart.getBodyPart(i).getContent(), Charsets.UTF_8).trim()).isEqualTo(contents[i]); } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/pom.xml ---------------------------------------------------------------------- diff --git a/server/pom.xml b/server/pom.xml index 4b7d969..261346d 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -156,7 +156,7 @@ <commons-dbcp.version>1.4</commons-dbcp.version> <commons-net.version>3.2</commons-net.version> <commons-beanutils-core.version>1.8.3</commons-beanutils-core.version> - <commons-io.version>2.4</commons-io.version> + <commons-io.version>2.5</commons-io.version> <commons-logging.version>1.1.1</commons-logging.version> <dnsjava.version>2.1.1</dnsjava.version> http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ParsingWritingObjectsTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ParsingWritingObjectsTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ParsingWritingObjectsTest.java index c4e6825..0cd3a1f 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ParsingWritingObjectsTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ParsingWritingObjectsTest.java @@ -25,6 +25,8 @@ import static org.apache.james.jmap.json.ParsingWritingObjects.MESSAGE; import static org.apache.james.jmap.json.ParsingWritingObjects.SUB_MESSAGE; import static org.assertj.core.api.Assertions.assertThat; +import java.nio.charset.StandardCharsets; + import org.apache.commons.io.IOUtils; import org.apache.james.jmap.methods.GetMessagesMethod; import org.apache.james.jmap.methods.JmapResponseWriterImpl; @@ -52,14 +54,14 @@ public class ParsingWritingObjectsTest { SubMessage expected = SUB_MESSAGE; SubMessage subMessage = testee.forParsing() - .readValue(IOUtils.toString(ClassLoader.getSystemResource("json/subMessage.json")), SubMessage.class); + .readValue(IOUtils.toString(ClassLoader.getSystemResource("json/subMessage.json"), StandardCharsets.UTF_8), SubMessage.class); assertThat(subMessage).isEqualToComparingFieldByField(expected); } @Test public void writingJsonShouldWorkOnSubMessage() throws Exception { - String expected = IOUtils.toString(ClassLoader.getSystemResource("json/subMessage.json")); + String expected = IOUtils.toString(ClassLoader.getSystemResource("json/subMessage.json"), StandardCharsets.UTF_8); String json = testee.forWriting() .writeValueAsString(SUB_MESSAGE); @@ -75,14 +77,14 @@ public class ParsingWritingObjectsTest { Message expected = MESSAGE; Message message = testee.forParsing() - .readValue(IOUtils.toString(ClassLoader.getSystemResource("json/message.json")), Message.class); + .readValue(IOUtils.toString(ClassLoader.getSystemResource("json/message.json"), StandardCharsets.UTF_8), Message.class); assertThat(message).isEqualToComparingFieldByField(expected); } @Test public void writingJsonShouldWorkOnMessage() throws Exception { - String expected = IOUtils.toString(ClassLoader.getSystemResource("json/message.json")); + String expected = IOUtils.toString(ClassLoader.getSystemResource("json/message.json"), StandardCharsets.UTF_8); SimpleFilterProvider filterProvider = new SimpleFilterProvider() .addFilter(JmapResponseWriterImpl.PROPERTIES_FILTER, SimpleBeanPropertyFilter.serializeAll()) http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxBasedHtmlTextExtractorTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxBasedHtmlTextExtractorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxBasedHtmlTextExtractorTest.java index 6697ba8..9a44dde 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxBasedHtmlTextExtractorTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxBasedHtmlTextExtractorTest.java @@ -21,6 +21,8 @@ package org.apache.james.jmap.utils; import static org.assertj.core.api.Assertions.assertThat; +import java.nio.charset.StandardCharsets; + import org.apache.commons.io.IOUtils; import org.apache.james.mailbox.tika.extractor.TikaTextExtractor; import org.junit.Before; @@ -78,7 +80,7 @@ public class MailboxBasedHtmlTextExtractorTest { @Test public void toPlainTextShouldWorkWithMoreComplexHTML() throws Exception { - String html = IOUtils.toString(ClassLoader.getSystemResource("example.html")); + String html = IOUtils.toString(ClassLoader.getSystemResource("example.html"), StandardCharsets.UTF_8); String expectedPlainText = "\n" + " Why a new Logo?\n" + "\n" + http://git-wip-us.apache.org/repos/asf/james-project/blob/c1b777dc/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MimeMessageBodyGeneratorTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MimeMessageBodyGeneratorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MimeMessageBodyGeneratorTest.java index 0eb2880..4b283ab 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MimeMessageBodyGeneratorTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MimeMessageBodyGeneratorTest.java @@ -25,6 +25,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; +import java.nio.charset.StandardCharsets; import java.util.Optional; import java.util.Properties; @@ -54,7 +55,7 @@ public class MimeMessageBodyGeneratorTest { mimeMessageBodyGenerator.from(original, Optional.of("Plain text"), Optional.empty()) - .getInputStream())) + .getInputStream(), StandardCharsets.UTF_8)) .isEqualTo("Plain text"); verifyZeroInteractions(htmlTextExtractor); } @@ -83,7 +84,7 @@ public class MimeMessageBodyGeneratorTest { mimeMessageBodyGenerator.from(original, Optional.empty(), Optional.of(htmlText)) - .getInputStream()); + .getInputStream(), StandardCharsets.UTF_8); assertThat(rowContent).containsSequence(htmlText); assertThat(rowContent).containsSequence(plainText); @@ -98,7 +99,7 @@ public class MimeMessageBodyGeneratorTest { mimeMessageBodyGenerator.from(original, Optional.of(plainText), Optional.of(htmlText)) - .getInputStream()); + .getInputStream(), StandardCharsets.UTF_8); assertThat(rowContent).containsSequence(htmlText); assertThat(rowContent).containsSequence(plainText); @@ -110,7 +111,7 @@ public class MimeMessageBodyGeneratorTest { String rowContent = IOUtils.toString(mimeMessageBodyGenerator.from(original, Optional.empty(), Optional.empty()) - .getInputStream()); + .getInputStream(), StandardCharsets.UTF_8); assertThat(rowContent).isEmpty(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org