SAMOA-78: Accept newly arriving values of nominal attributes
Fix #75
diff --git a/samoa-instances/src/main/java/org/apache/samoa/instances/Attribute.java b/samoa-instances/src/main/java/org/apache/samoa/instances/Attribute.java
index 128ace7..4f49b43 100644
--- a/samoa-instances/src/main/java/org/apache/samoa/instances/Attribute.java
+++ b/samoa-instances/src/main/java/org/apache/samoa/instances/Attribute.java
@@ -243,8 +243,14 @@
}
}
Integer val = (Integer) this.valuesStringAttribute.get(value);
+
+ // in case this value was not on a list of unique values of nominal attribute yet, add it
+ // this means, the list of values can be extended with new entries arriving in the stream
if (val == null) {
- return -1;
+ int currentValueCount=this.valuesStringAttribute.size();
+ this.valuesStringAttribute.put(value,currentValueCount);
+ this.attributeValues.add(value);
+ return currentValueCount;
} else {
return val.intValue();
}