Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0fd9229

Browse files
committedMay 14, 2024·
Refactor BioDataCatalyst to ProjectMetaData
This server two purposes. More accurate naming and to fix json parsing.
1 parent b6e61c4 commit 0fd9229

File tree

6 files changed

+28
-31
lines changed

6 files changed

+28
-31
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
package edu.harvard.hms.dbmi.avillach.auth.model;
22

3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
35
import java.util.ArrayList;
46

57
public class FenceMapping {
68

7-
private ArrayList<BioDataCatalyst> projectMetaData;
9+
@JsonProperty("bio_data_catalyst")
10+
private ArrayList<ProjectMetaData> bio_data_catalyst;
811

9-
public ArrayList<BioDataCatalyst> getProjectMetaData() {
10-
return projectMetaData;
12+
public ArrayList<ProjectMetaData> getBio_data_catalyst() {
13+
return bio_data_catalyst;
1114
}
1215

13-
public void setProjectMetaData(ArrayList<BioDataCatalyst> projectMetaData) {
14-
this.projectMetaData = projectMetaData;
16+
public void setBio_data_catalyst(ArrayList<ProjectMetaData> bio_data_catalyst) {
17+
this.bio_data_catalyst = bio_data_catalyst;
1518
}
1619
}

‎pic-sure-auth-services/src/main/java/edu/harvard/hms/dbmi/avillach/auth/model/BioDataCatalyst.java ‎pic-sure-auth-services/src/main/java/edu/harvard/hms/dbmi/avillach/auth/model/ProjectMetaData.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package edu.harvard.hms.dbmi.avillach.auth.model;
22

3-
public class BioDataCatalyst {
3+
public class ProjectMetaData {
44
private int raw_clinical_variable_count;
55
private int raw_clinical_sample_size;
66
private String study_identifier;

‎pic-sure-auth-services/src/main/java/edu/harvard/hms/dbmi/avillach/auth/rest/StudyAccessService.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package edu.harvard.hms.dbmi.avillach.auth.rest;
22

3-
import edu.harvard.hms.dbmi.avillach.auth.data.entity.Role;
4-
import edu.harvard.hms.dbmi.avillach.auth.data.repository.RoleRepository;
5-
import edu.harvard.hms.dbmi.avillach.auth.model.BioDataCatalyst;
3+
import edu.harvard.hms.dbmi.avillach.auth.model.ProjectMetaData;
64
import edu.harvard.hms.dbmi.avillach.auth.service.auth.FENCEAuthenticationService;
75
import edu.harvard.hms.dbmi.avillach.auth.utils.FenceMappingUtility;
86
import io.swagger.annotations.Api;
@@ -55,9 +53,9 @@ public Response addStudyAccess(@ApiParam(value="The Study Identifier of the new
5553
return Response.status(Response.Status.BAD_REQUEST).entity("Study identifier cannot be blank").build();
5654
}
5755

58-
BioDataCatalyst fenceMappingForStudy;
56+
ProjectMetaData fenceMappingForStudy;
5957
try {
60-
Map<String, BioDataCatalyst> fenceMapping = fenceMappingUtility.getFENCEMapping();
58+
Map<String, ProjectMetaData> fenceMapping = fenceMappingUtility.getFENCEMapping();
6159
if (fenceMapping == null) {
6260
throw new Exception("Fence mapping is null");
6361
}

‎pic-sure-auth-services/src/main/java/edu/harvard/hms/dbmi/avillach/auth/service/auth/FENCEAuthenticationService.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import static edu.harvard.hms.dbmi.avillach.auth.JAXRSConfiguration.fence_standard_access_rules;
77
import static edu.harvard.hms.dbmi.avillach.auth.JAXRSConfiguration.fence_topmed_consent_group_concept_path;
88

9-
import java.io.File;
109
import java.io.IOException;
1110
import java.util.*;
1211
import java.util.regex.Matcher;
@@ -20,7 +19,7 @@
2019

2120
import com.fasterxml.jackson.core.JsonProcessingException;
2221
import com.fasterxml.jackson.databind.node.ObjectNode;
23-
import edu.harvard.hms.dbmi.avillach.auth.model.BioDataCatalyst;
22+
import edu.harvard.hms.dbmi.avillach.auth.model.ProjectMetaData;
2423
import edu.harvard.hms.dbmi.avillach.auth.utils.FenceMappingUtility;
2524
import org.apache.commons.lang3.StringUtils;
2625
import org.apache.http.Header;
@@ -247,7 +246,7 @@ public Response getFENCEProfile(String callback_url, Map<String, String> authReq
247246

248247
private void createAndUpsertRole(String access_role_name, User current_user) {
249248
logger.debug("createAndUpsertRole() starting...");
250-
BioDataCatalyst projectMetadata = fenceMappingUtility.getFenceMappingByAuthZ().get(access_role_name);
249+
ProjectMetaData projectMetadata = fenceMappingUtility.getFenceMappingByAuthZ().get(access_role_name);
251250

252251
if (projectMetadata == null) {
253252
logger.error("getFENCEProfile() -> createAndUpsertRole could not find study in FENCE mapping SKIPPING: {}", access_role_name);

‎pic-sure-auth-services/src/main/java/edu/harvard/hms/dbmi/avillach/auth/utils/FenceMappingUtility.java

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package edu.harvard.hms.dbmi.avillach.auth.utils;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4-
import edu.harvard.hms.dbmi.avillach.auth.model.BioDataCatalyst;
4+
import edu.harvard.hms.dbmi.avillach.auth.model.ProjectMetaData;
55
import edu.harvard.hms.dbmi.avillach.auth.model.FenceMapping;
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
@@ -21,8 +21,8 @@
2121
public class FenceMappingUtility {
2222

2323
private final Logger logger = LoggerFactory.getLogger(this.getClass());
24-
private Map<String, BioDataCatalyst> _projectMap;
25-
private Map<String, BioDataCatalyst> fenceMappingByAuthZ;
24+
private Map<String, ProjectMetaData> _projectMap;
25+
private Map<String, ProjectMetaData> fenceMappingByAuthZ;
2626
private static String templatePath;
2727
private ObjectMapper objectMapper;
2828

@@ -43,9 +43,9 @@ public void init() {
4343
}
4444

4545
private void initializeFENCEMapping() throws IOException {
46-
ArrayList<BioDataCatalyst> projects = loadBioDataCatalystFenceMappingData();
46+
ArrayList<ProjectMetaData> projects = loadBioDataCatalystFenceMappingData();
4747
_projectMap = new HashMap<>(projects.size());
48-
for (BioDataCatalyst project : projects) {
48+
for (ProjectMetaData project : projects) {
4949
String consentVal = (project.getConsent_group_code() != null && !project.getConsent_group_code().isEmpty()) ?
5050
project.getStudy_identifier() + "." + project.getConsent_group_code() :
5151
project.getStudy_identifier();
@@ -54,24 +54,24 @@ private void initializeFENCEMapping() throws IOException {
5454
}
5555

5656
private void initializeFenceMappingByAuthZ() throws IOException {
57-
ArrayList<BioDataCatalyst> projects = loadBioDataCatalystFenceMappingData();
57+
ArrayList<ProjectMetaData> projects = loadBioDataCatalystFenceMappingData();
5858
fenceMappingByAuthZ = new HashMap<>(projects.size());
59-
for (BioDataCatalyst project : projects) {
59+
for (ProjectMetaData project : projects) {
6060
fenceMappingByAuthZ.put(project.getAuthZ().replace("\\/", "/"), project);
6161
}
6262
}
6363

64-
public Map<String, BioDataCatalyst> getFENCEMapping() {
64+
public Map<String, ProjectMetaData> getFENCEMapping() {
6565
return _projectMap;
6666
}
6767

68-
public Map<String, BioDataCatalyst> getFenceMappingByAuthZ() {
68+
public Map<String, ProjectMetaData> getFenceMappingByAuthZ() {
6969
return fenceMappingByAuthZ;
7070
}
7171

72-
private ArrayList<BioDataCatalyst> loadBioDataCatalystFenceMappingData() {
72+
private ArrayList<ProjectMetaData> loadBioDataCatalystFenceMappingData() {
7373
FenceMapping fenceMapping;
74-
ArrayList<BioDataCatalyst> projects;
74+
ArrayList<ProjectMetaData> projects;
7575
try {
7676
logger.debug("getFENCEMapping: loading FENCE mapping from {}", templatePath);
7777
fenceMapping = objectMapper.readValue(

‎pic-sure-auth-services/src/test/java/edu/harvard/hms/dbmi/avillach/StudyAccessServiceTest.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
package edu.harvard.hms.dbmi.avillach;
22

3-
import edu.harvard.hms.dbmi.avillach.auth.data.repository.RoleRepository;
4-
import edu.harvard.hms.dbmi.avillach.auth.model.BioDataCatalyst;
3+
import edu.harvard.hms.dbmi.avillach.auth.model.ProjectMetaData;
54
import edu.harvard.hms.dbmi.avillach.auth.rest.StudyAccessService;
65
import edu.harvard.hms.dbmi.avillach.auth.service.auth.FENCEAuthenticationService;
76
import edu.harvard.hms.dbmi.avillach.auth.utils.FenceMappingUtility;
87
import org.junit.Before;
98
import org.junit.Test;
109
import org.mockito.InjectMocks;
1110
import org.mockito.Mock;
12-
import org.mockito.Mockito;
1311
import org.mockito.MockitoAnnotations;
1412

1513
import javax.ws.rs.core.Response;
16-
import java.util.HashMap;
1714
import java.util.Map;
1815

1916
import static org.junit.Assert.assertEquals;
@@ -47,7 +44,7 @@ public void testAddStudyAccessWithBlankIdentifier() {
4744
@Test
4845
public void testAddStudyAccess() {
4946
String studyIdentifier = "testStudy";
50-
BioDataCatalyst bioDataCatalyst = new BioDataCatalyst();
47+
ProjectMetaData bioDataCatalyst = new ProjectMetaData();
5148
bioDataCatalyst.setStudy_identifier("testStudy");
5249
bioDataCatalyst.setConsent_group_code("");
5350
when(fenceMappingUtility.getFENCEMapping()).thenReturn(Map.of(studyIdentifier, bioDataCatalyst));
@@ -61,7 +58,7 @@ public void testAddStudyAccess() {
6158
@Test
6259
public void testAddStudyAccessWithConsent() {
6360
String studyIdentifier = "testStudy2.c2";
64-
BioDataCatalyst bioDataCatalyst = new BioDataCatalyst();
61+
ProjectMetaData bioDataCatalyst = new ProjectMetaData();
6562
bioDataCatalyst.setStudy_identifier("testStudy2");
6663
bioDataCatalyst.setConsent_group_code("c2");
6764

0 commit comments

Comments
 (0)
Please sign in to comment.