You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2010/12/30 06:45:25 UTC

svn commit: r1053799 [1/3] - in /oodt/trunk: ./ filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/ filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/examples/ filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/ f...

Author: mattmann
Date: Thu Dec 30 05:45:24 2010
New Revision: 1053799

URL: http://svn.apache.org/viewvc?rev=1053799&view=rev
Log:
- fix for OODT-58 update file manager to use Tika for mime-type detection

Added:
    oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/metadata/extractors/examples/
    oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/metadata/extractors/examples/TestMimeTypeExtractor.java   (with props)
    oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/structs/TestReference.java   (with props)
Removed:
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/mime/
Modified:
    oodt/trunk/CHANGES.txt
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/examples/MimeTypeExtractor.java
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/Reference.java
    oodt/trunk/filemgr/src/main/resources/mime-types.xml

Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1053799&r1=1053798&r2=1053799&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Thu Dec 30 05:45:24 2010
@@ -4,6 +4,8 @@ Apache OODT Change Log
 Release 0.2 (Current Development)
 --------------------------------------------
 
+* OODT-58 update file manager to use Tika for mime-type detection (mattmann)
+
 * OODT-106 Logging properties for OPeNDAP ps doesn't include required .level suffix (mattmann)
 
 * OODT-105 Fix GeospatialCoverage in OPeNDAP ps (mattmann)

Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java?rev=1053799&r1=1053798&r2=1053799&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java Thu Dec 30 05:45:24 2010
@@ -25,9 +25,11 @@ import org.apache.oodt.cas.filemgr.struc
 import org.apache.oodt.cas.filemgr.structs.Reference;
 import org.apache.oodt.cas.filemgr.structs.exceptions.DataTransferException;
 import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
-import org.apache.oodt.cas.filemgr.structs.mime.MimeTypes;
 import org.apache.oodt.cas.filemgr.versioning.VersioningUtils;
 import org.apache.oodt.cas.filemgr.system.XmlRpcFileManagerClient;
+import org.apache.tika.mime.MimeTypeException;
+import org.apache.tika.mime.MimeTypes;
+import org.apache.tika.mime.MimeTypesFactory;
 
 //JDK imports
 import java.io.IOException;
@@ -129,9 +131,14 @@ public class LocalDataTransferer impleme
             IOException, URISyntaxException {
         String usage = "LocalFileTransfer --productName <name> --productRepo <repo> [--dir <dirRef>] [--files <origRef 1>...<origRef N>]\n";
 
-        MimeTypes mimeTypeRepo = MimeTypes
-                .buildRepository(System
-                        .getProperty("org.apache.oodt.cas.filemgr.mime.type.repository"));
+        MimeTypes mimeTypeRepo;
+        try {
+          mimeTypeRepo = MimeTypesFactory.create(System
+                          .getProperty("org.apache.oodt.cas.filemgr.mime.type.repository"));
+        } catch (MimeTypeException e) {
+          e.printStackTrace();
+          throw new IOException(e.getMessage());
+        }
 
         String productName = null;
         String productRepo = null;

Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/examples/MimeTypeExtractor.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/examples/MimeTypeExtractor.java?rev=1053799&r1=1053798&r2=1053799&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/examples/MimeTypeExtractor.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/extractors/examples/MimeTypeExtractor.java Thu Dec 30 05:45:24 2010
@@ -67,9 +67,9 @@ public class MimeTypeExtractor extends A
 
             extractMet.addMetadata(MIME_TYPE, prodRef.getMimeType().getName());
             extractMet.addMetadata(MIME_TYPE, prodRef.getMimeType()
-                    .getPrimaryType());
+                    .getType().getType());
             extractMet.addMetadata(MIME_TYPE, prodRef.getMimeType()
-                    .getSubType());
+                    .getType().getSubtype());
         }
 
         return extractMet;

Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/Reference.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/Reference.java?rev=1053799&r1=1053798&r2=1053799&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/Reference.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/Reference.java Thu Dec 30 05:45:24 2010
@@ -18,13 +18,17 @@
 package org.apache.oodt.cas.filemgr.structs;
 
 //JDK imports
+import java.io.File;
+import java.io.FileInputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 
 //OODT imports
-import org.apache.oodt.cas.filemgr.structs.mime.MimeType;
-import org.apache.oodt.cas.filemgr.structs.mime.MimeTypes;
 import org.apache.oodt.cas.metadata.util.PathUtils;
+import org.apache.tika.mime.MimeType;
+import org.apache.tika.mime.MimeTypeException;
+import org.apache.tika.mime.MimeTypes;
+import org.apache.tika.mime.MimeTypesFactory;
 
 /**
  * @author mattmann
@@ -55,10 +59,15 @@ public class Reference {
 
     /* the static reference to the Mime-Type repository */
     static {
-        mimeTypeRepository = MimeTypes.buildRepository(PathUtils
-                .replaceEnvVariables(System.getProperty(
-                        "org.apache.oodt.cas.filemgr.mime.type.repository",
-                        "mime-types.xml")));
+        try {
+          mimeTypeRepository = MimeTypesFactory.create(new FileInputStream(new File(PathUtils
+                  .replaceEnvVariables(System.getProperty(
+                          "org.apache.oodt.cas.filemgr.mime.type.repository",
+                          "mime-types.xml")))));
+        } catch (Exception e){
+          e.printStackTrace();
+          throw new RuntimeException("Cannot instantiate MIME repository! Message: "+e.getMessage());
+        }
     }
 
     /**
@@ -200,7 +209,11 @@ public class Reference {
      *            the String name of the mimetype of this reference
      */
     public void setMimeType(String name) {
-        this.mimeType = mimeTypeRepository.forName(name);
+        try {
+          this.mimeType = mimeTypeRepository.forName(name);
+        } catch (MimeTypeException e) {
+           e.printStackTrace();
+        }
     }
 
     /*