You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/07/11 03:34:35 UTC
[06/10] james-project git commit: JAMES-2456 ParsedContent
constructor should take an Optional
JAMES-2456 ParsedContent constructor should take an Optional
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/bc9802c8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/bc9802c8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/bc9802c8
Branch: refs/heads/master
Commit: bc9802c80554a55b7bc160273a45a405199e4e1a
Parents: 51a6fa8
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jul 10 09:25:07 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Wed Jul 11 10:29:00 2018 +0700
----------------------------------------------------------------------
.../org/apache/james/mailbox/extractor/ParsedContent.java | 4 ++--
.../apache/james/mailbox/elasticsearch/json/MimePart.java | 4 ++--
.../mailbox/elasticsearch/json/IndexableMessageTest.java | 5 +++--
.../apache/james/mailbox/inmemory/JsoupTextExtractor.java | 5 +++--
.../apache/james/mailbox/store/search/PDFTextExtractor.java | 9 +++++----
.../james/mailbox/store/extractor/DefaultTextExtractor.java | 5 +++--
.../org/apache/james/mailbox/tika/TikaTextExtractor.java | 2 +-
.../apache/james/mailbox/tika/CachingTextExtractorTest.java | 5 +++--
8 files changed, 22 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/api/src/main/java/org/apache/james/mailbox/extractor/ParsedContent.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/extractor/ParsedContent.java b/mailbox/api/src/main/java/org/apache/james/mailbox/extractor/ParsedContent.java
index 6dcdc81..8ba90ab 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/extractor/ParsedContent.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/extractor/ParsedContent.java
@@ -28,8 +28,8 @@ public class ParsedContent {
private final Optional<String> textualContent;
private final Map<String, List<String>> metadata;
- public ParsedContent(String textualContent, Map<String, List<String>> metadata) {
- this.textualContent = Optional.ofNullable(textualContent);
+ public ParsedContent(Optional<String> textualContent, Map<String, List<String>> metadata) {
+ this.textualContent = textualContent;
this.metadata = metadata;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
index bb5c98f..1a2128f 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
@@ -154,8 +154,8 @@ public class MimePart {
private ParsedContent extractText(TextExtractor textExtractor, InputStream bodyContent) throws Exception {
if (isTextBody()) {
return new ParsedContent(
- IOUtils.toString(bodyContent, charset.orElse(StandardCharsets.UTF_8)),
- ImmutableMap.of());
+ Optional.ofNullable(IOUtils.toString(bodyContent, charset.orElse(StandardCharsets.UTF_8))),
+ ImmutableMap.of());
}
return textExtractor.extractContent(
bodyContent,
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
index 5be57f5..5119130 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.time.ZoneId;
+import java.util.Optional;
import javax.mail.Flags;
@@ -457,9 +458,9 @@ public class IndexableMessageTest {
TextExtractor textExtractor = mock(TextExtractor.class);
when(textExtractor.extractContent(any(), any()))
- .thenReturn(new ParsedContent("first attachment content", ImmutableMap.of()))
+ .thenReturn(new ParsedContent(Optional.of("first attachment content"), ImmutableMap.of()))
.thenThrow(new RuntimeException("second cannot be parsed"))
- .thenReturn(new ParsedContent("third attachment content", ImmutableMap.of()));
+ .thenReturn(new ParsedContent(Optional.of("third attachment content"), ImmutableMap.of()));
// When
IndexableMessage indexableMessage = IndexableMessage.builder()
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/JsoupTextExtractor.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/JsoupTextExtractor.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/JsoupTextExtractor.java
index 1860cd5..c876f2d 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/JsoupTextExtractor.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/JsoupTextExtractor.java
@@ -23,6 +23,7 @@ import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import org.apache.commons.io.IOUtils;
import org.apache.james.mailbox.extractor.ParsedContent;
@@ -41,12 +42,12 @@ public class JsoupTextExtractor implements TextExtractor {
Map<String, List<String>> emptyMetadata = Maps.newHashMap();
if (contentType != null) {
if (contentType.equals("text/plain")) {
- return new ParsedContent(IOUtils.toString(inputStream, StandardCharsets.UTF_8), emptyMetadata);
+ return new ParsedContent(Optional.ofNullable(IOUtils.toString(inputStream, StandardCharsets.UTF_8)), emptyMetadata);
}
if (contentType.equals("text/html")) {
Document doc = Jsoup.parse(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
doc.select(TITLE_HTML_TAG).remove();
- return new ParsedContent(doc.text(), emptyMetadata);
+ return new ParsedContent(Optional.ofNullable(doc.text()), emptyMetadata);
}
}
return new ParsedContent(null, emptyMetadata);
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/PDFTextExtractor.java
----------------------------------------------------------------------
diff --git a/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/PDFTextExtractor.java b/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/PDFTextExtractor.java
index 0e9e6a8..8a6f583 100644
--- a/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/PDFTextExtractor.java
+++ b/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/PDFTextExtractor.java
@@ -21,6 +21,7 @@ package org.apache.james.mailbox.store.search;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.util.Optional;
import org.apache.commons.io.IOUtils;
import org.apache.james.mailbox.extractor.ParsedContent;
@@ -43,7 +44,7 @@ public class PDFTextExtractor implements TextExtractor {
if (isPDF(contentType)) {
return extractTextFromPDF(inputStream);
}
- return new ParsedContent(IOUtils.toString(inputStream, StandardCharsets.UTF_8), ImmutableMap.of());
+ return new ParsedContent(Optional.ofNullable(IOUtils.toString(inputStream, StandardCharsets.UTF_8)), ImmutableMap.of());
}
private boolean isPDF(String contentType) {
@@ -52,8 +53,8 @@ public class PDFTextExtractor implements TextExtractor {
private ParsedContent extractTextFromPDF(InputStream inputStream) throws IOException {
return new ParsedContent(
- new PDFTextStripper().getText(
- PDDocument.load(inputStream)),
- ImmutableMap.of());
+ Optional.ofNullable(new PDFTextStripper().getText(
+ PDDocument.load(inputStream))),
+ ImmutableMap.of());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
index a12a8d4..23e574e 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
@@ -22,6 +22,7 @@ package org.apache.james.mailbox.store.extractor;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
+import java.util.Optional;
import org.apache.commons.io.IOUtils;
import org.apache.james.mailbox.extractor.ParsedContent;
@@ -37,9 +38,9 @@ public class DefaultTextExtractor implements TextExtractor {
@Override
public ParsedContent extractContent(InputStream inputStream, String contentType) throws Exception {
if (contentType != null && contentType.startsWith("text/")) {
- return new ParsedContent(IOUtils.toString(inputStream, StandardCharsets.UTF_8), new HashMap<>());
+ return new ParsedContent(Optional.ofNullable(IOUtils.toString(inputStream, StandardCharsets.UTF_8)), new HashMap<>());
} else {
- return new ParsedContent(null, new HashMap<>());
+ return new ParsedContent(Optional.empty(), new HashMap<>());
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/tika/src/main/java/org/apache/james/mailbox/tika/TikaTextExtractor.java
----------------------------------------------------------------------
diff --git a/mailbox/tika/src/main/java/org/apache/james/mailbox/tika/TikaTextExtractor.java b/mailbox/tika/src/main/java/org/apache/james/mailbox/tika/TikaTextExtractor.java
index 305e2a1..c4ff6cf 100644
--- a/mailbox/tika/src/main/java/org/apache/james/mailbox/tika/TikaTextExtractor.java
+++ b/mailbox/tika/src/main/java/org/apache/james/mailbox/tika/TikaTextExtractor.java
@@ -84,7 +84,7 @@ public class TikaTextExtractor implements TextExtractor {
public ParsedContent performContentExtraction(InputStream inputStream, String contentType) throws IOException {
ContentAndMetadata contentAndMetadata = convert(tikaHttpClient.recursiveMetaDataAsJson(inputStream, contentType));
- return new ParsedContent(contentAndMetadata.getContent().orElse(null), contentAndMetadata.getMetadata());
+ return new ParsedContent(contentAndMetadata.getContent(), contentAndMetadata.getMetadata());
}
private ContentAndMetadata convert(Optional<InputStream> maybeInputStream) throws IOException, JsonParseException, JsonMappingException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/bc9802c8/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/CachingTextExtractorTest.java
----------------------------------------------------------------------
diff --git a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/CachingTextExtractorTest.java b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/CachingTextExtractorTest.java
index 637bedb..e5b4d02 100644
--- a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/CachingTextExtractorTest.java
+++ b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/CachingTextExtractorTest.java
@@ -34,6 +34,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -54,9 +55,9 @@ import com.google.common.collect.ImmutableMap;
public class CachingTextExtractorTest {
- private static final ParsedContent RESULT = new ParsedContent("content", ImmutableMap.of());
+ private static final ParsedContent RESULT = new ParsedContent(Optional.of("content"), ImmutableMap.of());
public static final String BIG_STRING = Strings.repeat("0123456789", 103 * 1024);
- private static final ParsedContent _2MiB_RESULT = new ParsedContent(BIG_STRING, ImmutableMap.of());
+ private static final ParsedContent _2MiB_RESULT = new ParsedContent(Optional.of(BIG_STRING), ImmutableMap.of());
private static final Function<Integer, InputStream> STREAM_GENERATOR =
i -> new ByteArrayInputStream(String.format("content%d", i).getBytes(StandardCharsets.UTF_8));
private static final Supplier<InputStream> INPUT_STREAM = () -> STREAM_GENERATOR.apply(1);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org