Author: cutting
Date: Wed Sep  7 09:38:42 2005
New Revision: 279374

URL: http://svn.apache.org/viewcvs?rev=279374&view=rev
Log:
Fix to work with classes that have no defined WritableComparator.

Modified:
    
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/CombiningCollector.java
    lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/JobConf.java
    
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/ReduceTask.java

Modified: 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/CombiningCollector.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/CombiningCollector.java?rev=279374&r1=279373&r2=279374&view=diff
==============================================================================
--- 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/CombiningCollector.java
 (original)
+++ 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/CombiningCollector.java
 Wed Sep  7 09:38:42 2005
@@ -45,8 +45,7 @@
     this.out = out;
     this.reporter = reporter;
     this.combiner = (Reducer)job.newInstance(job.getCombinerClass());
-    this.keyToValues = new TreeMap
-      ((Comparator)job.newInstance(job.getOutputKeyComparatorClass()));
+    this.keyToValues = new TreeMap(job.getOutputKeyComparator());
   }
 
   public synchronized void collect(WritableComparable key, Writable value)

Modified: 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/JobConf.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/JobConf.java?rev=279374&r1=279373&r2=279374&view=diff
==============================================================================
--- lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/JobConf.java 
(original)
+++ lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/JobConf.java 
Wed Sep  7 09:38:42 2005
@@ -149,10 +149,12 @@
     setClass("mapred.output.key.class", theClass, WritableComparable.class);
   }
 
-  public Class getOutputKeyComparatorClass() {
-    return getClass("mapred.output.key.comparator.class",
-                    WritableComparator.get(getOutputKeyClass()).getClass(),
-                    WritableComparator.class);
+  public WritableComparator getOutputKeyComparator() {
+    Class theClass = getClass("mapred.output.key.comparator.class", null,
+                              WritableComparator.class);
+    if (theClass != null)
+      return (WritableComparator)newInstance(theClass);
+    return WritableComparator.get(getOutputKeyClass());
   }
 
   public void setOutputKeyComparatorClass(Class theClass) {

Modified: 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/ReduceTask.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/ReduceTask.java?rev=279374&r1=279373&r2=279374&view=diff
==============================================================================
--- 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/ReduceTask.java 
(original)
+++ 
lucene/nutch/branches/mapred/src/java/org/apache/nutch/mapred/ReduceTask.java 
Wed Sep  7 09:38:42 2005
@@ -223,8 +223,7 @@
 
     String sortedFile = file+".sorted";
 
-    WritableComparator comparator = 
-      (WritableComparator)job.newInstance(job.getOutputKeyComparatorClass());
+    WritableComparator comparator = job.getOutputKeyComparator();
     
     try {
       sortProgress.start();


Reply via email to