Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ALS-7760] Replicate Old Search in new Data-Dictionary #53

Merged
merged 11 commits into from
Nov 18, 2024
Merged

Conversation

Gcolon021
Copy link

@Gcolon021 Gcolon021 commented Nov 12, 2024

Improvements

  • Implemented /search in the new dictionary to support legacy search functionality as a temporary solution for the API adapters.
  • Added @ActiveProfile("test") to all unit tests that do not use a PostgreSQL Testcontainer, and @Profile("!test") to the DataSourceVerifier. This reduces unnecessary log spam from unit tests that do not provide valuable information.
  • Included a README.md file in the dictionaryweights project with basic instructions for running the application using Docker.
  • Added bdc-dev application.properties files for running a local development environment.

Regressions

  • The new implementation does not support OR functionality using |. Previously, the search prototype split input based on punctuation, spaces, and invisible space separators using the regex [\s\p{Punct}]+.

@Gcolon021 Gcolon021 self-assigned this Nov 12, 2024
@Gcolon021 Gcolon021 added the enhancement New feature or request label Nov 13, 2024
@Gcolon021 Gcolon021 changed the title [ALS-7760] Replicate Old Search in new Data-Dictionary [ALS-7760] WIP: Replicate Old Search in new Data-Dictionary Nov 13, 2024
This removes the spam from the DataSourceVerifier when running unit test.
Created JsonBlobParser.java for JSON parsing and refactored ConceptResultSetUtil to use it for clearer separation of concerns.
This commit cleans up the code by removing unused imports in the ConceptShell and ContinuousConcept classes. This reduces clutter and improves code readability.
Implemented a new legacy search feature including service, controller, and related model classes. Updated the ConceptRepository to support legacy search queries and added test cases to ensure functionality.
Introduces unit tests for `LegacySearchQueryMapper` to validate JSON parsing and string replacement functionality. Adds integration tests for `LegacySearchController` to verify search response correctness using a PostgreSQL container.
Introduce application properties for database configuration and dashboard settings. Add Docker commands for local development with weights configuration. Include weights.csv as sample data and dictonaryReqeust.http for testing API requests.
@Gcolon021 Gcolon021 changed the title [ALS-7760] WIP: Replicate Old Search in new Data-Dictionary [ALS-7760] Replicate Old Search in new Data-Dictionary Nov 15, 2024
Introduced `LegacySearchRepository` to handle legacy search functionalities. Consolidated query logic by moving `ALLOW_FILTERING_Q` to `QueryUtility`. Removed legacy search code from `ConceptRepository` for better separation of concerns.
Introduced a new FilterProcessor component to centralize filter processing logic. Enhanced getDescription, getParentName, and getParentDisplay methods in MetadataResultSetUtil for better validation using StringUtils.
@Luke-Sikina
Copy link
Member

approved, but the build is failing.

Introduced LegacySearchRepositoryTest to verify legacy search functionalities. Refactored legacy search logic out of ConceptService and into LegacySearchRepository. Updated related tests and cleaned up unused imports and methods.
@Gcolon021 Gcolon021 merged commit 89d5728 into release Nov 18, 2024
2 checks passed
@Gcolon021 Gcolon021 deleted the ALS-7760 branch November 18, 2024 14:32
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.

2 participants