You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2017/03/01 20:31:34 UTC
[tika] 02/02: TIKA-1865 -- step 2, the other parsers.
This is an automated email from the ASF dual-hosted git repository.
tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 2234f3312f3ddca02f2899138157e1f5fdef92ba
Author: tballison <ta...@mitre.org>
AuthorDate: Wed Mar 1 15:31:23 2017 -0500
TIKA-1865 -- step 2, the other parsers.
---
.../tika/parser/mail/MailContentHandler.java | 6 ++
.../java/org/apache/tika/parser/mail/MailUtil.java | 114 +++++++++++++++++++++
.../org/apache/tika/parser/mbox/MboxParser.java | 4 +
.../apache/tika/parser/mbox/OutlookPSTParser.java | 27 +++++
.../tika/parser/microsoft/OutlookExtractor.java | 47 ++++++---
.../org/apache/tika/parser/mail/MailUtilTest.java | 48 +++++++++
.../apache/tika/parser/mail/RFC822ParserTest.java | 28 ++++-
.../tika/parser/mbox/OutlookPSTParserTest.java | 19 ++++
.../tika/parser/microsoft/OutlookParserTest.java | 3 +-
9 files changed, 282 insertions(+), 14 deletions(-)
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
index 018bcae..961ccfb 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
@@ -50,6 +50,7 @@ import org.apache.james.mime4j.stream.Field;
import org.apache.tika.extractor.EmbeddedDocumentExtractor;
import org.apache.tika.extractor.EmbeddedDocumentUtil;
import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Message;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.metadata.TikaCoreProperties;
import org.apache.tika.parser.ParseContext;
@@ -222,11 +223,16 @@ class MailContentHandler implements ContentHandler {
if (fromField.isValidField() && mailboxList != null) {
for (Address address : mailboxList) {
String from = getDisplayString(address);
+ MailUtil.setPersonAndEmail(from, Message.MESSAGE_FROM_NAME,
+ Message.MESSAGE_FROM_EMAIL, metadata);
metadata.add(Metadata.MESSAGE_FROM, from);
metadata.add(TikaCoreProperties.CREATOR, from);
}
} else {
String from = stripOutFieldPrefix(field, "From:");
+ MailUtil.setPersonAndEmail(from, Message.MESSAGE_FROM_NAME,
+ Message.MESSAGE_FROM_EMAIL, metadata);
+
if (from.startsWith("<")) {
from = from.substring(1);
}
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailUtil.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailUtil.java
new file mode 100644
index 0000000..9c098a7
--- /dev/null
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailUtil.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tika.parser.mail;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.Property;
+
+public class MailUtil {
+
+ private final static Pattern EMAIL = Pattern.compile("(?i)([^<@\\s]+@[^@> ]+)");
+
+ /**
+ * This tries to split a "from" or "to" value into a person field and an email field.
+ * This does not handle RFC encoded strings (e.g. "=?iso-8859-1?Q?H=E9roux_Louise?"),
+ * you must decode them first.
+ *
+ * @param string
+ * @param personProperty
+ * @param emailProperty
+ * @param metadata
+ */
+ public static void setPersonAndEmail(String string,
+ Property personProperty,
+ Property emailProperty, Metadata metadata) {
+
+ StringBuffer sb = new StringBuffer();
+ String email = extractEmail(string, sb);
+ String person = clean(sb.toString());
+ if (person != null && person.length() > 0) {
+ metadata.set(personProperty, person);
+ }
+ if (email != null && email.length() > 0) {
+ metadata.set(emailProperty, email);
+ }
+
+ }
+
+ /**
+ * This tries to split a "from" or "to" value into a person field and an email field.
+ * This does not handle RFC encoded strings (e.g. "=?iso-8859-1?Q?H=E9roux_Louise?"),
+ * you must decode them first.
+ *
+ * @param string
+ * @param personProperty
+ * @param emailProperty
+ * @param metadata
+ */
+ public static void addPersonAndEmail(String string,
+ Property personProperty,
+ Property emailProperty, Metadata metadata) {
+
+ StringBuffer sb = new StringBuffer();
+ String email = extractEmail(string, sb);
+ String person = clean(sb.toString());
+
+ if (person != null && person.length() > 0) {
+ metadata.add(personProperty, person);
+ }
+ if (email != null && email.length() > 0) {
+ metadata.add(emailProperty, email);
+ }
+
+ }
+
+ private static String clean(String s) {
+ s = s.replaceAll("[<>\"]", " ");
+ s = s.trim();
+ return s;
+ }
+
+ private static String extractEmail(String string, StringBuffer sb) {
+ Matcher emailMatcher = EMAIL.matcher(string);
+ String email = "";
+ while (emailMatcher.find()) {
+ emailMatcher.appendReplacement(sb, "");
+ email = emailMatcher.group(1);
+ }
+ return email;
+ }
+
+ /**
+ * If the chunk looks like it contains an email
+ * @param chunk
+ * @return
+ */
+ public static boolean containsEmail(String chunk) {
+ if (chunk == null) {
+ return false;
+ }
+
+ if (EMAIL.matcher(chunk).find()) {
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
index a82d74e..11c8d4a 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
@@ -38,11 +38,13 @@ import java.util.regex.Pattern;
import org.apache.tika.exception.TikaException;
import org.apache.tika.extractor.EmbeddedDocumentExtractor;
import org.apache.tika.extractor.EmbeddedDocumentUtil;
+import org.apache.tika.metadata.Message;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.metadata.TikaCoreProperties;
import org.apache.tika.mime.MediaType;
import org.apache.tika.parser.AbstractParser;
import org.apache.tika.parser.ParseContext;
+import org.apache.tika.parser.mail.MailUtil;
import org.apache.tika.sax.XHTMLContentHandler;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -168,6 +170,8 @@ public class MboxParser extends AbstractParser {
if (headerTag.equalsIgnoreCase("From")) {
metadata.set(TikaCoreProperties.CREATOR, headerContent);
+ MailUtil.setPersonAndEmail(headerContent, Message.MESSAGE_FROM_NAME,
+ Message.MESSAGE_FROM_EMAIL, metadata);
} else if (headerTag.equalsIgnoreCase("To") || headerTag.equalsIgnoreCase("Cc")
|| headerTag.equalsIgnoreCase("Bcc")) {
Matcher address = EMAIL_ADDRESS_PATTERN.matcher(headerContent);
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
index dee17db..1a35ed6 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
@@ -35,11 +35,14 @@ import org.apache.tika.extractor.EmbeddedDocumentExtractor;
import org.apache.tika.extractor.EmbeddedDocumentUtil;
import org.apache.tika.io.TemporaryResources;
import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Message;
import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.Office;
import org.apache.tika.metadata.TikaCoreProperties;
import org.apache.tika.mime.MediaType;
import org.apache.tika.parser.AbstractParser;
import org.apache.tika.parser.ParseContext;
+import org.apache.tika.parser.microsoft.OutlookExtractor;
import org.apache.tika.sax.XHTMLContentHandler;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -152,6 +155,30 @@ public class OutlookPSTParser extends AbstractParser {
mailMetadata.set("priority", valueOf(pstMail.getPriority()));
mailMetadata.set("flagged", valueOf(pstMail.isFlagged()));
+ if (pstMail.getSenderAddrtype().equalsIgnoreCase("ex")) {
+ OutlookExtractor.addExchange(pstMail.getSenderEmailAddress(),
+ Office.MAPI_EXCHANGE_FROM_O,
+ Office.MAPI_EXCHANGE_FROM_OU,
+ Office.MAPI_EXCHANGE_FROM_CN, mailMetadata);
+ } {
+ OutlookExtractor.addChunks(pstMail.getSenderEmailAddress(), Message.MESSAGE_FROM_EMAIL,
+ true, mailMetadata);
+ }
+ if (pstMail.getSentRepresentingAddressType().equalsIgnoreCase("ex")) {
+ OutlookExtractor.addExchange(pstMail.getSentRepresentingEmailAddress(),
+ Office.MAPI_EXCHANGE_FROM_REPRESENTING_O,
+ Office.MAPI_EXCHANGE_FROM_REPRESENTING_OU,
+ Office.MAPI_EXCHANGE_FROM_REPRESENTING_CN, mailMetadata);
+
+ } else {
+ OutlookExtractor.addChunks(pstMail.getSentRepresentingEmailAddress(),
+ Office.MAPI_FROM_REPRESENTING_EMAIL,
+ true, mailMetadata);
+ }
+ mailMetadata.set(Message.MESSAGE_FROM_NAME, pstMail.getSenderName());
+ mailMetadata.set(Office.MAPI_FROM_REPRESENTING_NAME, pstMail.getSentRepresentingName());
+
+
byte[] mailContent = pstMail.getBody().getBytes(UTF_8);
embeddedExtractor.parseEmbedded(new ByteArrayInputStream(mailContent), handler, mailMetadata, true);
}
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
index 1f87183..3e43fb4 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
@@ -62,6 +62,7 @@ import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.parser.html.HtmlEncodingDetector;
import org.apache.tika.parser.html.HtmlParser;
+import org.apache.tika.parser.mail.MailUtil;
import org.apache.tika.parser.mbox.MboxParser;
import org.apache.tika.parser.rtf.RTFParser;
import org.apache.tika.parser.txt.CharsetDetector;
@@ -326,9 +327,15 @@ public class OutlookExtractor extends AbstractPOIFSExtractor {
senderAddressTypeString = senderAddresType.get(0).toString();
}
- addChunks(mainChunks.get(MAPIProperty.SENDER_NAME), Message.MESSAGE_FROM_NAME, metadata);
- addChunks(mainChunks.get(MAPIProperty.SENT_REPRESENTING_NAME),
- Office.MAPI_FROM_REPRESENTING_NAME, metadata);
+ //sometimes in SMTP .msg files there is an email in the sender name field
+ //make sure to rule those out.
+ addChunks(
+ mainChunks.get(MAPIProperty.SENDER_NAME), Message.MESSAGE_FROM_NAME,
+ false, metadata);
+ addChunks(
+ mainChunks.get(MAPIProperty.SENT_REPRESENTING_NAME),
+ Office.MAPI_FROM_REPRESENTING_NAME, false, metadata);
+
if (senderAddressTypeString.equalsIgnoreCase("ex")) {
addExchange(mainChunks.get(MAPIProperty.SENDER_EMAIL_ADDRESS),
Office.MAPI_EXCHANGE_FROM_O, Office.MAPI_EXCHANGE_FROM_OU,
@@ -338,19 +345,25 @@ public class OutlookExtractor extends AbstractPOIFSExtractor {
Office.MAPI_EXCHANGE_FROM_REPRESENTING_CN, metadata);
} else {
addChunks(mainChunks.get(MAPIProperty.SENDER_EMAIL_ADDRESS),
- Message.MESSAGE_FROM_EMAIL, metadata);
+ Message.MESSAGE_FROM_EMAIL, true, metadata);
addChunks(mainChunks.get(MAPIProperty.SENT_REPRESENTING_EMAIL_ADDRESS),
- Office.MAPI_FROM_REPRESENTING_EMAIL, metadata);
+ Office.MAPI_FROM_REPRESENTING_EMAIL, true, metadata);
}
}
- private void addExchange(List<Chunk> chunks,Property propertyO,
- Property propertyOU, Property propertyCN, Metadata metadata) {
+
+ private static void addExchange(List<Chunk> chunks,
+ Property propertyO,
+ Property propertyOU, Property propertyCN, Metadata metadata ) {
if (chunks == null || chunks.size() == 0) {
return;
}
- String exchange = chunks.get(0).toString();
- if (exchange == null || exchange.length() == 0) {
+ addExchange(chunks.get(0).toString(), propertyO, propertyOU, propertyCN, metadata);
+ }
+
+ public static void addExchange(String exchange,Property propertyO,
+ Property propertyOU, Property propertyCN, Metadata metadata) {
+ if (exchange == null || exchange.length() < 1) {
return;
}
Matcher matcherO = EXCHANGE_O.matcher(exchange);
@@ -371,11 +384,21 @@ public class OutlookExtractor extends AbstractPOIFSExtractor {
}
}
- private void addChunks(List<Chunk> chunks, Property property, Metadata metadata) {
- if (chunks == null || chunks.size() == 0) {
+ private static void addChunks(List<Chunk> chunks, Property property, boolean mustContainEmail,
+ Metadata metadata) {
+ if (chunks == null || chunks.size() < 1) {
return;
}
- metadata.set(property, chunks.get(0).toString());
+ addChunks(chunks.get(0).toString(), property, mustContainEmail, metadata);
+ }
+ public static void addChunks(String chunk, Property property, boolean mustContainEmail,
+ Metadata metadata) {
+ if (chunk == null || chunk.length() == 0) {
+ return;
+ }
+ if (mustContainEmail == MailUtil.containsEmail(chunk)) {
+ metadata.set(property, chunk);
+ }
}
//TODO: replace this with getMessageClassEnum when we upgrade POI
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mail/MailUtilTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mail/MailUtilTest.java
new file mode 100644
index 0000000..2323f56
--- /dev/null
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mail/MailUtilTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tika.parser.mail;
+
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.tika.metadata.Message;
+import org.apache.tika.metadata.Metadata;
+import org.junit.Test;
+
+public class MailUtilTest {
+
+ @Test
+ public void testBasic() throws Exception {
+ String s = "Julien Nioche (JIRA) <ji...@apache.org>";
+ assertExtracted("Julien Nioche (JIRA)", "jira@apache.org", s);
+
+ s = "\"Julien Nioche (JIRA)\" <ji...@apache.org>";
+ assertExtracted("Julien Nioche (JIRA)", "jira@apache.org", s);
+ }
+
+ private void assertExtracted(String person, String email, String string) {
+ Metadata m = new Metadata();
+ MailUtil.setPersonAndEmail(string, Message.MESSAGE_FROM_NAME, Message.MESSAGE_FROM_EMAIL, m);
+ assertEquals(person + " : " + m.get(Message.MESSAGE_FROM_NAME), person,
+ m.get(Message.MESSAGE_FROM_NAME));
+ assertEquals(email + " : " +
+ m.get(Message.MESSAGE_FROM_EMAIL), email, m.get(Message.MESSAGE_FROM_EMAIL));
+ }
+
+
+}
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
index 01b4516..0d7a9d0 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
@@ -51,6 +51,7 @@ import org.apache.tika.extractor.ContainerExtractor;
import org.apache.tika.extractor.EmbeddedDocumentExtractor;
import org.apache.tika.extractor.ParserContainerExtractor;
import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Message;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.metadata.TikaCoreProperties;
import org.apache.tika.mime.MediaType;
@@ -77,7 +78,7 @@ public class RFC822ParserTest extends TikaTest {
}
@Test
- public void testSimple() {
+ public void testSimple() throws Exception {
Parser parser = new RFC822Parser();
Metadata metadata = new Metadata();
InputStream stream = getStream("test-documents/testRFC822");
@@ -107,6 +108,31 @@ public class RFC822ParserTest extends TikaTest {
}
@Test
+ public void testExtendedToFromMetadata() throws Exception {
+ Metadata m = getXML("testRFC822").metadata;
+ assertEquals("Julien Nioche (JIRA)", m.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("jira@apache.org", m.get(Message.MESSAGE_FROM_EMAIL));
+
+ m = getXML("testRFC822-multipart").metadata;
+ assertEquals("DigitalPebble", m.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("julien@digitalpebble.com", m.get(Message.MESSAGE_FROM_EMAIL));
+
+ m = getXML("testRFC822_quoted").metadata;
+ assertEquals("Another Person", m.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("another.person@another-example.com", m.get(Message.MESSAGE_FROM_EMAIL));
+
+ m = getXML("testRFC822_i18nheaders").metadata;
+ assertEquals("Keld J�rn Simonsen", m.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("keld@dkuug.dk", m.get(Message.MESSAGE_FROM_EMAIL));
+
+ //this is currently detected as mbox!!!
+ m = getXML("testEmailWithPNGAtt.eml", new RFC822Parser()).metadata;
+ assertEquals("Tika Test", m.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("XXXX@apache.org", m.get(Message.MESSAGE_FROM_EMAIL));
+
+ }
+
+ @Test
public void testMultipart() {
Parser parser = new RFC822Parser();
Metadata metadata = new Metadata();
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
index 2134808..6c2a296 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
@@ -28,7 +28,9 @@ import java.util.List;
import org.apache.tika.TikaTest;
import org.apache.tika.extractor.EmbeddedDocumentExtractor;
import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor;
+import org.apache.tika.metadata.Message;
import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.Office;
import org.apache.tika.metadata.TikaCoreProperties;
import org.apache.tika.mime.MediaType;
import org.apache.tika.parser.AutoDetectParser;
@@ -106,4 +108,21 @@ public class OutlookPSTParserTest extends TikaTest {
super.parseEmbedded(stream, handler, metadata, outputHtml);
}
}
+
+ @Test
+ public void testExtendedMetadata() throws Exception {
+ List<Metadata> metadataList = getRecursiveMetadata("testPST.pst");
+ Metadata m1 = metadataList.get(1);
+ assertEquals("J�rn Kottmann", m1.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("kottmann@gmail.com", m1.get(Message.MESSAGE_FROM_EMAIL));
+ assertEquals("J�rn Kottmann", m1.get(Office.MAPI_FROM_REPRESENTING_NAME));
+ assertEquals("kottmann@gmail.com", m1.get(Office.MAPI_FROM_REPRESENTING_EMAIL));
+
+ Metadata m6 = metadataList.get(6);
+ assertEquals("Couchbase", m6.get(Message.MESSAGE_FROM_NAME));
+ assertEquals("couchbase@couchbase.com", m6.get(Message.MESSAGE_FROM_EMAIL));
+ assertEquals("Couchbase", m6.get(Office.MAPI_FROM_REPRESENTING_NAME));
+ assertEquals("couchbase@couchbase.com", m6.get(Office.MAPI_FROM_REPRESENTING_EMAIL));
+
+ }
}
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
index 2ea3bd7..11cf820 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java
@@ -198,7 +198,8 @@ public class OutlookParserTest extends TikaTest {
assertEquals("FT GROUP", metadata.get(Office.MAPI_EXCHANGE_FROM_O));
assertEquals("FT", metadata.get(Office.MAPI_EXCHANGE_FROM_OU));
assertEquals("LYDIACHANG", metadata.get(Office.MAPI_EXCHANGE_FROM_CN));
- assertEquals("Tests Chang@FT (\u5f35\u6bd3\u502b)", metadata.get(Office.MAPI_FROM_REPRESENTING_NAME));
+ //this no longer works because we forbid email like contents...do we want to do this?
+ //assertEquals("Tests Chang@FT (\u5f35\u6bd3\u502b)", metadata.get(Office.MAPI_FROM_REPRESENTING_NAME));
assertEquals("FT GROUP", metadata.get(Office.MAPI_EXCHANGE_FROM_REPRESENTING_O));
assertEquals("FT", metadata.get(Office.MAPI_EXCHANGE_FROM_REPRESENTING_OU));
assertEquals("LYDIACHANG", metadata.get(Office.MAPI_EXCHANGE_FROM_REPRESENTING_CN));
--
To stop receiving notification emails like this one, please contact
"commits@tika.apache.org" <co...@tika.apache.org>.