package scs.demos.mapreduce.servant;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.*;
import org.omg.CORBA.Any;
import org.omg.CORBA.AnyHolder;
import scs.demos.mapreduce.Partitioner;
import scs.demos.mapreduce.PartitionerPOA;
/**
* Servant que implementa a interface scs::demos::mapreduce::Partitioner
* @author Sand Luz Correa
*/
public class PartitionerServant extends PartitionerPOA {
public int getPartition (Any key, Any value, int numPartitions) {
String s = key.extract_string();
return Math.abs(s.hashCode()) % numPartitions;
}
public Comparator getPartitionComparator() {
return new Comparator() {
public int compare(Object obj1, Object obj2) {
Any key1 =(Any) obj1;
Any key2 =(Any) obj2;
return key1.extract_string().compareTo(key2.extract_string());
}
};
}
}