Author: mattmann
Date: Mon Mar 9 05:44:32 2009
New Revision: 751590
URL: http://svn.apache.org/viewvc?rev=751590&view=rev
Log:
- fix for TIKA-205
Added:
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
(with props)
Modified:
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReader.java
Modified:
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReader.java
URL:
http://svn.apache.org/viewvc/lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReader.java?rev=751590&r1=751589&r2=751590&view=diff
==============================================================================
--- lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReader.java
(original)
+++ lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReader.java
Mon Mar 9 05:44:32 2009
@@ -89,7 +89,7 @@
* @see http://freedesktop.org/wiki/Standards_2fshared_2dmime_2dinfo_2dspec
*
*/
-final class MimeTypesReader {
+final class MimeTypesReader implements MimeTypesReaderMetKeys {
/** The logger to use */
private Log logger = null;
@@ -129,25 +129,25 @@
void read(Document document) {
Element element = document.getDocumentElement();
- if (element != null && element.getTagName().equals("mime-info")) {
+ if (element != null && element.getTagName().equals(MIME_INFO_TAG)) {
NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element child = (Element) node;
- if (child.getTagName().equals("mime-type")) {
+ if (child.getTagName().equals(MIME_TYPE_TAG)) {
readMimeType(child);
}
}
}
} else {
- logger.warn("Not a <mime-info/> configuration document");
+ logger.warn("Not a <"+MIME_INFO_TAG+"/> configuration document");
}
}
/** Read Element named mime-type. */
private void readMimeType(Element element) {
- String name = element.getAttribute("type");
+ String name = element.getAttribute(MIME_TYPE_TYPE_ATTR);
try {
MimeType type = types.forName(name);
@@ -156,25 +156,25 @@
Node node = nodes.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element nodeElement = (Element) node;
- if (nodeElement.getTagName().equals("_comment")) {
+ if (nodeElement.getTagName().equals(COMMENT_TAG)) {
type.setDescription(
nodeElement.getFirstChild().getNodeValue());
- } else if (nodeElement.getTagName().equals("glob")) {
- boolean useRegex =
Boolean.valueOf(nodeElement.getAttribute("isregex"));
- types.addPattern(type,
nodeElement.getAttribute("pattern"), useRegex);
- } else if (nodeElement.getTagName().equals("magic")) {
+ } else if (nodeElement.getTagName().equals(GLOB_TAG)) {
+ boolean useRegex =
Boolean.valueOf(nodeElement.getAttribute(ISREGEX_ATTR));
+ types.addPattern(type,
nodeElement.getAttribute(PATTERN_ATTR), useRegex);
+ } else if (nodeElement.getTagName().equals(MAGIC_TAG)) {
readMagic(nodeElement, type);
- } else if (nodeElement.getTagName().equals("alias")) {
- String alias = nodeElement.getAttribute("type");
+ } else if (nodeElement.getTagName().equals(ALIAS_TAG)) {
+ String alias =
nodeElement.getAttribute(ALIAS_TYPE_ATTR);
try {
type.addAlias(alias);
} catch (MimeTypeException e) {
logger.warn("Invalid media type alias: " + alias,
e);
}
- } else if (nodeElement.getTagName().equals("root-XML")) {
+ } else if (nodeElement.getTagName().equals(ROOT_XML_TAG)) {
readRootXML(nodeElement, type);
- } else if
(nodeElement.getTagName().equals("sub-class-of")) {
- String parent = nodeElement.getAttribute("type");
+ } else if
(nodeElement.getTagName().equals(SUB_CLASS_OF_TAG)) {
+ String parent =
nodeElement.getAttribute(SUB_CLASS_TYPE_ATTR);
try {
type.setSuperType(types.forName(parent));
} catch (MimeTypeException e) {
@@ -195,7 +195,7 @@
Magic magic = null;
try {
magic = new Magic(Integer
- .parseInt(element.getAttribute("priority")));
+ .parseInt(element.getAttribute(MAGIC_PRIORITY_ATTR)));
} catch (Exception e) {
magic = new Magic();
}
@@ -213,7 +213,7 @@
Node node = nodes.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element nodeElement = (Element) node;
- if (nodeElement.getTagName().equals("match")) {
+ if (nodeElement.getTagName().equals(MATCH_TAG)) {
sub = readMatches(nodeElement);
try {
if (sub != null) {
@@ -245,13 +245,13 @@
NamedNodeMap attrs = element.getAttributes();
for (int i = 0; i < attrs.getLength(); i++) {
Attr attr = (Attr) attrs.item(i);
- if (attr.getName().equals("offset")) {
+ if (attr.getName().equals(MATCH_OFFSET_ATTR)) {
offset = attr.getValue();
- } else if (attr.getName().equals("type")) {
+ } else if (attr.getName().equals(MATCH_TYPE_ATTR)) {
type = attr.getValue();
- } else if (attr.getName().equals("value")) {
+ } else if (attr.getName().equals(MATCH_VALUE_ATTR)) {
value = attr.getValue();
- } else if (attr.getName().equals("mask")) {
+ } else if (attr.getName().equals(MATCH_MASK_ATTR)) {
mask = attr.getValue();
}
}
@@ -276,8 +276,8 @@
/** Read Element named root-XML. */
private void readRootXML(Element element, MimeType mimeType) {
- mimeType.addRootXML(element.getAttribute("namespaceURI"), element
- .getAttribute("localName"));
+ mimeType.addRootXML(element.getAttribute(NS_URI_ATTR), element
+ .getAttribute(LOCAL_NAME_ATTR));
}
}
Added:
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
URL:
http://svn.apache.org/viewvc/lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java?rev=751590&view=auto
==============================================================================
---
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
(added)
+++
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
Mon Mar 9 05:44:32 2009
@@ -0,0 +1,68 @@
+/**
+ * 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.tika.mime;
+
+/**
+ *
+ * Met Keys used by the {...@link MimeTypesReader}.
+ */
+public interface MimeTypesReaderMetKeys {
+
+ public static final String MIME_INFO_TAG = "mime-info";
+
+ public static final String MIME_TYPE_TAG = "mime-type";
+
+ public static final String MIME_TYPE_TYPE_ATTR = "type";
+
+ public static final String COMMENT_TAG = "_comment";
+
+ public static final String GLOB_TAG = "glob";
+
+ public static final String ISREGEX_ATTR = "isregex";
+
+ public static final String PATTERN_ATTR = "pattern";
+
+ public static final String MAGIC_TAG = "magic";
+
+ public static final String ALIAS_TAG = "alias";
+
+ public static final String ALIAS_TYPE_ATTR = "type";
+
+ public static final String ROOT_XML_TAG = "root-XML";
+
+ public static final String SUB_CLASS_OF_TAG = "sub-class-of";
+
+ public static final String SUB_CLASS_TYPE_ATTR = "type";
+
+ public static final String MAGIC_PRIORITY_ATTR = "priority";
+
+ public static final String MATCH_TAG = "match";
+
+ public static final String MATCH_OFFSET_ATTR = "offset";
+
+ public static final String MATCH_TYPE_ATTR = "type";
+
+ public static final String MATCH_VALUE_ATTR = "value";
+
+ public static final String MATCH_MASK_ATTR = "mask";
+
+ public static final String NS_URI_ATTR = "namespaceURI";
+
+ public static final String LOCAL_NAME_ATTR = "localName";
+
+}
Propchange:
lucene/tika/trunk/src/main/java/org/apache/tika/mime/MimeTypesReaderMetKeys.java
------------------------------------------------------------------------------
svn:eol-style = native