You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2007/11/03 16:44:34 UTC
svn commit: r591637 - in
/incubator/tika/trunk/src/main/java/org/apache/tika/mime: Magic.java
MimeType.java MimeTypes.java
Author: jukka
Date: Sat Nov 3 08:44:33 2007
New Revision: 591637
URL: http://svn.apache.org/viewvc?rev=591637&view=rev
Log:
TIKA-87 - MimeTypes should allow modification of MIME types
- Made Magic Comparable
Modified:
incubator/tika/trunk/src/main/java/org/apache/tika/mime/Magic.java
incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeType.java
incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypes.java
Modified: incubator/tika/trunk/src/main/java/org/apache/tika/mime/Magic.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/mime/Magic.java?rev=591637&r1=591636&r2=591637&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/mime/Magic.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/mime/Magic.java Sat Nov 3 08:44:33 2007
@@ -22,7 +22,7 @@
*
*
*/
-class Magic implements Clause {
+class Magic implements Clause, Comparable<Magic> {
private MimeType type = null;
@@ -67,4 +67,13 @@
buf.append("[").append(priority).append("/").append(clause).append("]");
return buf.toString();
}
+
+ public int compareTo(Magic o) {
+ int diff = priority - o.priority;
+ if (diff == 0) {
+ diff = size() - o.size();
+ }
+ return diff;
+ }
+
}
Modified: incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeType.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeType.java?rev=591637&r1=591636&r2=591637&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeType.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeType.java Sat Nov 3 08:44:33 2007
@@ -354,7 +354,6 @@
return;
}
magics.add(magic);
- Collections.sort(magics, MimeTypes.MAGICS_COMPARATOR);
}
int getMinLength() {
Modified: incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypes.java
URL: http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypes.java?rev=591637&r1=591636&r2=591637&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypes.java (original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypes.java Sat Nov 3 08:44:33 2007
@@ -25,8 +25,6 @@
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -57,7 +55,7 @@
private Patterns patterns = new Patterns();
/** List of all registered magics */
- private ArrayList<Magic> magics = new ArrayList<Magic>();
+ private SortedSet<Magic> magics = new TreeSet<Magic>();
/** List of all registered rootXML */
private SortedSet<MimeType> xmls = new TreeSet<MimeType>();
@@ -65,21 +63,6 @@
private Map<String, List<MimeType>> unsolvedDeps =
new HashMap<String, List<MimeType>>();
- /**
- * A comparator used to sort the mime types based on their magics (it is
- * sorted first on the magic's priority, then on the magic's size).
- */
- final static Comparator<Magic> MAGICS_COMPARATOR = new Comparator<Magic>() {
- public int compare(Magic m1, Magic m2) {
- int p1 = m1.getPriority();
- int p2 = m2.getPriority();
- if (p1 != p2) {
- return p2 - p1;
- }
- return m2.size() - m1.size();
- }
- };
-
/** The minimum length of data to provide to check all MimeTypes */
private int minLength = 0;
@@ -374,7 +357,6 @@
if (type.hasMagic()) {
magics.addAll(Arrays.asList(type.getMagics()));
}
- Collections.sort(magics, MAGICS_COMPARATOR);
// Update the xml (xmlRoot) index...
if (type.hasRootXML()) {