Author: kwright
Date: Wed Apr 12 21:11:24 2017
New Revision: 1791187
URL: http://svn.apache.org/viewvc?rev=1791187&view=rev
Log:
Fix for CONNECTORS-1402.
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=1791187&r1=1791186&r2=1791187&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Wed Apr 12 21:11:24 2017
@@ -3,6 +3,9 @@ $Id$
======================= 2.7-dev =====================
+CONNECTORS-1402: Add metadata information for email attachments.
+(Furkan KAMACI)
+
CONNECTORS-1401: Fix Documentum Authority query to exclude
access tokens that have matching negative groups or users.
(Sharnel Merdeck Pereira, Karl Wright)
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=1791187&r1=1791186&r2=1791187&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
Wed Apr 12 21:11:24 2017
@@ -263,8 +263,8 @@ public class EmailConnector extends org.
* The connector will be connected before this method can be called.
*@param activities is the interface this method should use to perform
whatever framework actions are desired.
*@param spec is a document specification (that comes from the job).
+ *@param lastSeedVersion is the last seeding version string for this job, or
null if the job has no previous seeding version string.
*@param seedTime is the end of the time range of documents to consider,
exclusive.
- *@param lastSeedVersionString is the last seeding version string for this
job, or null if the job has no previous seeding version string.
*@param jobMode is an integer describing how the job is being run, whether
continuous or once-only.
*@return an updated seeding version string, to be stored with the job.
*/
@@ -584,7 +584,6 @@ public class EmailConnector extends org.
rd.setCreatedDate(sentDate);
rd.setModifiedDate(sentDate);
- String subject = StringUtils.EMPTY;
for (String metadata : requiredMetadata) {
if
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_TO)) {
Address[] to = msg.getRecipients(Message.RecipientType.TO);
@@ -604,7 +603,7 @@ public class EmailConnector extends org.
rd.addField(EmailConfig.EMAIL_FROM, fromStr);
} else if
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_SUBJECT)) {
- subject = msg.getSubject();
+ String subject = msg.getSubject();
rd.addField(EmailConfig.EMAIL_SUBJECT, subject);
} else if
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_BODY)) {
Object o = msg.getContent();
@@ -823,6 +822,29 @@ public class EmailConnector extends org.
rd.setCreatedDate(sentDate);
rd.setModifiedDate(sentDate);
+ for (String metadata : requiredMetadata) {
+ if
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_TO)) {
+ Address[] to = msg.getRecipients(Message.RecipientType.TO);
+ String[] toStr = new String[to.length];
+ int j = 0;
+ for (Address address : to) {
+ toStr[j] = address.toString();
+ }
+ rd.addField(EmailConfig.EMAIL_TO, toStr);
+ } else if
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_FROM)) {
+ Address[] from = msg.getFrom();
+ String[] fromStr = new String[from.length];
+ int j = 0;
+ for (Address address : from) {
+ fromStr[j] = address.toString();
+ }
+ rd.addField(EmailConfig.EMAIL_FROM, fromStr);
+
+ } else if
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_DATE)) {
+ rd.addField(EmailConfig.EMAIL_DATE, sentDate.toString());
+ }
+ }
+
final InputStream is = part.getInputStream();
try {
rd.setBinary(is, fileLength);