Skip to content

Commit ccf2991

Browse files
committed
more cleanup, deprecation, tests
1 parent 4a0cdae commit ccf2991

File tree

3 files changed

+91
-18
lines changed

3 files changed

+91
-18
lines changed

src/main/java/org/broadinstitute/consent/http/models/DataUse.java

+11-6
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public class DataUse {
3131
private String aggregateResearch;
3232
@Deprecated
3333
private String controlSetOption;
34-
private boolean controls;
34+
private Boolean controls;
3535
private String gender;
3636
private Boolean pediatric;
37-
private boolean population;
37+
private Boolean population;
3838
@Deprecated
3939
private List<String> populationRestrictions;
4040
@Deprecated
@@ -65,12 +65,17 @@ public class DataUse {
6565
private Boolean vulnerablePopulations;
6666
private Boolean psychologicalTraits;
6767
private Boolean notHealth;
68+
@Deprecated
6869
private Boolean nonBiomedical;
70+
@Deprecated
6971
private Boolean manualReview;
7072
private Boolean geneticStudiesOnly;
7173
private Boolean publicationResults;
74+
@Deprecated
7275
private Boolean genomicResults;
76+
@Deprecated
7377
private String genomicSummaryResults;
78+
@Deprecated
7479
private Boolean collaborationInvestigators;
7580
private String publicationMoratorium;
7681

@@ -386,19 +391,19 @@ public void setPublicationMoratorium(String publicationMoratorium) {
386391
this.publicationMoratorium = publicationMoratorium;
387392
}
388393

389-
public boolean getControls() {
394+
public Boolean getControls() {
390395
return controls;
391396
}
392397

393-
public void setControls(boolean controls) {
398+
public void setControls(Boolean controls) {
394399
this.controls = controls;
395400
}
396401

397-
public boolean getPopulation() {
402+
public Boolean getPopulation() {
398403
return population;
399404
}
400405

401-
public void setPopulation(boolean population) {
406+
public void setPopulation(Boolean population) {
402407
this.population = population;
403408
}
404409

src/main/java/org/broadinstitute/consent/http/service/UseRestrictionConverter.java

+12-8
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.broadinstitute.consent.http.models.OntologyEntry;
1717
import org.broadinstitute.consent.http.util.ConsentLogger;
1818

19-
@SuppressWarnings("WeakerAccess")
2019
public class UseRestrictionConverter implements ConsentLogger {
2120

2221
private final ServicesConfiguration servicesConfiguration;
@@ -63,9 +62,14 @@ public DataUse parseDataUsePurpose(DataAccessRequest dar) {
6362
}
6463

6564
// commercial status
66-
if (Objects.nonNull(dar.getData().getForProfit()) && Boolean.TRUE.equals(dar.getData().getForProfit())) {
67-
dataUse.setNonProfitUse(!dar.getData().getForProfit());
68-
dataUse.setCommercialUse(dar.getData().getForProfit());
65+
if (Objects.nonNull(dar.getData().getForProfit())) {
66+
if (Boolean.TRUE.equals(dar.getData().getForProfit())) {
67+
dataUse.setNonProfitUse(!dar.getData().getForProfit());
68+
dataUse.setCommercialUse(dar.getData().getForProfit());
69+
} else {
70+
dataUse.setNonProfitUse(dar.getData().getForProfit());
71+
dataUse.setCommercialUse(!dar.getData().getForProfit());
72+
}
6973
}
7074

7175
// gender
@@ -96,10 +100,10 @@ public DataUse parseDataUsePurpose(DataAccessRequest dar) {
96100
dataUse.setOther(dar.getData().getOtherText());
97101
}
98102

99-
if (Objects.nonNull(dar.getData().getNotHealth())) {
100-
dataUse.setNotHealth(dar.getData().getNotHealth());
101-
dataUse.setNonBiomedical(dar.getData().getNotHealth());
102-
}
103+
// if (Objects.nonNull(dar.getData().getNotHealth())) {
104+
// dataUse.setNotHealth(dar.getData().getNotHealth());
105+
// dataUse.setNonBiomedical(dar.getData().getNotHealth());
106+
// }
103107

104108
if ((Objects.nonNull(dar.getData().getIllegalBehavior())) && Boolean.TRUE.equals(dar.getData()
105109
.getIllegalBehavior())) {

src/test/java/org/broadinstitute/consent/http/service/UseRestrictionConverterTest.java

+68-4
Original file line numberDiff line numberDiff line change
@@ -130,17 +130,81 @@ void testParseDataUsePurposeEmpty() {
130130
DataAccessRequest dar = createDataAccessRequest();
131131
DataUse dataUse = converter.parseDataUsePurpose(dar);
132132
assertNull(dataUse.getGeneralUse());
133-
assertNull(dataUse.getMethodsResearch());
134-
assertNull(dataUse.getControlSetOption());
135133
assertNull(dataUse.getDiseaseRestrictions());
134+
assertNull(dataUse.getHmbResearch());
135+
assertNull(dataUse.getPopulationOriginsAncestry());
136+
assertNull(dataUse.getMethodsResearch());
136137
assertNull(dataUse.getCommercialUse());
138+
assertNull(dataUse.getNonProfitUse());
139+
assertNull(dataUse.getOther());
140+
assertNull(dataUse.getSecondaryOther());
141+
assertNull(dataUse.getEthicsApprovalRequired());
142+
assertNull(dataUse.getCollaboratorRequired());
143+
assertNull(dataUse.getGeographicalRestrictions());
144+
assertNull(dataUse.getGeneticStudiesOnly());
145+
assertNull(dataUse.getPublicationResults());
146+
assertNull(dataUse.getPublicationMoratorium());
147+
assertNull(dataUse.getControls());
137148
assertNull(dataUse.getGender());
138149
assertNull(dataUse.getPediatric());
139-
assertNull(dataUse.getPopulationOriginsAncestry());
150+
assertNull(dataUse.getPopulation());
151+
assertNull(dataUse.getIllegalBehavior());
152+
assertNull(dataUse.getSexualDiseases());
153+
assertNull(dataUse.getStigmatizeDiseases());
154+
assertNull(dataUse.getVulnerablePopulations());
155+
assertNull(dataUse.getPsychologicalTraits());
156+
assertNull(dataUse.getNotHealth());
157+
}
158+
159+
@Test
160+
void testParseDataUsePurposeFalseAsNull() {
161+
Client client = ClientBuilder.newClient();
162+
UseRestrictionConverter converter = new UseRestrictionConverter(client, config());
163+
DataAccessRequest dar = createDataAccessRequest();
164+
DataAccessRequestData data = new DataAccessRequestData();
165+
166+
data.setMethods(false);
167+
data.setPopulation(false);
168+
data.setControls(false);
169+
data.setOntologies(List.of());
170+
data.setForProfit(false);
171+
data.setGender("");
172+
data.setPediatric(false);
173+
data.setIllegalBehavior(false);
174+
data.setSexualDiseases(false);
175+
data.setStigmatizedDiseases(false);
176+
data.setVulnerablePopulation(false);
177+
data.setPsychiatricTraits(false);
178+
data.setNotHealth(false);
179+
180+
dar.setData(data);
181+
DataUse dataUse = converter.parseDataUsePurpose(dar);
182+
assertNull(dataUse.getGeneralUse());
183+
assertNull(dataUse.getDiseaseRestrictions());
140184
assertNull(dataUse.getHmbResearch());
185+
assertNull(dataUse.getPopulationOriginsAncestry());
186+
assertNull(dataUse.getMethodsResearch());
187+
// These cases are slightly different as forProfit false means commercialUse is false and nonProfitUse is true
188+
assertNotNull(dataUse.getCommercialUse());
189+
assertNotNull(dataUse.getNonProfitUse());
141190
assertNull(dataUse.getOther());
142-
assertNull(dataUse.getOtherRestrictions());
143191
assertNull(dataUse.getSecondaryOther());
192+
assertNull(dataUse.getEthicsApprovalRequired());
193+
assertNull(dataUse.getCollaboratorRequired());
194+
assertNull(dataUse.getGeographicalRestrictions());
195+
assertNull(dataUse.getGeneticStudiesOnly());
196+
assertNull(dataUse.getPublicationResults());
197+
assertNull(dataUse.getPublicationMoratorium());
198+
assertNull(dataUse.getControls());
199+
assertNull(dataUse.getGender());
200+
assertNull(dataUse.getPediatric());
201+
assertNull(dataUse.getPopulation());
202+
assertNull(dataUse.getIllegalBehavior());
203+
assertNull(dataUse.getSexualDiseases());
204+
assertNull(dataUse.getStigmatizeDiseases());
205+
assertNull(dataUse.getVulnerablePopulations());
206+
assertNull(dataUse.getPsychologicalTraits());
207+
assertNull(dataUse.getNotHealth());
144208
}
145209

146210
@Test

0 commit comments

Comments
 (0)