-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
[BEAM-11073] Dicom IO Connector for Java #13137
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Aliraza.
Best
Pooja
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Show resolved
Hide resolved
...ud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HttpHealthcareApiClient.java
Outdated
Show resolved
Hide resolved
...o/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIOTest.java
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Aliraza.
Best
Pooja
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...o/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIOTest.java
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Aliraza - looking great just a few more things.
Best
Pooja
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Aliraza looks great just a few more docs changes.
Best
Pooja
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Show resolved
Hide resolved
...ud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/HttpHealthcareApiClient.java
Outdated
Show resolved
Hide resolved
R: @lukecwik |
Run Java PreCommit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add an integration test? You can refer to the FhirIO PR as an example: https://github.com/apache/beam/pull/11339/files
Specifically, FhirIOReadIT.java
is an example of an integration test
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
can you add an integration test? Feel free to ping me to discuss why/why not to add one. |
I can't figure out how to reply directly to your comment above, but yes, I did start working on an integration test. Just not part of the prev commit. |
Run Java PreCommit |
retest this please |
...google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIOReadIT.java
Show resolved
Hide resolved
...va/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIO.java
Outdated
Show resolved
Hide resolved
@SuppressWarnings({"nullness", "rawtypes"}) | ||
static class FetchStudyMetadataFn extends DoFn<String, String> { | ||
|
||
private HealthcareApiClient dicomStore; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect that if you do this, you can remove the nullness
condition in SuppressWarnings?
private HealthcareApiClient dicomStore; | |
private HealthcareApiClient dicomStore = new HttpHealthcareApiClient(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe you also need to add null checks in process... up to you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm I'm still failing compileJava.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple comments. Overall it's looking great.
@pabloem Hi, can you take another look please? I'm still a little uncertain about removing the nullness warning suppression. I'm thinking adding some checks should be able to catch any error. |
...google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/healthcare/DicomIOReadIT.java
Show resolved
Hide resolved
hm okay, feel free to re-add the suppression. Sorry about the trouble! And just the one comment about PAssert. LGTM after that. |
All done! @pabloem |
What is the next step for this PR? |
Hey, sorry this PR has been sitting here for a while. I have a couple of more commits (refactoring, clean up) for this PR. Should be on the tail-end of its life. I'll push these commits and notify the reviews in a few hours. |
@pabloem Hey I've made some changes after some feedback on my pipeline project. Can you take a look when you have a chance? thanks |
thanks! I've merged this @Aliraza-N |
I think this broke Java Postcommit: https://ci-beam.apache.org/job/beam_PostCommit_Java/6904/
|
Working on a fix. In the meantime, I'll add the @ Ignore tag |
Thank you! |
This PR has the change needed to ignore the test. At first glance, it appears that the test input file is not available during the run. |
@Aliraza-N The DiacomIOTest and other gcp healthcare service tests require default application credentials.
Exception:
Do you think they should be classified as integration tests? If not, is there a way to run this test in GitHub Actions? |
hmmm I think these should be run as IT tests indeed, and only whenever application default creds are available |
Who could make this change? |
We are looking to create a new Java Pipeline Connector to help facilitate Reading data from the Imaging API in GCP. Initially, this connector will be used to read study level metadata of Dicom instances.
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
R: @username
).[BEAM-XXX] Fixes bug in ApproximateQuantiles
, where you replaceBEAM-XXX
with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.CHANGES.md
with noteworthy changes.See the Contributor Guide for more tips on how to make review process smoother.
Post-Commit Tests Status (on master branch)
Pre-Commit Tests Status (on master branch)
See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.
GitHub Actions Tests Status (on master branch)
See CI.md for more information about GitHub Actions CI.