ActivityTerminatedException,
ColumnNotFoundException
{
// recount mean with testing missing value
// histograms and interval description
Tuple tuple;
while((tuple = (Tuple)mTuples.nextValue()) != null)
{
for(int i=0; i<columnCount; i++)
{
OPTYPE.Enum optype = mPMML.getDataDictionary().getDataFieldArray(i).getOptype();
// categorical fields
if (optype == OPTYPE.CATEGORICAL)
{
Object o = tuple.getObject(i);
int index = histogram_values[i].indexOf(o);
if (index==-1){
//new object add
histogram_values[i].add(o);
index = histogram_values[i].size()-1;
histogram_frequency[i][index] = 1;
}
else
{ //object is in ArrayList, change frequency and max frequency index
histogram_frequency[i][index]++;
}
if (histogram_frequency[i][histogram_maxfrequency[i]]<histogram_frequency[i][index]){
histogram_maxfrequency[i] = index;
}
}
// continuous or ordinal fields
else{
if (interval[i]!=null){
boolean wasNull = true;
double value = Double.NaN;
String type = colInfo[i].getDataType();
// Integer type
if (type.equalsIgnoreCase("integer")) {
value = tuple.getInt(i);
wasNull = tuple.wasNull();
}
// Float type
else if (type.equalsIgnoreCase("float")) {
value = tuple.getFloat(i);
wasNull = tuple.wasNull();
}
// Double type
else if (type.equalsIgnoreCase("double")){
value = tuple.getDouble(i);
wasNull = tuple.wasNull();
}
// if exist some value
if (!wasNull){
int j = getValidIndex(value, i);
if (j != -1)