From 45d0625542d9b8e688a4333fe45b3df87b668e06 Mon Sep 17 00:00:00 2001 From: Andrey Lugovskiy Date: Thu, 5 Oct 2017 12:56:25 +0300 Subject: [PATCH] - added services for clear DOIs --- .../server/persistence/domain/AccessionRepository.java | 4 ++++ .../java/org/genesys2/server/service/GenesysService.java | 5 +++++ .../genesys2/server/service/impl/GenesysServiceImpl.java | 9 +++++++++ .../server/servlet/controller/admin/AdminController.java | 8 ++++++++ src/main/webapp/WEB-INF/jsp/admin/index.jsp | 9 ++++++++- 5 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/genesys2/server/persistence/domain/AccessionRepository.java b/src/main/java/org/genesys2/server/persistence/domain/AccessionRepository.java index 062121037..324f56111 100644 --- a/src/main/java/org/genesys2/server/persistence/domain/AccessionRepository.java +++ b/src/main/java/org/genesys2/server/persistence/domain/AccessionRepository.java @@ -148,4 +148,8 @@ public interface AccessionRepository extends JpaRepository, Acc public List lastUpdatedStatistics(FaoInstitute faoInstitute); public Accession findByDoi(String doi); + + @Query("update Accession accession set accession.doi = null where accession.doi is not null") + @Modifying + void removeDOIs(); } diff --git a/src/main/java/org/genesys2/server/service/GenesysService.java b/src/main/java/org/genesys2/server/service/GenesysService.java index 1fb6743c0..44ac065e4 100644 --- a/src/main/java/org/genesys2/server/service/GenesysService.java +++ b/src/main/java/org/genesys2/server/service/GenesysService.java @@ -77,6 +77,11 @@ public interface GenesysService { Accession getAccession(long accessionId); + /** + * Clear DOIs for accessions(set null in DOI field) + */ + void removeDOIs(); + Accession getAccessionByDOI(String doi); List listAccessions(FaoInstitute faoInstitute, String accessionName); diff --git a/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java index 30a7ff89c..5acc96beb 100644 --- a/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/GenesysServiceImpl.java @@ -335,6 +335,15 @@ public class GenesysServiceImpl implements GenesysService, DatasetService { return lazyLoadAccession(accession); } + /** + * {@inheritDoc} + */ + @Transactional + @Override + public void removeDOIs() { + accessionRepository.removeDOIs(); + } + @Override public Accession getAccessionByDOI(final String doi) { Accession accession = accessionRepository.findByDoi(doi); diff --git a/src/main/java/org/genesys2/server/servlet/controller/admin/AdminController.java b/src/main/java/org/genesys2/server/servlet/controller/admin/AdminController.java index 5e9618d6c..babebb518 100644 --- a/src/main/java/org/genesys2/server/servlet/controller/admin/AdminController.java +++ b/src/main/java/org/genesys2/server/servlet/controller/admin/AdminController.java @@ -60,6 +60,7 @@ import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.xml.sax.SAXException; @@ -478,4 +479,11 @@ public class AdminController { LOG.info("Done assigning crops to accessions with CROPNAME."); return "redirect:/admin/"; } + + @PostMapping(value = "/clear-dois") + public String clearDois(){ + LOG.info("Clear DOIs"); + genesysService.removeDOIs(); + return "redirect:/admin/"; + } } diff --git a/src/main/webapp/WEB-INF/jsp/admin/index.jsp b/src/main/webapp/WEB-INF/jsp/admin/index.jsp index ec12b23a4..561ac103e 100644 --- a/src/main/webapp/WEB-INF/jsp/admin/index.jsp +++ b/src/main/webapp/WEB-INF/jsp/admin/index.jsp @@ -132,5 +132,12 @@ +

DOI

+
"> + + + +
+ - \ No newline at end of file + -- GitLab