Author: kamaci
Date: Thu Apr 13 12:28:24 2017
New Revision: 1791239

URL: http://svn.apache.org/viewvc?rev=1791239&view=rev
Log:
Fix for CONNECTORS-1405

Modified:
    manifoldcf/trunk/CHANGES.txt
    
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java
    
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=1791239&r1=1791238&r2=1791239&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Thu Apr 13 12:28:24 2017
@@ -3,6 +3,9 @@ $Id$
 
 ======================= 2.7-dev =====================
 
+CONNECTORS-1405: Add filename metadata information for email.
+(Furkan KAMACI)
+
 CONNECTORS-1402: Add metadata information for email attachments.
 (Furkan KAMACI)
 

Modified: 
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java
URL: 
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java?rev=1791239&r1=1791238&r2=1791239&view=diff
==============================================================================
--- 
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java
 (original)
+++ 
manifoldcf/trunk/connectors/email/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/email/EmailConfig.java
 Thu Apr 13 12:28:24 2017
@@ -76,7 +76,8 @@ public class EmailConfig {
   
   public static final String PROTOCOL_DEFAULT_VALUE = "IMAP";
   public static final String PORT_DEFAULT_VALUE = "";
-  public static final String[] BASIC_METADATA = 
{"To","From","Subject","Body","Date","Encoding of Attachment","MIME type of 
attachment"};
+  public static final String[] BASIC_METADATA = 
{"To","From","Subject","Body","Date","Encoding of Attachment",
+      "MIME Type of attachment", "File Name of Attachment"};
   public static final String[] BASIC_SEARCHABLE_ATTRIBUTES = 
{"To","From","Subject","Body","Start Date", "End Date"};
 
   // Specification nodes
@@ -98,6 +99,7 @@ public class EmailConfig {
   public static final String EMAIL_DATE = "date";
   public static final String EMAIL_ATTACHMENT_ENCODING = "encoding of 
attachment";
   public static final String EMAIL_ATTACHMENT_MIMETYPE = "mime type of 
attachment";
+  public static final String EMAIL_ATTACHMENT_FILENAME = "file name of 
attachment";
   public static final String EMAIL_VERSION = "1.0";
 
   // Date field names for filtering
@@ -114,6 +116,7 @@ public class EmailConfig {
   
   public static final String ENCODING_FIELD = "encoding";
   public static final String MIMETYPE_FIELD = "mimetype";
+  public static final String FILENAME_FIELD = "filename";
   //public static final String TO = "To";
   
   // Activity names

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=1791239&r1=1791238&r2=1791239&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 Apr 13 12:28:24 2017
@@ -672,6 +672,26 @@ public class EmailConnector extends org.
                       rd.addField(EmailConfig.MIMETYPE_FIELD, "");
                     }
                   }
+                } else if 
(metadata.toLowerCase(Locale.ROOT).equals(EmailConfig.EMAIL_ATTACHMENT_FILENAME))
 {
+                  Object o = msg.getContent();
+                  if (o != null) {
+                    if (o instanceof Multipart) {
+                      Multipart mp = (Multipart) o;
+                      String[] fileNames = new String[mp.getCount()];
+                      for (int k = 0, n = mp.getCount(); k < n; k++) {
+                        Part part = mp.getBodyPart(k);
+                        String disposition = part.getDisposition();
+                        if ((disposition != null) &&
+                            
((disposition.toLowerCase(Locale.ROOT).equals(Part.ATTACHMENT) ||
+                                
(disposition.toLowerCase(Locale.ROOT).equals(Part.INLINE))))) {
+                          fileNames[k] = part.getFileName();
+                        }
+                      }
+                      rd.addField(EmailConfig.FILENAME_FIELD, fileNames);
+                    } else if (o instanceof String) {
+                      rd.addField(EmailConfig.FILENAME_FIELD, "");
+                    }
+                  }
                 }
               }
                   


Reply via email to