You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2012/03/29 00:02:25 UTC
svn commit: r1306618 - in /oodt/trunk/crawler/src:
main/java/org/apache/oodt/cas/crawl/
main/java/org/apache/oodt/cas/crawl/typedetection/ main/resources/examples/
test/org/apache/oodt/cas/crawl/typedetection/
Author: bfoster
Date: Wed Mar 28 22:02:24 2012
New Revision: 1306618
URL: http://svn.apache.org/viewvc?rev=1306618&view=rev
Log:
- Switched MimeExtractorRepo to store NamingConvention Bean Ids instead of actual class... this is so that MetExtractorProductCrawler and AutoDetectProductCrawler can use the same NamingConventions (both referencing them from predefined Beans)
-------------
OODT-426
Modified:
oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java
oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorConfigReader.java
oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorRepo.java
oodt/trunk/crawler/src/main/resources/examples/mime-extractor-map.xml
oodt/trunk/crawler/src/test/org/apache/oodt/cas/crawl/typedetection/TestMimeExtractorConfigReader.java
Modified: oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java
URL: http://svn.apache.org/viewvc/oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java?rev=1306618&r1=1306617&r2=1306618&view=diff
==============================================================================
--- oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java (original)
+++ oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/AutoDetectProductCrawler.java Wed Mar 28 22:02:24 2012
@@ -121,9 +121,11 @@ public class AutoDetectProductCrawler ex
@Override
protected File renameProduct(File product, Metadata productMetadata)
throws Exception {
- NamingConvention namingConvention = mimeExtractorRepo
- .getNamingConvention(mimeExtractorRepo.getMimeType(product));
- if (namingConvention != null) {
+ String namingConventionId = mimeExtractorRepo
+ .getNamingConventionId(mimeExtractorRepo.getMimeType(product));
+ if (namingConventionId != null) {
+ NamingConvention namingConvention = (NamingConvention) getApplicationContext()
+ .getBean(namingConventionId);
return namingConvention.rename(product, productMetadata);
} else {
return product;
Modified: oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorConfigReader.java
URL: http://svn.apache.org/viewvc/oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorConfigReader.java?rev=1306618&r1=1306617&r2=1306618&view=diff
==============================================================================
--- oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorConfigReader.java (original)
+++ oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorConfigReader.java Wed Mar 28 22:02:24 2012
@@ -89,8 +89,8 @@ public final class MimeExtractorConfigRe
}
extractorRepo
.setDefaultMetExtractorSpecs(defaultExtractorSpecs);
- extractorRepo.setDefaultNamingConvention(
- getNamingConvention(defaultExtractorElem));
+ extractorRepo.setDefaultNamingConventionId(
+ getNamingConventionId(defaultExtractorElem));
}
NodeList mimeElems = root.getElementsByTagName(MIME_TAG);
@@ -100,8 +100,8 @@ public final class MimeExtractorConfigRe
LinkedList<MetExtractorSpec> specs = new LinkedList<MetExtractorSpec>();
// Load naming convention class.
- extractorRepo.setNamingConvention(mimeType,
- getNamingConvention(mimeElem));
+ extractorRepo.setNamingConventionId(mimeType,
+ getNamingConventionId(mimeElem));
NodeList extractorSpecElems = mimeElem
.getElementsByTagName(EXTRACTOR_TAG);
@@ -145,8 +145,7 @@ public final class MimeExtractorConfigRe
}
}
- private static NamingConvention getNamingConvention(Element parent)
- throws Exception {
+ private static String getNamingConventionId(Element parent) throws Exception {
NodeList namingConventions = parent
.getElementsByTagName(NAMING_CONVENTION_TAG);
if (namingConventions != null && namingConventions.getLength() > 0) {
@@ -155,8 +154,7 @@ public final class MimeExtractorConfigRe
+ NAMING_CONVENTION_TAG + "' tag per mimetype");
}
Element namingConvention = (Element) namingConventions.item(0);
- return (NamingConvention) Class.forName(
- namingConvention.getAttribute(CLASS_ATTR)).newInstance();
+ return namingConvention.getAttribute(ID_ATTR);
}
return null;
}
Modified: oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorRepo.java
URL: http://svn.apache.org/viewvc/oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorRepo.java?rev=1306618&r1=1306617&r2=1306618&view=diff
==============================================================================
--- oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorRepo.java (original)
+++ oodt/trunk/crawler/src/main/java/org/apache/oodt/cas/crawl/typedetection/MimeExtractorRepo.java Wed Mar 28 22:02:24 2012
@@ -27,7 +27,6 @@ import java.util.Map;
import java.util.Vector;
//OODT imports
-import org.apache.oodt.cas.metadata.filenaming.NamingConvention;
import org.apache.oodt.cas.metadata.util.MimeTypeUtils;
//Google imports
@@ -42,11 +41,11 @@ import com.google.common.collect.Maps;
public class MimeExtractorRepo {
private List<MetExtractorSpec> defaultExtractorSpecs;
- private NamingConvention defaultNamingConvention;
+ private String defaultNamingConventionId;
private MimeTypeUtils mimeRepo;
private boolean magic;
private Map<String, List<MetExtractorSpec>> mimeTypeToMetExtractorSpecsMap;
- private Map<String, NamingConvention> mimeTypeToNamingConventionMap;
+ private Map<String, String> mimeTypeToNamingConventionIdMap;
/**
* Default Constructor
@@ -74,28 +73,28 @@ public class MimeExtractorRepo {
* @throws FileNotFoundException
*/
public MimeExtractorRepo(List<MetExtractorSpec> defaultExtractorSpecs,
- NamingConvention defaultNamingConvention, String mimeRepoFile,
+ String defaultNamingConventionId, String mimeRepoFile,
boolean magic) throws FileNotFoundException {
setDefaultMetExtractorSpecs(defaultExtractorSpecs);
- setDefaultNamingConvention(defaultNamingConvention);
+ setDefaultNamingConventionId(defaultNamingConventionId);
setMimeRepoFile(mimeRepoFile);
setMagic(magic);
mimeTypeToMetExtractorSpecsMap = Maps.newHashMap();
- mimeTypeToNamingConventionMap = Maps.newHashMap();
+ mimeTypeToNamingConventionIdMap = Maps.newHashMap();
}
- public synchronized void setNamingConvention(String mimeType,
- NamingConvention namingConvention) {
- mimeTypeToNamingConventionMap.put(mimeType, namingConvention);
+ public synchronized void setNamingConventionId(String mimeType,
+ String namingConventionId) {
+ mimeTypeToNamingConventionIdMap.put(mimeType, namingConventionId);
}
- public synchronized NamingConvention getNamingConvention(String mimeType) {
- NamingConvention namingConvention = mimeTypeToNamingConventionMap.get(
+ public synchronized String getNamingConventionId(String mimeType) {
+ String namingConventionId = mimeTypeToNamingConventionIdMap.get(
mimeType);
- if (namingConvention == null) {
- return getDefaultNamingConvention();
+ if (namingConventionId == null) {
+ return getDefaultNamingConventionId();
}
- return namingConvention;
+ return namingConventionId;
}
public synchronized void addMetExtractorSpec(String mimeType,
@@ -157,13 +156,13 @@ public class MimeExtractorRepo {
this.defaultExtractorSpecs = defaultExtractorSpecs;
}
- public void setDefaultNamingConvention(
- NamingConvention defaultNamingConvention) {
- this.defaultNamingConvention = defaultNamingConvention;
+ public void setDefaultNamingConventionId(
+ String defaultNamingConventionId) {
+ this.defaultNamingConventionId = defaultNamingConventionId;
}
- public NamingConvention getDefaultNamingConvention() {
- return defaultNamingConvention;
+ public String getDefaultNamingConventionId() {
+ return defaultNamingConventionId;
}
/**
Modified: oodt/trunk/crawler/src/main/resources/examples/mime-extractor-map.xml
URL: http://svn.apache.org/viewvc/oodt/trunk/crawler/src/main/resources/examples/mime-extractor-map.xml?rev=1306618&r1=1306617&r2=1306618&view=diff
==============================================================================
--- oodt/trunk/crawler/src/main/resources/examples/mime-extractor-map.xml (original)
+++ oodt/trunk/crawler/src/main/resources/examples/mime-extractor-map.xml Wed Mar 28 22:02:24 2012
@@ -21,7 +21,7 @@ the License.
<mime type="some/mime-type">
<!-- naming convention for renaming file (zero or one) -->
- <namingConvention class="naming.convention.class" />
+ <namingConvention id="id_from_application_context_bean_file" />
<!-- extractor spec for given mime-type (one or more) -->
<extractor class="extractor.class">
Modified: oodt/trunk/crawler/src/test/org/apache/oodt/cas/crawl/typedetection/TestMimeExtractorConfigReader.java
URL: http://svn.apache.org/viewvc/oodt/trunk/crawler/src/test/org/apache/oodt/cas/crawl/typedetection/TestMimeExtractorConfigReader.java?rev=1306618&r1=1306617&r2=1306618&view=diff
==============================================================================
--- oodt/trunk/crawler/src/test/org/apache/oodt/cas/crawl/typedetection/TestMimeExtractorConfigReader.java (original)
+++ oodt/trunk/crawler/src/test/org/apache/oodt/cas/crawl/typedetection/TestMimeExtractorConfigReader.java Wed Mar 28 22:02:24 2012
@@ -66,6 +66,7 @@ public class TestMimeExtractorConfigRead
}
public void testReadWithDefaults() throws Exception {
+ String namingConvId = "PathUtilsNC";
String defaultPreconditionId = "TestPrecondition";
String preconditionId1 = "Precondition1";
String preconditionId2 = "Precondition2";
@@ -75,8 +76,7 @@ public class TestMimeExtractorConfigRead
+ " magic=\"false\" mimeRepo=\""
+ mimeTypesFile.getAbsolutePath() + "\">\n"
+ "<default>\n"
- + " <namingConvention class=\""
- + PathUtilsNamingConvention.class.getCanonicalName() + "\" />\n"
+ + " <namingConvention id=\"" + namingConvId + "\" />\n"
+ " <extractor class=\""
+ CopyAndRewriteExtractor.class.getCanonicalName() + "\">\n"
+ " <config file=\"" + defaultExtractorConfig.getAbsolutePath()
@@ -103,8 +103,7 @@ public class TestMimeExtractorConfigRead
assertTrue(xmlMimeRepo.exists());
MimeExtractorRepo mimeRepo = MimeExtractorConfigReader.read(
xmlMimeRepo.getAbsolutePath());
- assertEquals(PathUtilsNamingConvention.class,
- mimeRepo.getNamingConvention("some/mime-type").getClass());
+ assertEquals(namingConvId, mimeRepo.getNamingConventionId("some/mime-type"));
List<MetExtractorSpec> specs = mimeRepo.getExtractorSpecsForMimeType("some/mime-type");
assertEquals(1, specs.size());
assertEquals(MetReaderExtractor.class,
@@ -120,6 +119,7 @@ public class TestMimeExtractorConfigRead
}
public void testReadWithoutDefaults() throws Exception {
+ String namingConvId = "PathUtilsNC";
String preconditionId1 = "Precondition1";
String preconditionId2 = "Precondition2";
String xmlFileContents =
@@ -128,8 +128,7 @@ public class TestMimeExtractorConfigRead
+ " magic=\"false\" mimeRepo=\""
+ mimeTypesFile.getAbsolutePath() + "\">\n"
+ "<mime type=\"some/mime-type\">\n"
- + " <namingConvention class=\""
- + PathUtilsNamingConvention.class.getCanonicalName() + "\" />\n"
+ + " <namingConvention id=\"" + namingConvId + "\" />\n"
+ " <extractor class=\""
+ MetReaderExtractor.class.getCanonicalName() + "\">\n"
+ " <config file=\"" + defaultExtractorConfig.getAbsolutePath()
@@ -146,8 +145,7 @@ public class TestMimeExtractorConfigRead
assertTrue(xmlMimeRepo.exists());
MimeExtractorRepo mimeRepo = MimeExtractorConfigReader.read(
xmlMimeRepo.getAbsolutePath());
- assertEquals(PathUtilsNamingConvention.class,
- mimeRepo.getNamingConvention("some/mime-type").getClass());
+ assertEquals(namingConvId, mimeRepo.getNamingConventionId("some/mime-type"));
List<MetExtractorSpec> specs = mimeRepo.getExtractorSpecsForMimeType("some/mime-type");
assertEquals(1, specs.size());
assertEquals(MetReaderExtractor.class,