Skip to content

Conversation

@agrgr
Copy link
Contributor

@agrgr agrgr commented Apr 24, 2025

  • return one Filter
  • have one ConditionVisitor
  • build both Exp and Filter after the resulting tree is ready
  • update processing logical structures, control structures and unary operators
  • use namespace provided in parameters
  • convert Collection of indexes provided in parameters into a Map
  • update API

@agrgr agrgr added the enhancement New feature or request label Apr 24, 2025
@agrgr agrgr requested a review from reugn April 24, 2025 11:54
@agrgr agrgr marked this pull request as ready for review April 24, 2025 12:10
@arrowplum arrowplum requested a review from Copilot May 7, 2025 07:00
Copy link

Copilot AI left a comment

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 restructures the DSL API by consolidating expression and filter building in one run while removing legacy model classes and updating the AbstractPart hierarchy. Key changes include:

  • Moving and updating classes from the model package to the parts package, notably AbstractPart now uses Filter instead of SIndexFilter.
  • Removing legacy operand and CDT classes and introducing new classes (ParsedExpression, ParseResult, IndexContext, and Index) to support the updated API.
  • Updating the DSLParser and its implementation to integrate the new processing logic and API flow.

Reviewed Changes

Copilot reviewed 86 out of 86 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/main/java/com/aerospike/dsl/parts/cdt/CdtPart.java New abstract class for CDT parts with updated error reporting.
src/main/java/com/aerospike/dsl/parts/ExpressionContainer.java New class representing expression containers with unary and binary operators.
src/main/java/com/aerospike/dsl/parts/AbstractPart.java Updated to replace SIndexFilter with Filter and adjust constructors accordingly.
src/main/java/com/aerospike/dsl/model/* Multiple legacy files removed (CdtPart, VariableOperand, StringOperand, SIndexFilter, ParsedOperand, MapOperand, ListOperand, IntOperand, Expr, AerospikeDSLException).
src/main/java/com/aerospike/dsl/ParsedExpression.java, ParseResult.java, IndexContext.java, Index.java, DslParseException.java New classes to support the updated DSL parsing and processing API.
src/main/java/com/aerospike/dsl/DSLParserImpl.java, DSLParser.java Redesigned methods to return ParsedExpression and support index context handling.

@reugn reugn merged commit ee66ba3 into main May 8, 2025
5 checks passed
@reugn reugn deleted the FMWK-729-refactoring branch May 8, 2025 09:08
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.

3 participants