package com.rapidminer.operator.learner.clustering.clusterer;
import com.rapidminer.example.ExampleSet;
import com.rapidminer.operator.IOContainer;
import com.rapidminer.operator.MissingIOObjectException;
import com.rapidminer.operator.OperatorException;
public class ClusteringThread extends Thread {
private ExampleSet[] conti;
private IOContainer results;
private DBScanClustering clust;
private int i = 0;
public ClusteringThread(ExampleSet[] conti, DBScanClustering clust) {
this.conti = conti;
this.clust = clust;
results = new IOContainer();
}
private void addClusterModel(IOContainer container) {
results = results.append(container.getIOObjects());
}
private ExampleSet getNextExampleSet() throws MissingIOObjectException {
if (i < conti.length) {
ExampleSet es;
es = conti[i];
i++;
return es;
}
return null;
}
public void run() {
try {
ExampleSet es = null;
while ((es = getNextExampleSet()) != null) {
if(clust == null){
System.err.println("clust is null");
}
if(es == null){
System.err.println("es is null");
}
System.err.println("applying to "+clust.getIds());
IOContainer io = clust.apply(new IOContainer(es));
addClusterModel(io);
}
} catch (OperatorException e) {
e.printStackTrace();
}
}
public IOContainer getResult() {
return results;
}
}