Details
-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
6.4.0
-
Documentation (Ref Guide, User Guide, etc.), Release Notes, Compatibility/Configuration
-
RC2
-
Description
The fix for DROOLS-1270 seems to have changed the marshalled form of org.drools.core.command.runtime.rule.ModifyCommand in a backward-incompatible way [1]:
- the attribute
@XmlElement(name="fact-handle", required=true) private DisconnectedFactHandle factHandle;
is no more unmarshalled from a String by using the setter method setFactHandleFromString(String factHandleId). As a consequence, the org.drools.core.common.DisconnectedFactHandle cannot be unmarshalled from a XML representation such as
<fact-handle>0:1:1134443700:1:1:DEFAULT:NON_TRAIT:null</fact-handle>
rather it now requires the XML to contain marshalled DisconnectedFactHandle:
<disconnected-fact-handle external-form="0:1:1134443700:1:1:DEFAULT:NON_TRAIT:null"> <id>1</id> <identityHashCode>1134443700</identityHashCode> <objectHashCode>1</objectHashCode> <recency>1</recency> <entryPointId>DEFAULT</entryPointId> <traitType>NON_TRAIT</traitType> </disconnected-fact-handle>
This change could potentially break (probably not very frequent) scenarios where users create the requests by themselves (not using a client nor JAXB annotated classes provided by us). On the other hand, it could be an intended change between BxMS 6.3 and 6.4, if it is the case, we should just document it.