From ac69147dd9c1ee3784815cec5b5a7e766fd0bb5a Mon Sep 17 00:00:00 2001 From: Jose Blanco Date: Mon, 20 Jan 2025 17:38:25 -0500 Subject: [PATCH] so that ACM wont get doi when depositing with swordv2 --- .../content/WorkspaceItemServiceImpl.java | 24 ++++++++++++++++++- .../xmlworkflow/XmlWorkflowServiceImpl.java | 10 +++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java index c15257073cae..bbb4a8985570 100644 --- a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java @@ -172,9 +172,31 @@ public WorkspaceItem create(Context context, Collection collection, UUID uuid, b itemService.update(context, item); + boolean noDoi = context.getNoDoiStatus(); + EPerson ep = item.getSubmitter(); + + String email = ep.getEmail(); + + log.info("DOI: the submitter email ==> " + email); + + //String nodoi_email = config.getProperty("nodoi.acmemail"); + + String nodoi_email = DSpaceServicesFactory.getInstance().getConfigurationService().getProperty("nodoi.email"); + + //String nodoi_email = "blancoj@umich.edu"; + + + log.info("DOI: acm email = " + nodoi_email); + + if ( email.equals(nodoi_email) ) + { + log.info("DOI: no doi creation, this is a special case for ACM"); + + context.setNoDoiStatus (true); + noDoi= true; + } - boolean noDoi = context.getNoDoiStatus(); // Put this here just for safety, but don't think it affects anything from my testing (UM Change) log.info("DOI: trying to create a DOI for the initial page"); if ( !noDoi ) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index cd8c6520193e..859f9b872abe 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -815,9 +815,17 @@ protected void notifyOfArchive(Context context, Item item, Collection coll) DSpaceObject item_dso = (DSpaceObject) item; String doi = doiIdentifierProvider.getDOIByObject(context, item_dso); + + String doi_url = ""; + if (doi == null) { + doi_url ="NO DOI CREATED"; + } else { + doi_url = doi.replace("doi:", "https://dx.doi.org/"); + } + // what you get for doi: doi:10.33577/42 // what you want to send out in email:https://dx.doi.org/10.7302/22447 - String doi_url = doi.replace("doi:", "https://dx.doi.org/"); + // String doi_url = doi.replace("doi:", "https://dx.doi.org/"); log.info("DOIHERE is = " + doi_url); // Get title