Closed
Description
Issue Description
Description:
There is an issue with the ExecutionContext
class where the dirty
flag does not stay true
when a null
value is passed for a key that does not exist in the context. This behavior leads to unexpected results, especially when the dirty
flag is used to determine if any modifications have been made to the context.
Steps to Reproduce:
- Create a new
ExecutionContext
- Add a new key-value pair using
put
, which sets thedirty
flag totrue
- Call
put
again with a different key andnull
value - Observe that the
dirty
flag is incorrectly reset tofalse
even though no change occurred
Example Code:
@Test
void testDirty() {
ExecutionContext context = new ExecutionContext();
context.put("1", "testString1");
assertTrue(context.isDirty()); // Expected to be true
context.put("2", null);
assertTrue(context.isDirty()); // This fails, `dirty` flag is reset to false
}