SLR : Adding Routing Dispatch to StudyFetcher#16098
Conversation
PR Summary by QodoAdd catalog-specific routing dispatch to StudyFetcher (raw query bypass) Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1.
|
LoayTarek5
left a comment
There was a problem hiding this comment.
small things to address, great works as usual
LoayTarek5
left a comment
There was a problem hiding this comment.
Also i notice that two behaviors are not covered
one for an override fetching multiple pages, respecting the limit
and other of an override on an unmigrated fetcher not crashing the crawl
|
I still need to update the tests to use the same pattern as |
| when(pagedFetcher.performRawSearchQueryPaged(anyString(), anyInt())) | ||
| .thenReturn(new Page<>("native:query", 0, List.of())); | ||
| when(pagedFetcher.performRawSearchQueryPaged("native:query", 0)) | ||
| .thenReturn(new Page<>("native:query", 0, List.of(new BibEntry()))); | ||
|
|
There was a problem hiding this comment.
The paged tests only page 0, so the multi-page loop (the thing that was fixed) isn't actually verified
edcd873 to
e48d353
Compare
|
Your pull request conflicts with the target branch. Please merge with your code. For a step-by-step guide to resolve merge conflicts, see https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line. |
LoayTarek5
left a comment
There was a problem hiding this comment.
Just fix the checkstyle, other than that, it is LGTM.
It's probably just flaky, the checkstyle tests are passing locally on my InteliJ |
LoayTarek5
left a comment
There was a problem hiding this comment.
this is cause of ci Checkstyle failure
Co-authored-by: Loay Tarek Mostafa <142718879+LoayTarek5@users.noreply.github.com>
|
@koppor any final review |
Related issues and pull requests
SLR related routing work.
PR Description
StudyFetcher previously sent every query through the standard search path regardless of catalog. This PR adds routing dispatch in
performSearchOnQueryForFetcher: if aStudyQueryhas acatalogSpecificoverride for the active fetcher, the raw query string is sent directly viaperformRawSearchQuery/performRawSearchQueryPaged, bypassing the query transformer.If no override is present the standard path runs unchanged. This makes the
catalogSpecificfield instudy.ymlactually functional end-to-end.Analogies
Like honey, this PR is specific to its source — each catalog gets exactly the query it was meant to receive, not a generic one-size-fits-all version. Like chocolate, it works in two forms (paged and plain) while tasting the same to the researcher writing their study definition. Like the moon, it only shows one face at a time — either the raw path or the standard path fires, never both.
Steps to test
AI usage
Claude Sonnet 4.6
Checklist
CHANGELOG.mdin a way that can be understood by the average user (if change is visible to the user)