Author: kwright
Date: Thu Nov 26 14:43:38 2015
New Revision: 1716705
URL: http://svn.apache.org/viewvc?rev=1716705&view=rev
Log:
Fix for CONNECTORS-1260.
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java
Modified: manifoldcf/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1716705&r1=1716704&r2=1716705&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Thu Nov 26 14:43:38 2015
@@ -3,6 +3,9 @@ $Id$
======================= 2.3-dev =====================
+CONNECTORS-1260: Fix completely broken email connector.
+(Karl Wright, Julien Massiera)
+
CONNECTORS-1259: Use Travis CI.
(Shinichiro Abe)
Modified:
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java?rev=1716705&r1=1716704&r2=1716705&view=diff
==============================================================================
---
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java
(original)
+++
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConnector.java
Thu Nov 26 14:43:38 2015
@@ -520,14 +520,14 @@ public class EmailConnector extends org.
}
if (msg == null) {
// email was not found
- activities.deleteDocument(id);
+ activities.deleteDocument(documentIdentifier);
continue;
}
if (!activities.checkURLIndexable(msgURL)) {
errorCode = activities.EXCLUDED_URL;
errorDesc = "Excluded because of URL ('"+msgURL+"')";
- activities.noDocument(id, version);
+ activities.noDocument(documentIdentifier, version);
continue;
}
@@ -535,7 +535,7 @@ public class EmailConnector extends org.
if (!activities.checkLengthIndexable(fileLength)) {
errorCode = activities.EXCLUDED_LENGTH;
errorDesc = "Excluded because of length ("+fileLength+")";
- activities.noDocument(id, version);
+ activities.noDocument(documentIdentifier, version);
continue;
}
@@ -543,7 +543,7 @@ public class EmailConnector extends org.
if (!activities.checkDateIndexable(sentDate)) {
errorCode = activities.EXCLUDED_DATE;
errorDesc = "Excluded because of date ("+sentDate+")";
- activities.noDocument(id, version);
+ activities.noDocument(documentIdentifier, version);
continue;
}
@@ -551,7 +551,7 @@ public class EmailConnector extends org.
if (!activities.checkMimeTypeIndexable(mimeType)) {
errorCode = activities.EXCLUDED_DATE;
errorDesc = "Excluded because of mime type ('"+mimeType+"')";
- activities.noDocument(id, version);
+ activities.noDocument(documentIdentifier, version);
continue;
}
@@ -584,18 +584,23 @@ public class EmailConnector extends org.
subject = msg.getSubject();
rd.addField(EmailConfig.EMAIL_SUBJECT, subject);
} else if
(metadata.toLowerCase().equals(EmailConfig.EMAIL_BODY)) {
- Multipart mp = (Multipart) msg.getContent();
- for (int k = 0, n = mp.getCount(); k < n; k++) {
- Part part = mp.getBodyPart(k);
- String disposition = part.getDisposition();
- if ((disposition == null)) {
- MimeBodyPart mbp = (MimeBodyPart) part;
- if (mbp.isMimeType(EmailConfig.MIMETYPE_TEXT_PLAIN)) {
- rd.addField(EmailConfig.EMAIL_BODY,
mbp.getContent().toString());
- } else if (mbp.isMimeType(EmailConfig.MIMETYPE_HTML)) {
- rd.addField(EmailConfig.EMAIL_BODY,
mbp.getContent().toString()); //handle html accordingly. Returns content with
html tags
+ Object o = msg.getContent();
+ if (o instanceof Multipart) {
+ Multipart mp = (Multipart) msg.getContent();
+ for (int k = 0, n = mp.getCount(); k < n; k++) {
+ Part part = mp.getBodyPart(k);
+ String disposition = part.getDisposition();
+ if ((disposition == null)) {
+ MimeBodyPart mbp = (MimeBodyPart) part;
+ if (mbp.isMimeType(EmailConfig.MIMETYPE_TEXT_PLAIN)) {
+ rd.addField(EmailConfig.EMAIL_BODY,
mbp.getContent().toString());
+ } else if (mbp.isMimeType(EmailConfig.MIMETYPE_HTML)) {
+ rd.addField(EmailConfig.EMAIL_BODY,
mbp.getContent().toString()); //handle html accordingly. Returns content with
html tags
+ }
}
}
+ } else if (o instanceof String) {
+ rd.addField(EmailConfig.EMAIL_BODY, (String)o);
}
} else if
(metadata.toLowerCase().equals(EmailConfig.EMAIL_DATE)) {
rd.addField(EmailConfig.EMAIL_DATE, sentDate.toString());
@@ -635,7 +640,7 @@ public class EmailConnector extends org.
InputStream is = msg.getInputStream();
try {
rd.setBinary(is, fileLength);
- activities.ingestDocumentWithException(id, version, msgURL, rd);
+ activities.ingestDocumentWithException(documentIdentifier,
version, msgURL, rd);
errorCode = "OK";
fileLengthLong = new Long(fileLength);
} finally {