Skip to content

Commit a512322

Browse files
authored
Merge pull request #869 from overture-stack/refactor/remove-donor-specimen-sample-from-analysis
Remove Donor, Specimen, and Sample from Analysis Data Classes in SONG
2 parents 434ddf2 + 7158328 commit a512322

File tree

77 files changed

+178
-5660
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+178
-5660
lines changed

song-client/src/main/java/bio/overture/song/client/command/SearchCommand.java

+3-25
Original file line numberDiff line numberDiff line change
@@ -54,31 +54,13 @@ public class SearchCommand extends Command {
5454
/** Long Switch Constants */
5555
private static final String FILE_ID_SWITCH = "--file-id";
5656

57-
private static final String SAMPLE_ID_SWITCH = "--sample-id";
58-
private static final String SPECIMEN_ID_SWITCH = "--specimen-id";
59-
private static final String DONOR_ID_SWITCH = "--donor-id";
6057
private static final String ANALYSIS_ID_SWITCH = "--analysis-id";
6158

6259
@Parameter(
6360
names = {F_SWITCH, FILE_ID_SWITCH},
6461
required = false)
6562
private String fileId;
6663

67-
@Parameter(
68-
names = {SA_SWITCH, SAMPLE_ID_SWITCH},
69-
required = false)
70-
private String sampleId;
71-
72-
@Parameter(
73-
names = {SP_SWITCH, SPECIMEN_ID_SWITCH},
74-
required = false)
75-
private String specimenId;
76-
77-
@Parameter(
78-
names = {D_SWITCH, DONOR_ID_SWITCH},
79-
required = false)
80-
private String donorId;
81-
8264
@Parameter(
8365
names = {A_SWITCH, ANALYSIS_ID_SWITCH},
8466
required = false)
@@ -92,8 +74,7 @@ public void run() throws IOException {
9274
val status = checkRules();
9375
if (!status.hasErrors()) {
9476
if (isIdSearchMode()) {
95-
status.outputPrettyJson(
96-
songApi.idSearch(config.getStudyId(), sampleId, specimenId, donorId, fileId));
77+
status.outputPrettyJson(songApi.idSearch(config.getStudyId(), fileId));
9778
} else if (isAnalysisSearchMode()) {
9879
status.outputPrettyJson(songApi.getAnalysis(config.getStudyId(), analysisId));
9980
} else {
@@ -108,18 +89,15 @@ private boolean isAnalysisSearchMode() {
10889
}
10990

11091
private boolean isIdSearchMode() {
111-
return nonNull(fileId) || nonNull(sampleId) || nonNull(specimenId) || nonNull(donorId);
92+
return nonNull(fileId);
11293
}
11394

11495
private Status checkRules() {
11596
val fileTerm = createParamTerm(F_SWITCH, FILE_ID_SWITCH, fileId, Objects::nonNull);
116-
val sampleTerm = createParamTerm(SA_SWITCH, SAMPLE_ID_SWITCH, sampleId, Objects::nonNull);
117-
val specimenTerm = createParamTerm(SP_SWITCH, SPECIMEN_ID_SWITCH, specimenId, Objects::nonNull);
118-
val donorTerm = createParamTerm(D_SWITCH, DONOR_ID_SWITCH, donorId, Objects::nonNull);
11997
val analysisIdTerm =
12098
createParamTerm(A_SWITCH, ANALYSIS_ID_SWITCH, analysisId, Objects::nonNull);
12199

122-
val idSearchMode = createModeRule(ID_MODE, fileTerm, sampleTerm, specimenTerm, donorTerm);
100+
val idSearchMode = createModeRule(ID_MODE, fileTerm);
123101
val analysisSearchMode = createModeRule(ANALYSIS_MODE, analysisIdTerm);
124102
val ruleProcessor = createRuleProcessor(idSearchMode, analysisSearchMode);
125103
return ruleProcessor.check();

song-client/src/test/java/bio/overture/song/client/HappyPathClientMainTest.java

+1-27
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,10 @@
3939
import bio.overture.song.core.model.Analysis;
4040
import bio.overture.song.core.model.AnalysisType;
4141
import bio.overture.song.core.model.AnalysisTypeId;
42-
import bio.overture.song.core.model.Donor;
4342
import bio.overture.song.core.model.FileDTO;
4443
import bio.overture.song.core.model.FileUpdateRequest;
4544
import bio.overture.song.core.model.FileUpdateResponse;
4645
import bio.overture.song.core.model.PageDTO;
47-
import bio.overture.song.core.model.Sample;
48-
import bio.overture.song.core.model.Specimen;
4946
import bio.overture.song.core.model.SubmitResponse;
5047
import bio.overture.song.core.utils.RandomGenerator;
5148
import bio.overture.song.sdk.ManifestClient;
@@ -280,9 +277,6 @@ public void testAnalysisSearch() {
280277
@Test
281278
public void testIdSearch() {
282279
val expectedFile = new FileDTO().setObjectId("FI1");
283-
val expectedSample = Sample.builder().sampleId("SA1").build();
284-
val expectedSpecimen = Specimen.builder().specimenId("SP1").build();
285-
val expectedDonor = Donor.builder().donorId("DO1").build();
286280
val expectedAnalyses =
287281
List.of(
288282
Analysis.builder()
@@ -292,27 +286,7 @@ public void testIdSearch() {
292286
.studyId(DUMMY_STUDY_ID)
293287
.build());
294288

295-
when(songApi.idSearch(DUMMY_STUDY_ID, expectedSample.getSampleId(), null, null, null))
296-
.thenReturn(expectedAnalyses);
297-
when(songApi.idSearch(DUMMY_STUDY_ID, null, expectedSpecimen.getSpecimenId(), null, null))
298-
.thenReturn(expectedAnalyses);
299-
when(songApi.idSearch(DUMMY_STUDY_ID, null, null, expectedDonor.getDonorId(), null))
300-
.thenReturn(expectedAnalyses);
301-
when(songApi.idSearch(DUMMY_STUDY_ID, null, null, null, expectedFile.getObjectId()))
302-
.thenReturn(expectedAnalyses);
303-
assertOutputJson(objectToTree(expectedAnalyses), "search", "-d", expectedDonor.getDonorId());
304-
assertOutputJson(
305-
objectToTree(expectedAnalyses), "search", "--donor-id", expectedDonor.getDonorId());
306-
assertOutputJson(
307-
objectToTree(expectedAnalyses), "search", "-sp", expectedSpecimen.getSpecimenId());
308-
assertOutputJson(
309-
objectToTree(expectedAnalyses),
310-
"search",
311-
"--specimen-id",
312-
expectedSpecimen.getSpecimenId());
313-
assertOutputJson(objectToTree(expectedAnalyses), "search", "-sa", expectedSample.getSampleId());
314-
assertOutputJson(
315-
objectToTree(expectedAnalyses), "search", "--sample-id", expectedSample.getSampleId());
289+
when(songApi.idSearch(DUMMY_STUDY_ID, expectedFile.getObjectId())).thenReturn(expectedAnalyses);
316290
assertOutputJson(objectToTree(expectedAnalyses), "search", "-f", expectedFile.getObjectId());
317291
assertOutputJson(
318292
objectToTree(expectedAnalyses), "search", "--file-id", expectedFile.getObjectId());

song-core/src/main/java/bio/overture/song/core/model/Analysis.java

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public class Analysis extends DynamicData {
2323
private String studyId;
2424
private AnalysisStates analysisState;
2525
private AnalysisTypeId analysisType;
26-
private List<CompositeSample> samples;
2726
private List<FileDTO> files;
2827

2928
private LocalDateTime createdAt;

song-core/src/main/java/bio/overture/song/core/model/CompositeSample.java

-14
This file was deleted.

song-core/src/main/java/bio/overture/song/core/model/Donor.java

-22
This file was deleted.

song-core/src/main/java/bio/overture/song/core/model/Specimen.java

-24
This file was deleted.

song-java-sdk/src/main/java/bio/overture/song/sdk/SongApi.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,8 @@ public FileUpdateResponse updateFile(
135135
return restClient.put(url, fileUpdateRequest, FileUpdateResponse.class).getBody();
136136
}
137137

138-
public List<Analysis> idSearch(
139-
String studyId, String sampleId, String specimenId, String donorId, String fileId) {
140-
val url = endpoint.idSearch(studyId, sampleId, specimenId, donorId, fileId);
138+
public List<Analysis> idSearch(String studyId, String fileId) {
139+
val url = endpoint.idSearch(studyId, fileId);
141140
return restClient.getList(url, Analysis.class).getBody();
142141
}
143142

song-java-sdk/src/main/java/bio/overture/song/sdk/web/Endpoint.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,8 @@ public String suppress(@NonNull String studyId, @NonNull String analysisId) {
111111
return format("%s/studies/%s/analysis/suppress/%s", serverUrl, studyId, analysisId);
112112
}
113113

114-
public String idSearch(
115-
@NonNull String studyId, String sampleId, String specimenId, String donorId, String fileId) {
114+
public String idSearch(@NonNull String studyId, String fileId) {
116115
return new RequestParamBuilder()
117-
.optionalQuerySingleParam("sampleId", sampleId)
118-
.optionalQuerySingleParam("specimenId", specimenId)
119-
.optionalQuerySingleParam("donorId", donorId)
120116
.optionalQuerySingleParam("fileId", fileId)
121117
.build(format("%s/studies/%s/analysis/search/id", serverUrl, studyId));
122118
}

song-server/src/main/java/bio/overture/song/server/controller/DonorController.java

-66
This file was deleted.

song-server/src/main/java/bio/overture/song/server/controller/SampleController.java

-65
This file was deleted.

0 commit comments

Comments
 (0)