mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-13 21:13:19 +00:00
Added method to DOIOrganiser to send alert mails.
This commit is contained in:
@@ -8,7 +8,10 @@
|
|||||||
|
|
||||||
package org.dspace.identifier.doi;
|
package org.dspace.identifier.doi;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
import org.apache.commons.cli.CommandLine;
|
import org.apache.commons.cli.CommandLine;
|
||||||
import org.apache.commons.cli.CommandLineParser;
|
import org.apache.commons.cli.CommandLineParser;
|
||||||
import org.apache.commons.cli.HelpFormatter;
|
import org.apache.commons.cli.HelpFormatter;
|
||||||
@@ -20,8 +23,11 @@ import org.apache.commons.cli.PosixParser;
|
|||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.dspace.authorize.AuthorizeException;
|
import org.dspace.authorize.AuthorizeException;
|
||||||
import org.dspace.content.DSpaceObject;
|
import org.dspace.content.DSpaceObject;
|
||||||
|
import org.dspace.core.ConfigurationManager;
|
||||||
import org.dspace.core.Constants;
|
import org.dspace.core.Constants;
|
||||||
import org.dspace.core.Context;
|
import org.dspace.core.Context;
|
||||||
|
import org.dspace.core.Email;
|
||||||
|
import org.dspace.core.I18nUtil;
|
||||||
import org.dspace.identifier.DOI;
|
import org.dspace.identifier.DOI;
|
||||||
import org.dspace.identifier.DOIIdentifierProvider;
|
import org.dspace.identifier.DOIIdentifierProvider;
|
||||||
import org.dspace.identifier.IdentifierException;
|
import org.dspace.identifier.IdentifierException;
|
||||||
@@ -512,4 +518,32 @@ public class DOIOrganiser {
|
|||||||
LOG.error("It wasn't possible to update The object", ex);
|
LOG.error("It wasn't possible to update The object", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendAlertMail(String action, DSpaceObject dso, String doi, String reason)
|
||||||
|
throws IOException
|
||||||
|
{
|
||||||
|
String recipient = ConfigurationManager.getProperty("alert.recipient");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (recipient != null)
|
||||||
|
{
|
||||||
|
Email email = Email.getEmail(
|
||||||
|
I18nUtil.getEmailFilename(Locale.getDefault(), "doi_maintenance_error"));
|
||||||
|
email.addRecipient(recipient);
|
||||||
|
email.addArgument(action);
|
||||||
|
email.addArgument(new Date());
|
||||||
|
email.addArgument(dso.getTypeText());
|
||||||
|
email.addArgument(new Integer(dso.getID()));
|
||||||
|
email.addArgument(doi);
|
||||||
|
email.addArgument(reason);
|
||||||
|
email.send();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
LOG.warn("Unable to send email alert", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
18
dspace/config/emails/doi_maintenance_error
Normal file
18
dspace/config/emails/doi_maintenance_error
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# E-mail sent to designated address when a metadata update, registration
|
||||||
|
# or reserveration of a doi fails
|
||||||
|
#
|
||||||
|
# Parameters: {0} action (updating metadata of, registering or reserving)
|
||||||
|
# {1} Date & Time
|
||||||
|
# {2} resource type text
|
||||||
|
# {3} resource id
|
||||||
|
# {4} doi
|
||||||
|
# {5} reason
|
||||||
|
#
|
||||||
|
# See org.dspace.core.Email for information on the format of this file.
|
||||||
|
#
|
||||||
|
Subject: DSpace: Error {0} DOI {3}
|
||||||
|
|
||||||
|
Date: {1}
|
||||||
|
|
||||||
|
{0} DOI {4} for {2} with ID {3} failed:
|
||||||
|
{5}
|
Reference in New Issue
Block a user