diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/controllers/ReportController.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/controllers/ReportController.java index 46fc24dfae4495a2d04080cd6de34b51d99ac1bc..adb3fec09fcd3962b09ac0c53d16b7ef94b7f6e3 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/controllers/ReportController.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/controllers/ReportController.java @@ -67,7 +67,6 @@ public class ReportController { } } - @GetMapping("/download/{gridFSId}") public ResponseEntity download(@PathVariable String gridFSId) throws IOException { Report legacyReport = reportService.download(gridFSId); @@ -92,5 +91,10 @@ public class ReportController { public ResponseEntity restoreDocument(@PathVariable("id") String reportId){ return ResponseEntity.ok().body(reportService.restore(reportId)); } + + @GetMapping(value ="/{id}") + public ResponseEntity find(@PathVariable(value="id") String id) { + return new ResponseEntity(reportService.findById(id), HttpStatus.OK); + } } \ No newline at end of file diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Finding.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Finding.java index d89434f4c5516f5c32928b132f6d1f3460d16604..d4f40198192252ae88f5f943bfa8eda1be2fd98c 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Finding.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Finding.java @@ -436,7 +436,7 @@ public class Finding { public String getTrackingSummary() { - return findingId.toString(); + return findingId==null?"":findingId.toString(); } diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Report.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Report.java index d42601c420bf0b7a04b89b70869471ba428cc583..066bbb3badd68cb64e964007ae0bdc02cef3c72d 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Report.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Report.java @@ -32,6 +32,8 @@ public class Report { private RecordState recordState; + private Boolean hasSections; + @DBRef private List
sections; @@ -123,6 +125,14 @@ public class Report { this.sections = sections; } + public Boolean getHasSections() { + return hasSections; + } + + public void setHasSections(Boolean hasSections) { + this.hasSections = hasSections; + } + diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Section.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Section.java index 681360ef6112a9ba11946a21774ba20f51053c90..33999f72d0e11821cfc62e55b4f8460e57dcf87b 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Section.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/model/Section.java @@ -2,6 +2,7 @@ package es.bsc.inb.etransafe.pretox.rest.api.model; import org.bson.types.ObjectId; import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.DBRef; import org.springframework.data.mongodb.core.mapping.Field; @org.springframework.data.mongodb.core.mapping.Document(collection="sections") @@ -21,6 +22,8 @@ public class Section{ private String fileName; + @DBRef + private DocumentAnnotations annotations; public Section() { super(); @@ -63,14 +66,16 @@ public class Section{ return fileName; } - - public void setFileName(String fileName) { this.fileName = fileName; } + public DocumentAnnotations getAnnotations() { + return annotations; + } - - + public void setAnnotations(DocumentAnnotations annotations) { + this.annotations = annotations; + } } diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/repository/ReportRepositoryImpl.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/repository/ReportRepositoryImpl.java index 754cecbebb625759dff8540caf0a3d62431c13fa..01a79e9fb283ce92d5a075713fd78daa72812f4c 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/repository/ReportRepositoryImpl.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/repository/ReportRepositoryImpl.java @@ -27,6 +27,7 @@ public class ReportRepositoryImpl implements ReportRepositoryCustom{ query.fields().include("uploadDate"); query.fields().include("status"); query.fields().include("recordState"); + query.fields().include("hasSections"); query.addCriteria(Criteria.where("recordState").ne("DELETED")); //Sort sort = new Sort(Sort.Direction.ASC, "name"); //query.with(sort); diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/security/pkce/SecurityConfig.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/security/pkce/SecurityConfig.java index 8a81b9f4775603bdfc7c417bc2fbb6d739a42449..5f1363b300b8d7e6d02f195f83d6479d2bad54a8 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/security/pkce/SecurityConfig.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/security/pkce/SecurityConfig.java @@ -19,6 +19,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .authorizeRequests() .antMatchers(HttpMethod.GET, "/liveness").permitAll() .antMatchers(HttpMethod.GET, "/readiness").permitAll() + .antMatchers(HttpMethod.GET, "/reports/**").permitAll() .antMatchers(HttpMethod.GET, "/documents/restore/*").permitAll() .antMatchers(HttpMethod.GET, "/reports/restore/*").permitAll() .antMatchers(HttpMethod.GET, "/api-docs").permitAll() diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportService.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportService.java index fb6717b39d29db42830cc0d8d095e022c7dec78f..4dae59218999616acfe4e8bfe84a6919f65b8a6f 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportService.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportService.java @@ -48,4 +48,12 @@ public interface ReportService { * @return */ public Report restore(String reportId); + /** + * + * @param id + * @return + */ + public Report findById(String id); + + } diff --git a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportServiceImpl.java b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportServiceImpl.java index 9a1b1fb9e19ef50874f3916f3d033e93b3a795a9..67d086c65b8ce3298973b696ca6e6c261d239b75 100644 --- a/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportServiceImpl.java +++ b/src/main/java/es/bsc/inb/etransafe/pretox/rest/api/services/ReportServiceImpl.java @@ -111,8 +111,9 @@ public class ReportServiceImpl implements ReportService { report.setRecordState(RecordState.DELETED); return reportRepository.save(report); } - - private Report findById(String reportId) { + + @Override + public Report findById(String reportId) { return reportRepository.findById(reportId).get(); } @@ -123,4 +124,5 @@ public class ReportServiceImpl implements ReportService { return reportRepository.save(report); } + }