Skip to content

Refactor: Extract MVEL extension & Improve Code Quality - #18

Merged
lokimax merged 26 commits into
developfrom
refactor/extract-mvel-extension
Feb 19, 2026
Merged

Refactor: Extract MVEL extension & Improve Code Quality#18
lokimax merged 26 commits into
developfrom
refactor/extract-mvel-extension

Conversation

@lokimax

@lokimax lokimax commented Feb 19, 2026

Copy link
Copy Markdown
Owner

Changes

  • Modularization: Extracted MVEL strategy into its own module 'objectmerger-mvel'.
  • Refactoring: Created 'FieldDefinitionTypeAdapterFactory' to decouple JSON deserialization logic from 'MergeDefinitionConverter'.
  • Code Style:
    • Configured Spotless with AOSP style (approx. 100 chars line width).
    • configured import order to prevent wildcard imports.
    • Cleaned up existing wildcard imports in tests.
  • Dependency Management: Reordered POM dependencies by scope.
  • Architecture: Verified adherence to OCP and decoupled architecture.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the codebase to extract MVEL-related functionality into a separate module, improving modularity and adhering to the Open-Closed Principle. The changes include creating a new objectmerger-mvel module, implementing a FieldDefinitionTypeAdapterFactory for improved JSON deserialization, applying code formatting (AOSP style), organizing dependencies by scope, and cleaning up wildcard imports.

Changes:

  • Created new objectmerger-mvel module to contain MVEL and Conditional merge strategies
  • Implemented FieldDefinitionTypeAdapterFactory to dynamically resolve field definition types based on strategy registry
  • Applied Spotless code formatting with AOSP style and import order configuration

Reviewed changes

Copilot reviewed 79 out of 125 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pom.xml Added objectmerger-mvel module and configured Spotless with AOSP style
objectmerger/pom.xml Removed MVEL dependency and reorganized dependencies by scope
objectmerger-mvel/pom.xml New module POM with MVEL dependencies
objectmerger-spring-boot/pom.xml Added objectmerger-mvel as test dependency
FieldDefinitionTypeAdapterFactory.java New type adapter factory for dynamic field definition deserialization
MergeDefinitionConverter.java Simplified to use new FieldDefinitionTypeAdapterFactory
Various test files Moved MVEL-related tests to new module and applied formatting
Service provider files Updated to reflect moved strategies

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lokimax
lokimax merged commit 290a215 into develop Feb 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants