When parsing (deserializing) a ContextEvent that includes the involvedHumanUser property, this property is not parsed and is not present in the resulting ContextEvent.
This apparently happens because parsing uses the generic setProperty method of ContextEvent to set the parsed properties. The way I see it, this setProperty method cannot logically deal with invovledHumanUser, even though it seems to check it. This is in ContextEvent:640
} else if (propURI.equals(PROP_INVOLVED_HUMAN_USER)) {
if (value instanceof Resource)
return setInvolvedUser((Resource) value);
However, BEFORE reaching there, there is this, which essentially turns the above code unreachable. ContextEvent:618
} else if (value instanceof Resource) {
if (propURI.equals(PROP_RDF_SUBJECT))
return setRDFSubject((Resource) value);
else if (propURI.equals(PROP_RDF_PREDICATE))
return setRDFPredicate(((Resource) value).getURI());
}
Am I getting this right? Can I just rearrange the if clauses to fix this? This bug only affects involvedHumanUser, which for whatever reason is the only property being checked with the predicate first and the object type second.
When parsing (deserializing) a ContextEvent that includes the involvedHumanUser property, this property is not parsed and is not present in the resulting ContextEvent.
This apparently happens because parsing uses the generic setProperty method of ContextEvent to set the parsed properties. The way I see it, this setProperty method cannot logically deal with invovledHumanUser, even though it seems to check it. This is in ContextEvent:640
However, BEFORE reaching there, there is this, which essentially turns the above code unreachable. ContextEvent:618
Am I getting this right? Can I just rearrange the if clauses to fix this? This bug only affects involvedHumanUser, which for whatever reason is the only property being checked with the predicate first and the object type second.