Hi,

I have a stream that exposes the state for Queryable State.

I am using the key as follows:

public class MyKey {
    private Long first;
    private EnumType myType;
    private Long second;

    private TreeMap<String, String> map;
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        MyKey that = (MyKey) o;
        boolean isEqual = first.longValue() == that.first.longValue() &&
                myTime.name().equalsIgnoreCase(that.myTime.name()) &&
                second.longValue() == that.second.longValue();// &&
//                map.equals(that.dimensions);
        return isEqual;
    }

    @Override
    public int hashCode() {
        int result = first != null ? first.hashCode() : 0;
        result = 31 * result + (myType != null ? myType.name().hashCode() : 0);
        result = 31 * result + (second != null ? second.hashCode() : 0);
//        result = 31 * result + (map != null ? map.hashCode() : 0);
        return result;
    }
}


If I only set the first three members for the key class, then the key lookup 
works correctly.

If I add the TreeMap, then the lookup always errors with the message; “No state 
found for the given key/namespace”.

What am I dong wrong with the TreeMap as a member in the Key class for 
equals/hashcode?

Thanks,
Sandeep

Reply via email to