Skip to content

Refactor Filter Engine: Integrate Payload, ClauseFactory & Dissector for cleaner filter execution#24

Merged
kettasoft merged 7 commits intomasterfrom
hotfix/invokable
Oct 25, 2025
Merged

Refactor Filter Engine: Integrate Payload, ClauseFactory & Dissector for cleaner filter execution#24
kettasoft merged 7 commits intomasterfrom
hotfix/invokable

Conversation

@kettasoft
Copy link
Copy Markdown
Owner

Summary

This PR refactors and enhances the core filter engine to make filter expression handling more modular, consistent, and configurable.

Key Changes

  • Refactor:
    • Updated Clause constructor to accept a Payload instance, simplifying instantiation and improving clarity.
    • Simplified clause creation by using ClauseFactory directly.
    • Improved test coverage and method mapping in InvokableEngineTest.
  • Feature:
    • Introduced allowed SQL operators configuration for filter expressions in the InvokableEngine.
    • Added getter and setter methods for field and operator in the Payload class.
    • Integrated Dissector and ClauseFactory into filter execution for cleaner payload handling.
    • Automatically sets allowed fields from filters in the Invokable Engine.

Why

These changes aim to:

  • Improve code readability and reduce coupling between components.
  • Allow developers to define custom operator/field configurations more easily.
  • Prepare the engine for future CLI and runtime configuration features.
  • Strengthen consistency across filters and tests.

Impact

  • No breaking changes expected for users of the public API.
  • Internal refactors may affect advanced users relying on internal classes (Clause, Payload, InvokableEngine).
  • All tests updated and passing.

@kettasoft kettasoft added the enhancement New feature or request label Oct 25, 2025
@kettasoft kettasoft self-assigned this Oct 25, 2025
@kettasoft kettasoft merged commit 42e4c91 into master Oct 25, 2025
1 check passed
@kettasoft kettasoft deleted the hotfix/invokable branch November 18, 2025 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant