package uk.ac.shef.dcs.jate.feature;
import uk.ac.shef.dcs.jate.JATERecursiveTaskWorker;
import java.util.List;
/**
* Created by - on 25/02/2016.
*/
public class TermComponentIndexFBWorker extends JATERecursiveTaskWorker<String, Integer> {
private static final long serialVersionUID = -2181124313058459305L;
private TermComponentIndex ctciFeature;
public TermComponentIndexFBWorker(List<String> tasks, int maxTasksPerWorker,
TermComponentIndex ctciFeature) {
super(tasks, maxTasksPerWorker);
this.ctciFeature=ctciFeature;
}
@Override
protected JATERecursiveTaskWorker<String, Integer> createInstance(List<String> splitTasks) {
return new TermComponentIndexFBWorker(splitTasks, maxTasksPerThread, ctciFeature);
}
@Override
protected Integer mergeResult(List<JATERecursiveTaskWorker<String, Integer>> jateRecursiveTaskWorkers) {
int totalSuccess = 0;
for (JATERecursiveTaskWorker<String, Integer> worker : jateRecursiveTaskWorkers) {
int rs = worker.join();
totalSuccess += rs;
}
return totalSuccess;
}
@Override
protected Integer computeSingleWorker(List<String> tasks) {
int count=0;
for(String tString : tasks){
String[] tokens = tString.split(" ");
for(String tok: tokens){
ctciFeature.add(tok, tString, tokens.length);
}
count++;
}
return count;
}
}