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

ref/#2540-Move Search Logic from Search.execute() to FhirEngine.search() #2541

Conversation

itstanany
Copy link
Contributor

@itstanany itstanany commented May 12, 2024

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Fixes #2540

Description
Clear and concise code change description.
I moved the search logic implementation from Search.execute to FhirEngine.search
For better separation of concerns and single responsibility principles

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?

Type
Choose one: Code health

Screenshots (if applicable)

Checklist

  • I have read and acknowledged the Code of conduct.
  • I have read the Contributing page.
  • I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
  • I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
  • I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

@itstanany itstanany requested review from santosh-pingle and a team as code owners May 12, 2024 22:41
@itstanany itstanany requested a review from aditya-07 May 12, 2024 22:41
@jingtang10
Copy link
Collaborator

the code is duplicated not moved.

Copy link
Collaborator

@jingtang10 jingtang10 left a comment

Choose a reason for hiding this comment

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

the code is duplicated and not moved. also, i actually feel it might be better to move this method to the search package instead of the other way around.

@MJ1998 @aditya-07 @santosh-pingle @yigit fyi

@jingtang10
Copy link
Collaborator

@itstanany will you be able to open another pr to move the api declaration of the search method to the actual search package? thanks for your contribution!

i will close this pr for now.

@jingtang10 jingtang10 closed this Jun 20, 2024
@itstanany
Copy link
Contributor Author

@itstanany will you be able to open another pr to move the api declaration of the search method to the actual search package? thanks for your contribution!

i will close this pr for now.

@jingtang10 , the api declaration is already in search package, so if you see it is better to be in search package, there is no more actions to do. just leave it as it is.

Thanks for your consideration

@jingtang10
Copy link
Collaborator

the search

https://github.com/itstanany/android-fhir/blob/601ebe18cd3b3d663fb4396dcf8058c60875c3eb/engine/src/main/java/com/google/android/fhir/FhirEngine.kt#L117

and count

https://github.com/itstanany/android-fhir/blob/601ebe18cd3b3d663fb4396dcf8058c60875c3eb/engine/src/main/java/com/google/android/fhir/FhirEngine.kt#L160

apis are defined in the com.google.android.fhir package. I think it might make more sense for them to be moved to the com.google.android.fhir.search package

@aditya-07 @MJ1998 @santosh-pingle fyi and feedback welcome

@itstanany
Copy link
Contributor Author

the search

https://github.com/itstanany/android-fhir/blob/601ebe18cd3b3d663fb4396dcf8058c60875c3eb/engine/src/main/java/com/google/android/fhir/FhirEngine.kt#L117

and count

https://github.com/itstanany/android-fhir/blob/601ebe18cd3b3d663fb4396dcf8058c60875c3eb/engine/src/main/java/com/google/android/fhir/FhirEngine.kt#L160

apis are defined in the com.google.android.fhir package. I think it might make more sense for them to be moved to the com.google.android.fhir.search package

@aditya-07 @MJ1998 @santosh-pingle fyi and feedback welcome

@jingtang10

I noticed that search and count are defined as overload extension functions on FhirEngine within the search package (here: [link to search Search.kt#L25]

[link to count Search.kt#L33.

My question is: Should these functions stay as part of the public API for the engine package (like they're used in the demo app: [link to PatientListViewModel.kt#L90](https://github.com/itstanany/android-fhir/blob/da8e193f78cf75919d97809d6cafdf9738ac48a6/demo/src/main/java/com/google/android/fhir/demo/PatientListViewModel.kt#L90)) or be moved to the search package as suggested? This would require client code to be aware of the search package.

I'm a bit unsure of the best approach here. What are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

refactor - Move Search Logic from Search.execute() to FhirEngine.search()
2 participants