You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ma...@apache.org on 2007/09/24 19:12:51 UTC

svn commit: r578881 - in /incubator/tika/trunk/src: main/java/org/apache/tika/config/ main/java/org/apache/tika/mime/ main/java/org/apache/tika/utils/ main/resources/ test/java/org/apache/tika/mime/

Author: mattmann
Date: Mon Sep 24 10:12:50 2007
New Revision: 578881

URL: http://svn.apache.org/viewvc?rev=578881&view=rev
Log:
- remove Hadoop/Nutch Configuration and Configurable interfaces
- wire together MimeUtils and tika config.xml file
- wire together MimeUtils and TikaConfig

Removed:
    incubator/tika/trunk/src/main/java/org/apache/tika/utils/Configurable.java
    incubator/tika/trunk/src/main/java/org/apache/tika/utils/Configuration.java
Modified:
    incubator/tika/trunk/src/main/java/org/apache/tika/config/TikaConfig.java
    incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeUtils.java
    incubator/tika/trunk/src/main/java/org/apache/tika/utils/ParseUtils.java
    incubator/tika/trunk/src/main/resources/config.xml
    incubator/tika/trunk/src/test/java/org/apache/tika/mime/TestMimeUtils.java

Modified: incubator/tika/trunk/src/main/java/org/apache/tika/config/TikaConfig.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/config/TikaConfig.java?rev=578881&r1=578880&r2=578881&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/config/TikaConfig.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/config/TikaConfig.java Mon Sep 24 10:12:50 2007
@@ -16,11 +16,17 @@
  */
 package org.apache.tika.config;
 
+//JDK imports
 import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
+//TIKA imports
+import org.apache.tika.mime.MimeTypes;
+import org.apache.tika.mime.MimeUtils;
+
+//JDOM imports
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.JDOMException;
@@ -34,9 +40,14 @@
 
     private final Map<String, ParserConfig> configs =
         new HashMap<String, ParserConfig>();
+    
+    private static MimeUtils mimeTypeRepo;
 
     public TikaConfig(String file) throws JDOMException, IOException {
         Document document = new SAXBuilder().build(new File(file));
+        String mimeTypeRepoResource = document.getRootElement().getChild("mimeTypeRepository").getAttributeValue("resource");
+        boolean magic = Boolean.valueOf(document.getRootElement().getChild("mimeTypeRepository").getAttributeValue("magic"));
+        mimeTypeRepo = new MimeUtils(mimeTypeRepoResource, magic);
         for (Object element : XPath.selectNodes(document, "//parser")) {
             ParserConfig pc = new ParserConfig((Element) element);
             for (Object child : ((Element) element).getChildren("mime")) {
@@ -47,6 +58,10 @@
 
     public ParserConfig getParserConfig(String mimeType) {
         return configs.get(mimeType);
+    }
+    
+    public MimeTypes getMimeRepository(){
+        return mimeTypeRepo.getRepository();
     }
 
 }

Modified: incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeUtils.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeUtils.java?rev=578881&r1=578880&r2=578881&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeUtils.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeUtils.java Mon Sep 24 10:12:50 2007
@@ -25,15 +25,13 @@
 import org.xml.sax.InputSource;
 
 // Tika imports
-import org.apache.tika.utils.Configurable;
-import org.apache.tika.utils.Configuration;
 import org.apache.tika.metadata.TikaMimeKeys;
 
 /**
  * 
  * Wrapper external interface around a {@link MimeTypes} repository.
  */
-public class MimeUtils implements Configurable, TikaMimeKeys {
+public class MimeUtils implements TikaMimeKeys {
 
     /** My logger */
     private final static Logger LOG = Logger.getLogger(MimeUtils.class
@@ -42,9 +40,6 @@
     /** The key used to cache the mime repository in conf */
     private final static String KEY = MimeUtils.class.getName();
 
-    /** My current configuration */
-    private Configuration conf = null;
-
     /** A flag that tells if magic resolution must be performed */
     private boolean magic = true;
 
@@ -52,33 +47,13 @@
     private MimeTypes repository = null;
 
     /** Creates a new instance of MimeUtils */
-    public MimeUtils(Configuration conf) {
-        setConf(conf);
-    }
-
-    /***************************************************************************
-     * ----------------------------- <implementation:Configurable> *
-     * -----------------------------
-     */
-
-    public void setConf(Configuration conf) {
-        this.conf = conf;
-        this.magic = conf.getBoolean(MIME_TYPE_MAGIC, true);
-        this.repository = (MimeTypes) conf.getObject(KEY);
-        if (repository == null) {
-            repository = load(conf.get(TIKA_MIME_FILE));
-            conf.setObject(KEY, repository);
+    public MimeUtils(String resPath, boolean magic) {
+        this.magic = magic;
+        if(repository == null){
+            repository = load(resPath);
         }
     }
 
-    public Configuration getConf() {
-        return this.conf;
-    }
-
-    /***************************************************************************
-     * ----------------------------- </implementation:Configurable> *
-     * -----------------------------
-     */
 
     public final MimeTypes getRepository() {
         return repository;

Modified: incubator/tika/trunk/src/main/java/org/apache/tika/utils/ParseUtils.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/utils/ParseUtils.java?rev=578881&r1=578880&r2=578881&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/utils/ParseUtils.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/utils/ParseUtils.java Mon Sep 24 10:12:50 2007
@@ -27,7 +27,6 @@
 import org.apache.tika.config.TikaConfig;
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.metadata.TikaMimeKeys;
-import org.apache.tika.mime.MimeUtils;
 import org.apache.tika.parser.Parser;
 import org.apache.tika.parser.ParserFactory;
 
@@ -37,14 +36,6 @@
  */
 public class ParseUtils implements TikaMimeKeys {
 
-    private static final Configuration conf = new Configuration();
-
-    static {
-        conf.set(TIKA_MIME_FILE, "org/apache/tika/mime/tika-mimetypes.xml");
-    }
-
-    private static final MimeUtils mimeUtils = new MimeUtils(conf);
-
     /**
      * Returns a parser that can handle the specified MIME type, and is set to
      * receive input from a stream opened from the specified URL. NB: Close the
@@ -117,7 +108,7 @@
     public static Parser getParser(URL documentUrl, TikaConfig config)
             throws TikaException, IOException {
 
-        String mimetype = mimeUtils.getRepository().getMimeType(documentUrl)
+        String mimetype = config.getMimeRepository().getMimeType(documentUrl)
                 .getName();
         return getParser(documentUrl, config, mimetype);
     }
@@ -172,7 +163,7 @@
     public static Parser getParser(File documentFile, TikaConfig config)
             throws TikaException, IOException {
 
-        String mimetype = mimeUtils.getRepository().getMimeType(documentFile)
+        String mimetype = config.getMimeRepository().getMimeType(documentFile)
                 .getName();
         return getParser(documentFile, config, mimetype);
     }

Modified: incubator/tika/trunk/src/main/resources/config.xml
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/resources/config.xml?rev=578881&r1=578880&r2=578881&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/resources/config.xml (original)
+++ incubator/tika/trunk/src/main/resources/config.xml Mon Sep 24 10:12:50 2007
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <properties>
+    <mimeTypeRepository resource="org/apache/tika/mime/tika-mimetypes.xml" magic="false"/>
     <parsers>
         <parser name="text-xml" class="org.apache.tika.parser.xml.XMLParser">
                 <namespace>http://purl.org/dc/elements/1.1/</namespace>

Modified: incubator/tika/trunk/src/test/java/org/apache/tika/mime/TestMimeUtils.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/test/java/org/apache/tika/mime/TestMimeUtils.java?rev=578881&r1=578880&r2=578881&view=diff
==============================================================================
--- incubator/tika/trunk/src/test/java/org/apache/tika/mime/TestMimeUtils.java (original)
+++ incubator/tika/trunk/src/test/java/org/apache/tika/mime/TestMimeUtils.java Mon Sep 24 10:12:50 2007
@@ -24,7 +24,6 @@
 
 //Tika imports
 import org.apache.tika.metadata.TikaMimeKeys;
-import org.apache.tika.utils.Configuration;
 
 //Junit imports
 import junit.framework.TestCase;
@@ -37,8 +36,8 @@
 public class TestMimeUtils extends TestCase implements TikaMimeKeys {
 
     private static final String tikaMimeFile = "org/apache/tika/mime/tika-mimetypes.xml";
-
-    private Configuration conf;
+    
+    private static final boolean magic = false;
 
     private static URL u;
 
@@ -55,9 +54,7 @@
     private MimeUtils utils;
 
     public TestMimeUtils() {
-        Configuration conf = new Configuration();
-        conf.set(TIKA_MIME_FILE, tikaMimeFile);
-        utils = new MimeUtils(conf);
+        utils = new MimeUtils(tikaMimeFile, magic);
         assertNotNull(utils);
     }