From d810a1cb1b25b3d2c78a0226866439be3aa7f0b1 Mon Sep 17 00:00:00 2001 From: jcorvi Date: Wed, 7 Sep 2022 16:19:35 +0200 Subject: [PATCH] development --- .../rest/api/controllers/ReportController.java | 6 +++++- .../etransafe/pretox/rest/api/model/Finding.java | 2 +- .../inb/etransafe/pretox/rest/api/model/Report.java | 10 ++++++++++ .../etransafe/pretox/rest/api/model/Section.java | 13 +++++++++---- .../rest/api/repository/ReportRepositoryImpl.java | 1 + .../rest/api/security/pkce/SecurityConfig.java | 1 + .../pretox/rest/api/services/ReportService.java | 8 ++++++++ .../pretox/rest/api/services/ReportServiceImpl.java | 6 ++++-- 8 files changed, 39 insertions(+), 8 deletions(-) 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 46fc24d..adb3fec 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 d89434f..d4f4019 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 d42601c..066bbb3 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 681360e..33999f7 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 754cecb..01a79e9 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 8a81b9f..5f1363b 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 fb6717b..4dae592 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 9a1b1fb..67d086c 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); } + } -- GitLab