Skip to content

ExecutionContext dirty flag does not remain true when null is put for a non-existent key #4692

Closed
@GGHDMS

Description

@GGHDMS

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:

  1. Create a new ExecutionContext
  2. Add a new key-value pair using put, which sets the dirty flag to true
  3. Call put again with a different key and null value
  4. Observe that the dirty flag is incorrectly reset to false 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
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions