Author: kwright
Date: Thu Feb 28 20:14:03 2013
New Revision: 1451325
URL: http://svn.apache.org/r1451325
Log:
Fix for CONNECTORS-654. Create a central extension-to-mime-type map.
Added:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java
(with props)
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filesystem/FileConnector.java
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
Modified: manifoldcf/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1451325&r1=1451324&r2=1451325&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Thu Feb 28 20:14:03 2013
@@ -3,6 +3,10 @@ $Id$
======================= 1.2-dev =====================
+CONNECTORS-654: Move extension to mimetype mapping to a
+central location.
+(Mark Lugert, Karl Wright)
+
CONNECTORS-653: Include filename in SharePoint connector.
(Mark Lugert, Karl Wright)
Modified:
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filesystem/FileConnector.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filesystem/FileConnector.java?rev=1451325&r1=1451324&r2=1451325&view=diff
==============================================================================
---
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filesystem/FileConnector.java
(original)
+++
manifoldcf/trunk/connectors/filesystem/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/filesystem/FileConnector.java
Thu Feb 28 20:14:03 2013
@@ -22,6 +22,7 @@ import org.apache.manifoldcf.core.interf
import org.apache.manifoldcf.agents.interfaces.*;
import org.apache.manifoldcf.crawler.interfaces.*;
import org.apache.manifoldcf.crawler.system.Logging;
+import org.apache.manifoldcf.core.extmimemap.ExtensionMimeMap;
import java.util.*;
import java.io.*;
@@ -309,19 +310,6 @@ public class FileConnector extends org.a
}
}
- protected final static Map<String,String> mimeMap;
- static {
- mimeMap = new HashMap<String,String>();
- mimeMap.put("txt","text/plain");
- mimeMap.put("pdf","application/pdf");
- mimeMap.put("doc","application/msword");
-
mimeMap.put("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document");
- mimeMap.put("ppt","application/vnd.ms-powerpoint");
-
mimeMap.put("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation");
- mimeMap.put("xls","application/vnd.ms-excel");
-
mimeMap.put("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- }
-
/** Map an extension to a mime type */
protected static String mapExtensionToMimeType(String fileName)
{
@@ -331,7 +319,7 @@ public class FileConnector extends org.a
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex == -1)
return null;
- return
mimeMap.get(fileName.substring(dotIndex+1).toLowerCase(java.util.Locale.ROOT));
+ return
ExtensionMimeMap.mapToMimeType(fileName.substring(dotIndex+1).toLowerCase(java.util.Locale.ROOT));
}
// UI support methods.
Modified:
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java?rev=1451325&r1=1451324&r2=1451325&view=diff
==============================================================================
---
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
(original)
+++
manifoldcf/trunk/connectors/jcifs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharedrive/SharedDriveConnector.java
Thu Feb 28 20:14:03 2013
@@ -61,6 +61,7 @@ import org.apache.manifoldcf.core.interf
import org.apache.manifoldcf.crawler.interfaces.IVersionActivity;
import org.apache.manifoldcf.crawler.system.Logging;
import org.apache.manifoldcf.crawler.system.ManifoldCF;
+import org.apache.manifoldcf.core.extmimemap.ExtensionMimeMap;
/** This is the "repository connector" for a smb/cifs shared drive file
system. It's a relative of the share crawler, and should have
* comparable basic functionality.
@@ -982,19 +983,6 @@ public class SharedDriveConnector extend
}
- protected final static Map<String,String> mimeMap;
- static {
- mimeMap = new HashMap<String,String>();
- mimeMap.put("txt","text/plain");
- mimeMap.put("pdf","application/pdf");
- mimeMap.put("doc","application/msword");
-
mimeMap.put("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document");
- mimeMap.put("ppt","application/vnd.ms-powerpoint");
-
mimeMap.put("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation");
- mimeMap.put("xls","application/vnd.ms-excel");
-
mimeMap.put("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- }
-
/** Map an extension to a mime type */
protected static String mapExtensionToMimeType(String fileName)
{
@@ -1004,7 +992,7 @@ public class SharedDriveConnector extend
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex == -1)
return null;
- return
mimeMap.get(fileName.substring(dotIndex+1).toLowerCase(java.util.Locale.ROOT));
+ return
ExtensionMimeMap.mapToMimeType(fileName.substring(dotIndex+1).toLowerCase(java.util.Locale.ROOT));
}
/** This method calculates an ACL string based on whether there are forced
acls and also based on
Modified:
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java?rev=1451325&r1=1451324&r2=1451325&view=diff
==============================================================================
---
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
(original)
+++
manifoldcf/trunk/connectors/sharepoint/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/sharepoint/SharePointRepository.java
Thu Feb 28 20:14:03 2013
@@ -24,6 +24,7 @@ import org.apache.manifoldcf.crawler.int
import org.apache.manifoldcf.crawler.system.Logging;
import org.apache.manifoldcf.crawler.system.ManifoldCF;
import org.apache.manifoldcf.core.common.*;
+import org.apache.manifoldcf.core.extmimemap.ExtensionMimeMap;
import java.io.*;
import java.util.ArrayList;
@@ -1525,8 +1526,10 @@ public class SharePointRepository extend
data.setFileName(mapToFileName(documentIdentifier));
-
data.setMimeType(mapExtensionToMimeType(documentIdentifier));
-
+ String contentType =
mapExtensionToMimeType(documentIdentifier);
+ if (contentType != null)
+ data.setMimeType(contentType);
+
setDataACLs(data,acls,denyAcl);
setPathAttribute(data,sDesc,documentIdentifier);
@@ -1713,19 +1716,6 @@ public class SharePointRepository extend
}
}
- protected final static Map<String,String> mimeMap;
- static {
- mimeMap = new HashMap<String,String>();
- mimeMap.put("txt","text/plain");
- mimeMap.put("pdf","application/pdf");
- mimeMap.put("doc","application/msword");
-
mimeMap.put("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document");
- mimeMap.put("ppt","application/vnd.ms-powerpoint");
-
mimeMap.put("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation");
- mimeMap.put("xls","application/vnd.ms-excel");
-
mimeMap.put("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- }
-
/** Map an extension to a mime type */
protected static String mapExtensionToMimeType(String fileName)
{
@@ -1735,7 +1725,7 @@ public class SharePointRepository extend
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex == -1)
return null;
- return
mimeMap.get(fileName.substring(dotIndex+1).toLowerCase(java.util.Locale.ROOT));
+ return ExtensionMimeMap.mapToMimeType(fileName.substring(dotIndex+1));
}
/** Map document identifier to file name */
Added:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java?rev=1451325&view=auto
==============================================================================
---
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java
(added)
+++
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java
Thu Feb 28 20:14:03 2013
@@ -0,0 +1,48 @@
+/* $Id$ */
+
+/**
+* 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.manifoldcf.core.extmimemap;
+
+import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
+import java.util.*;
+
+/** Map file extension to a mime type.
+*/
+public class ExtensionMimeMap
+{
+ protected final static Map<String,String> mimeMap;
+ static {
+ mimeMap = new HashMap<String,String>();
+ mimeMap.put("txt","text/plain");
+ mimeMap.put("pdf","application/pdf");
+ mimeMap.put("doc","application/msword");
+
mimeMap.put("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document");
+ mimeMap.put("ppt","application/vnd.ms-powerpoint");
+
mimeMap.put("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation");
+ mimeMap.put("xls","application/vnd.ms-excel");
+
mimeMap.put("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ }
+
+ /** Map extension to mime type */
+ public static String mapToMimeType(String extension)
+ {
+ return mimeMap.get(extension.toLowerCase(java.util.Locale.ROOT));
+ }
+
+}
Propchange:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/extmimemap/ExtensionMimeMap.java
------------------------------------------------------------------------------
svn:keywords = Id