mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
Merge pull request #9324 from mwoodiupui/noslf4j
Remove SLF4J direct dependency
This commit is contained in:
@@ -21,6 +21,8 @@ import org.apache.commons.cli.CommandLineParser;
|
||||
import org.apache.commons.cli.DefaultParser;
|
||||
import org.apache.commons.cli.Options;
|
||||
import org.apache.commons.cli.ParseException;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.MetadataField;
|
||||
import org.dspace.content.MetadataSchema;
|
||||
@@ -30,8 +32,6 @@ import org.dspace.content.factory.ContentServiceFactory;
|
||||
import org.dspace.content.service.MetadataFieldService;
|
||||
import org.dspace.content.service.MetadataSchemaService;
|
||||
import org.dspace.core.Context;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
@@ -40,9 +40,9 @@ import org.xml.sax.SAXException;
|
||||
/**
|
||||
* @author Richard Jones
|
||||
*
|
||||
* This class takes an xml document as passed in the arguments and
|
||||
* This class takes an XML document as passed in the arguments and
|
||||
* uses it to create metadata elements in the Metadata Registry if
|
||||
* they do not already exist
|
||||
* they do not already exist.
|
||||
*
|
||||
* The format of the XML file is as follows:
|
||||
*
|
||||
@@ -69,7 +69,7 @@ public class MetadataImporter {
|
||||
/**
|
||||
* logging category
|
||||
*/
|
||||
private static final Logger log = LoggerFactory.getLogger(MetadataImporter.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Default constructor
|
||||
@@ -89,6 +89,7 @@ public class MetadataImporter {
|
||||
* @throws SAXException if parser error
|
||||
* @throws NonUniqueMetadataException if duplicate metadata
|
||||
* @throws RegistryImportException if import fails
|
||||
* @throws XPathExpressionException passed through
|
||||
**/
|
||||
public static void main(String[] args)
|
||||
throws ParseException, SQLException, IOException, TransformerException,
|
||||
@@ -125,6 +126,7 @@ public class MetadataImporter {
|
||||
* @throws SAXException if parser error
|
||||
* @throws NonUniqueMetadataException if duplicate metadata
|
||||
* @throws RegistryImportException if import fails
|
||||
* @throws XPathExpressionException passed through
|
||||
*/
|
||||
public static void loadRegistry(String file, boolean forceUpdate)
|
||||
throws SQLException, IOException, TransformerException, ParserConfigurationException, AuthorizeException,
|
||||
@@ -203,7 +205,7 @@ public class MetadataImporter {
|
||||
|
||||
if (s == null) {
|
||||
// Schema does not exist - create
|
||||
log.info("Registering Schema " + name + " (" + namespace + ")");
|
||||
log.info("Registering Schema {}({})", name, namespace);
|
||||
metadataSchemaService.create(context, name, namespace);
|
||||
} else {
|
||||
// Schema exists - if it's the same namespace, allow the type imports to continue
|
||||
@@ -215,7 +217,7 @@ public class MetadataImporter {
|
||||
// It's a different namespace - have we been told to update?
|
||||
if (updateExisting) {
|
||||
// Update the existing schema namespace and continue to type import
|
||||
log.info("Updating Schema " + name + ": New namespace " + namespace);
|
||||
log.info("Updating Schema {}: New namespace {}", name, namespace);
|
||||
s.setNamespace(namespace);
|
||||
metadataSchemaService.update(context, s);
|
||||
} else {
|
||||
@@ -274,7 +276,7 @@ public class MetadataImporter {
|
||||
if (qualifier == null) {
|
||||
fieldName = schema + "." + element;
|
||||
}
|
||||
log.info("Registering metadata field " + fieldName);
|
||||
log.info("Registering metadata field {}", fieldName);
|
||||
MetadataField field = metadataFieldService.create(context, schemaObj, element, qualifier, scopeNote);
|
||||
metadataFieldService.update(context, field);
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.cli.ParseException;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.discovery.DiscoverQuery;
|
||||
@@ -23,8 +25,6 @@ import org.dspace.discovery.utils.parameter.QueryBuilderSearchFilter;
|
||||
import org.dspace.scripts.DSpaceRunnable;
|
||||
import org.dspace.sort.SortOption;
|
||||
import org.dspace.utils.DSpace;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Runner responsible to import metadata about authors from OpenAIRE to Solr.
|
||||
@@ -33,13 +33,13 @@ import org.slf4j.LoggerFactory;
|
||||
* with this UUID will be used.
|
||||
* Invocation without any parameter results in massive import, processing all
|
||||
* authors registered in DSpace.
|
||||
*
|
||||
*
|
||||
* @author Alessandro Martelli (alessandro.martelli at 4science.it)
|
||||
*/
|
||||
public class PublicationLoaderRunnable
|
||||
extends DSpaceRunnable<PublicationLoaderScriptConfiguration<PublicationLoaderRunnable>> {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(PublicationLoaderRunnable.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private PublicationLoader oairePublicationLoader = null;
|
||||
|
||||
@@ -63,9 +63,9 @@ public class PublicationLoaderRunnable
|
||||
|
||||
profile = commandLine.getOptionValue("s");
|
||||
if (profile == null) {
|
||||
LOGGER.info("No argument for -s, process all profile");
|
||||
LOGGER.info("No argument for -s, process all profiles");
|
||||
} else {
|
||||
LOGGER.info("Process eperson item with UUID " + profile);
|
||||
LOGGER.info("Process eperson item with UUID {}", profile);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ public class PublicationLoaderRunnable
|
||||
* the researcher with this UUID will be chosen. If the uuid doesn't match any
|
||||
* researcher, the method returns an empty array list. If uuid is null, all
|
||||
* research will be return.
|
||||
*
|
||||
*
|
||||
* @param profileUUID uuid of the researcher. If null, all researcher will be
|
||||
* returned.
|
||||
* @return the researcher with specified UUID or all researchers
|
||||
@@ -96,10 +96,10 @@ public class PublicationLoaderRunnable
|
||||
private Iterator<Item> getResearchers(String profileUUID) {
|
||||
SearchService searchService = new DSpace().getSingletonService(SearchService.class);
|
||||
DiscoverQueryBuilder queryBuilder = SearchUtils.getQueryBuilder();
|
||||
List<QueryBuilderSearchFilter> filters = new ArrayList<QueryBuilderSearchFilter>();
|
||||
List<QueryBuilderSearchFilter> filters = new ArrayList<>();
|
||||
String query = "*:*";
|
||||
if (profileUUID != null) {
|
||||
query = "search.resourceid:" + profileUUID.toString();
|
||||
query = "search.resourceid:" + profileUUID;
|
||||
}
|
||||
try {
|
||||
DiscoverQuery discoverQuery = queryBuilder.buildQuery(context, null,
|
||||
|
@@ -12,13 +12,13 @@ import java.sql.SQLException;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Date;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.util.factory.UtilServiceFactory;
|
||||
import org.dspace.app.util.service.WebAppService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Represent a DSpace application while it is running. This helps us report
|
||||
@@ -29,11 +29,10 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
abstract public class AbstractDSpaceWebapp
|
||||
implements DSpaceWebappMXBean {
|
||||
private static final Logger log = LoggerFactory.getLogger(AbstractDSpaceWebapp.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
protected final WebAppService webAppService = UtilServiceFactory.getInstance().getWebAppService();
|
||||
|
||||
|
||||
protected String kind;
|
||||
|
||||
protected Date started;
|
||||
|
@@ -16,10 +16,10 @@ import java.util.regex.PatternSyntaxException;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.MetadataSchemaEnum;
|
||||
import org.dspace.core.Utils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Class representing a line in an input form.
|
||||
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class DCInput {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DCInput.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* the DC element name
|
||||
@@ -183,7 +183,7 @@ public class DCInput {
|
||||
}
|
||||
|
||||
//check if the input have a language tag
|
||||
language = Boolean.valueOf(fieldMap.get("language"));
|
||||
language = Boolean.parseBoolean(fieldMap.get("language"));
|
||||
valueLanguageList = new ArrayList<>();
|
||||
if (language) {
|
||||
String languageNameTmp = fieldMap.get("value-pairs-name");
|
||||
@@ -219,7 +219,7 @@ public class DCInput {
|
||||
|| "yes".equalsIgnoreCase(closedVocabularyStr);
|
||||
|
||||
// parsing of the <type-bind> element (using the colon as split separator)
|
||||
typeBind = new ArrayList<String>();
|
||||
typeBind = new ArrayList<>();
|
||||
String typeBindDef = fieldMap.get("type-bind");
|
||||
if (typeBindDef != null && typeBindDef.trim().length() > 0) {
|
||||
String[] types = typeBindDef.split(",");
|
||||
@@ -523,7 +523,7 @@ public class DCInput {
|
||||
* @return true when there is no type restriction or typeName is allowed
|
||||
*/
|
||||
public boolean isAllowedFor(String typeName) {
|
||||
if (typeBind.size() == 0) {
|
||||
if (typeBind.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -15,6 +15,8 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authenticate.service.AuthenticationService;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.core.Context;
|
||||
@@ -22,8 +24,6 @@ import org.dspace.core.factory.CoreServiceFactory;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.Group;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -49,15 +49,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
* specified first (in the configuration) thus getting highest priority.
|
||||
*
|
||||
* @author Larry Stone
|
||||
* @version $Revision$
|
||||
* @see AuthenticationMethod
|
||||
*/
|
||||
public class AuthenticationServiceImpl implements AuthenticationService {
|
||||
|
||||
/**
|
||||
* SLF4J logging category
|
||||
* Logging category
|
||||
*/
|
||||
private final Logger log = (Logger) LoggerFactory.getLogger(AuthenticationServiceImpl.class);
|
||||
private final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired(required = true)
|
||||
protected EPersonService ePersonService;
|
||||
@@ -121,6 +120,7 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
||||
return bestRet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLastActiveDate(Context context) {
|
||||
EPerson me = context.getCurrentUser();
|
||||
if (me != null) {
|
||||
|
@@ -24,6 +24,8 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authenticate.oidc.OidcClient;
|
||||
import org.dspace.authenticate.oidc.model.OidcTokenResponseDTO;
|
||||
import org.dspace.core.Context;
|
||||
@@ -31,8 +33,6 @@ import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.Group;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ public class OidcAuthenticationBean implements AuthenticationMethod {
|
||||
|
||||
private final static String LOGIN_PAGE_URL_FORMAT = "%s?client_id=%s&response_type=code&scope=%s&redirect_uri=%s";
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OidcAuthenticationBean.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private static final String OIDC_AUTHENTICATED = "oidc.authenticated";
|
||||
|
||||
@@ -174,7 +174,7 @@ public class OidcAuthenticationBean implements AuthenticationMethod {
|
||||
final Entry<String, String> entry = iterator.next();
|
||||
|
||||
if (isBlank(entry.getValue())) {
|
||||
LOGGER.error(" * {} is missing", entry.getKey());
|
||||
LOGGER.error(" * {} is missing", entry::getKey);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
@@ -183,7 +183,7 @@ public class OidcAuthenticationBean implements AuthenticationMethod {
|
||||
try {
|
||||
return format(LOGIN_PAGE_URL_FORMAT, authorizeUrl, clientId, scopes, encode(redirectUri, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
LOGGER.error(e.getMessage(), e);
|
||||
LOGGER.error(e::getMessage, e);
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@@ -23,6 +23,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
@@ -39,8 +41,6 @@ import org.dspace.profile.service.ResearcherProfileService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.orcid.jaxb.model.v3.release.record.Email;
|
||||
import org.orcid.jaxb.model.v3.release.record.Person;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -53,7 +53,7 @@ public class OrcidAuthenticationBean implements AuthenticationMethod {
|
||||
|
||||
public static final String ORCID_AUTH_ATTRIBUTE = "orcid-authentication";
|
||||
|
||||
private final static Logger LOGGER = LoggerFactory.getLogger(OrcidAuthenticationBean.class);
|
||||
private final static Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private final static String LOGIN_PAGE_URL_FORMAT = "%s?client_id=%s&response_type=code&scope=%s&redirect_uri=%s";
|
||||
|
||||
@@ -282,7 +282,8 @@ public class OrcidAuthenticationBean implements AuthenticationMethod {
|
||||
try {
|
||||
return orcidClient.getPerson(token.getAccessToken(), token.getOrcid());
|
||||
} catch (Exception ex) {
|
||||
LOGGER.error("An error occurs retriving the ORCID record with id " + token.getOrcid(), ex);
|
||||
LOGGER.error("An error occurs retriving the ORCID record with id {}",
|
||||
token.getOrcid(), ex);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@@ -18,12 +18,12 @@ import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.core.SelfNamedPlugin;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.jdom2.Namespace;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Configurable XSLT-driven Crosswalk
|
||||
@@ -88,7 +88,7 @@ public abstract class XSLTCrosswalk extends SelfNamedPlugin {
|
||||
/**
|
||||
* log4j category
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(XSLTCrosswalk.class);
|
||||
private static final Logger LOG = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* DSpace XML Namespace in JDOM form.
|
||||
@@ -168,8 +168,8 @@ public abstract class XSLTCrosswalk extends SelfNamedPlugin {
|
||||
transformFile.lastModified() > transformLastModified) {
|
||||
try {
|
||||
LOG.debug(
|
||||
(transformer == null ? "Loading {} XSLT stylesheet from {}" : "Reloading {} XSLT stylesheet from " +
|
||||
"{}"),
|
||||
(transformer == null ? "Loading {} XSLT stylesheet from {}"
|
||||
: "Reloading {} XSLT stylesheet from {}"),
|
||||
getPluginInstanceName(), transformFile.toString());
|
||||
|
||||
Source transformSource
|
||||
|
@@ -23,6 +23,8 @@ import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerException;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Collection;
|
||||
import org.dspace.content.Community;
|
||||
@@ -51,8 +53,6 @@ import org.jdom2.output.Format;
|
||||
import org.jdom2.output.XMLOutputter;
|
||||
import org.jdom2.transform.JDOMResult;
|
||||
import org.jdom2.transform.JDOMSource;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Configurable XSLT-driven dissemination Crosswalk
|
||||
@@ -88,7 +88,7 @@ public class XSLTDisseminationCrosswalk
|
||||
/**
|
||||
* log4j category
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(XSLTDisseminationCrosswalk.class);
|
||||
private static final Logger LOG = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* DSpace context, will be created if XSLTDisseminationCrosswalk had been started by command-line.
|
||||
@@ -140,12 +140,13 @@ public class XSLTDisseminationCrosswalk
|
||||
// right format for value of "schemaLocation" attribute.
|
||||
schemaLocation = configurationService.getProperty(prefix + "schemaLocation");
|
||||
if (schemaLocation == null) {
|
||||
LOG.warn("No schemaLocation for crosswalk=" + myAlias + ", key=" + prefix + "schemaLocation");
|
||||
LOG.warn("No schemaLocation for crosswalk={}, key={}schemaLocation", myAlias, prefix);
|
||||
} else if (schemaLocation.length() > 0 && schemaLocation.indexOf(' ') < 0) {
|
||||
// sanity check: schemaLocation should have space.
|
||||
LOG.warn("Possible INVALID schemaLocation (no space found) for crosswalk=" +
|
||||
myAlias + ", key=" + prefix + "schemaLocation" +
|
||||
"\n\tCorrect format is \"{namespace} {schema-URL}\"");
|
||||
LOG.warn("Possible INVALID schemaLocation (no space found) for crosswalk={},"
|
||||
+ " key={}schemaLocation"
|
||||
+ "\n\tCorrect format is \"{namespace} {schema-URL}\"",
|
||||
myAlias, prefix);
|
||||
}
|
||||
|
||||
// grovel for namespaces of the form:
|
||||
@@ -172,7 +173,7 @@ public class XSLTDisseminationCrosswalk
|
||||
try {
|
||||
init();
|
||||
} catch (CrosswalkInternalException e) {
|
||||
LOG.error(e.toString());
|
||||
LOG.error(e::toString);
|
||||
}
|
||||
return (Namespace[]) ArrayUtils.clone(namespaces);
|
||||
}
|
||||
@@ -187,7 +188,7 @@ public class XSLTDisseminationCrosswalk
|
||||
try {
|
||||
init();
|
||||
} catch (CrosswalkInternalException e) {
|
||||
LOG.error(e.toString());
|
||||
LOG.error(e::toString);
|
||||
}
|
||||
return schemaLocation;
|
||||
}
|
||||
@@ -220,7 +221,7 @@ public class XSLTDisseminationCrosswalk
|
||||
}
|
||||
|
||||
for (Map.Entry<String, String> parameter : parameters.entrySet()) {
|
||||
LOG.debug("Setting parameter {} to {}", parameter.getKey(), parameter.getValue());
|
||||
LOG.debug("Setting parameter {} to {}", parameter::getKey, parameter::getValue);
|
||||
xform.setParameter(parameter.getKey(), parameter.getValue());
|
||||
}
|
||||
|
||||
@@ -232,7 +233,7 @@ public class XSLTDisseminationCrosswalk
|
||||
root.detach();
|
||||
return root;
|
||||
} catch (TransformerException e) {
|
||||
LOG.error("Got error: " + e.toString());
|
||||
LOG.error("Got error: ()", e::toString);
|
||||
throw new CrosswalkInternalException("XSL translation failed: " + e.toString(), e);
|
||||
}
|
||||
}
|
||||
@@ -278,13 +279,13 @@ public class XSLTDisseminationCrosswalk
|
||||
.map(Element.class::cast).collect(Collectors.toList());
|
||||
return elementList;
|
||||
} catch (TransformerException e) {
|
||||
LOG.error("Got error: " + e.toString());
|
||||
LOG.error("Got error: {}", e::toString);
|
||||
throw new CrosswalkInternalException("XSL translation failed: " + e.toString(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine is this crosswalk can dessiminate the given object.
|
||||
* Determine is this crosswalk can disseminate the given object.
|
||||
*
|
||||
* @see DisseminationCrosswalk
|
||||
*/
|
||||
@@ -304,7 +305,7 @@ public class XSLTDisseminationCrosswalk
|
||||
try {
|
||||
init();
|
||||
} catch (CrosswalkInternalException e) {
|
||||
LOG.error(e.toString());
|
||||
LOG.error(e::toString);
|
||||
}
|
||||
return preferList;
|
||||
}
|
||||
@@ -312,7 +313,7 @@ public class XSLTDisseminationCrosswalk
|
||||
/**
|
||||
* Generate an intermediate representation of a DSpace object.
|
||||
*
|
||||
* @param dso The dspace object to build a representation of.
|
||||
* @param dso The DSpace object to build a representation of.
|
||||
* @param dcvs list of metadata
|
||||
* @return element
|
||||
*/
|
||||
@@ -480,9 +481,7 @@ public class XSLTDisseminationCrosswalk
|
||||
if (reason == null) {
|
||||
return value;
|
||||
} else {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("Filtering out non-XML characters in string, reason=" + reason);
|
||||
}
|
||||
LOG.debug("Filtering out non-XML characters in string, reason={}", reason);
|
||||
StringBuilder result = new StringBuilder(value.length());
|
||||
for (int i = 0; i < value.length(); ++i) {
|
||||
char c = value.charAt(i);
|
||||
@@ -567,11 +566,11 @@ public class XSLTDisseminationCrosswalk
|
||||
System.err.println("=== Stack Trace ===");
|
||||
e.printStackTrace(System.err);
|
||||
System.err.println("=====================");
|
||||
LOG.error("Caught: {}.", e.toString());
|
||||
LOG.error(e.getMessage());
|
||||
LOG.error("Caught: {}.", e::toString);
|
||||
LOG.error(e::getMessage);
|
||||
CharArrayWriter traceWriter = new CharArrayWriter(2048);
|
||||
e.printStackTrace(new PrintWriter(traceWriter));
|
||||
LOG.error(traceWriter.toString());
|
||||
LOG.error(traceWriter::toString);
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
@@ -588,11 +587,11 @@ public class XSLTDisseminationCrosswalk
|
||||
System.err.println("=== Stack Trace ===");
|
||||
e.printStackTrace(System.err);
|
||||
System.err.println("=====================");
|
||||
LOG.error("Caught: {}.", e.toString());
|
||||
LOG.error(e.getMessage());
|
||||
LOG.error("Caught: {}.", e::toString);
|
||||
LOG.error(e::getMessage);
|
||||
CharArrayWriter traceWriter = new CharArrayWriter(2048);
|
||||
e.printStackTrace(new PrintWriter(traceWriter));
|
||||
LOG.error(traceWriter.toString());
|
||||
LOG.error(traceWriter::toString);
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
|
@@ -19,6 +19,8 @@ import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.apache.commons.codec.DecoderException;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Collection;
|
||||
import org.dspace.content.Community;
|
||||
@@ -36,8 +38,6 @@ import org.dspace.eperson.PasswordHash;
|
||||
import org.dspace.eperson.factory.EPersonServiceFactory;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.eperson.service.GroupService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
@@ -51,8 +51,7 @@ import org.xml.sax.SAXException;
|
||||
* @author mwood
|
||||
*/
|
||||
public class RoleIngester implements PackageIngester {
|
||||
private static final Logger log = LoggerFactory
|
||||
.getLogger(RoleIngester.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService();
|
||||
protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService();
|
||||
@@ -217,10 +216,10 @@ public class RoleIngester implements PackageIngester {
|
||||
// Community or Collection that doesn't currently exist in the
|
||||
// system. So, log a warning & skip it for now.
|
||||
log.warn(
|
||||
"Skipping group named '" + name + "' as it seems to correspond to a Community or Collection that " +
|
||||
"Skipping group named '{}' as it seems to correspond to a Community or Collection that " +
|
||||
"does not exist in the system. " +
|
||||
"If you are performing an AIP restore, you can ignore this warning as the " +
|
||||
"Community/Collection AIP will likely create this group once it is processed.");
|
||||
"Community/Collection AIP will likely create this group once it is processed.", name);
|
||||
continue;
|
||||
}
|
||||
log.debug("Translated group name: {}", name);
|
||||
@@ -307,7 +306,7 @@ public class RoleIngester implements PackageIngester {
|
||||
// Always set the name: parent.createBlop() is guessing
|
||||
groupService.setName(groupObj, name);
|
||||
|
||||
log.info("Created Group {}.", groupObj.getName());
|
||||
log.info("Created Group {}.", groupObj::getName);
|
||||
}
|
||||
|
||||
// Add EPeople to newly created Group
|
||||
|
@@ -19,12 +19,12 @@ import java.io.OutputStreamWriter;
|
||||
import java.io.PrintWriter;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.core.service.LicenseService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.dspace.web.ContextUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Encapsulate the deposit license.
|
||||
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
|
||||
* @author mhwood
|
||||
*/
|
||||
public class LicenseServiceImpl implements LicenseService {
|
||||
private final Logger log = LoggerFactory.getLogger(LicenseServiceImpl.class);
|
||||
private final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* The default license
|
||||
@@ -53,7 +53,7 @@ public class LicenseServiceImpl implements LicenseService {
|
||||
out.print(newLicense);
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
log.warn("license_write: " + e.getLocalizedMessage());
|
||||
log.warn("license_write: {}", e::getLocalizedMessage);
|
||||
}
|
||||
license = newLicense;
|
||||
}
|
||||
@@ -140,7 +140,7 @@ public class LicenseServiceImpl implements LicenseService {
|
||||
br.close();
|
||||
|
||||
} catch (IOException e) {
|
||||
log.error("Can't load license: " + licenseFile.toString(), e);
|
||||
log.error("Can't load license {}: ", licenseFile.toString(), e);
|
||||
|
||||
// FIXME: Maybe something more graceful here, but with the
|
||||
// configuration we can't do anything
|
||||
|
@@ -19,11 +19,11 @@ import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.core.service.NewsService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
* @author mhwood
|
||||
*/
|
||||
public class NewsServiceImpl implements NewsService {
|
||||
private final Logger log = LoggerFactory.getLogger(NewsServiceImpl.class);
|
||||
private final Logger log = LogManager.getLogger();
|
||||
|
||||
private List<String> acceptableFilenames;
|
||||
|
||||
@@ -94,7 +94,7 @@ public class NewsServiceImpl implements NewsService {
|
||||
ir.close();
|
||||
fir.close();
|
||||
} catch (IOException e) {
|
||||
log.warn("news_read: " + e.getLocalizedMessage());
|
||||
log.warn("news_read: {}", e::getLocalizedMessage);
|
||||
}
|
||||
|
||||
return text.toString();
|
||||
@@ -117,7 +117,7 @@ public class NewsServiceImpl implements NewsService {
|
||||
out.print(news);
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
log.warn("news_write: " + e.getLocalizedMessage());
|
||||
log.warn("news_write: {}", e::getLocalizedMessage);
|
||||
}
|
||||
|
||||
return news;
|
||||
|
@@ -19,6 +19,8 @@ import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Bitstream;
|
||||
import org.dspace.content.Bundle;
|
||||
@@ -29,8 +31,6 @@ import org.dspace.content.service.BitstreamService;
|
||||
import org.dspace.curate.AbstractCurationTask;
|
||||
import org.dspace.curate.Curator;
|
||||
import org.dspace.curate.Suspendable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* ClamScan.java
|
||||
@@ -58,7 +58,7 @@ public class ClamScan extends AbstractCurationTask {
|
||||
protected final String SCAN_FAIL_MESSAGE = "Error encountered using virus service - check setup";
|
||||
protected final String NEW_ITEM_HANDLE = "in workflow";
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ClamScan.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
protected String host = null;
|
||||
protected int port = 0;
|
||||
@@ -100,7 +100,7 @@ public class ClamScan extends AbstractCurationTask {
|
||||
|
||||
try {
|
||||
Bundle bundle = itemService.getBundles(item, "ORIGINAL").get(0);
|
||||
results = new ArrayList<String>();
|
||||
results = new ArrayList<>();
|
||||
for (Bitstream bitstream : bundle.getBitstreams()) {
|
||||
InputStream inputstream = bitstreamService.retrieve(Curator.curationContext(), bitstream);
|
||||
logDebugMessage("Scanning " + bitstream.getName() + " . . . ");
|
||||
@@ -157,7 +157,7 @@ public class ClamScan extends AbstractCurationTask {
|
||||
try {
|
||||
socket.setSoTimeout(timeout);
|
||||
} catch (SocketException e) {
|
||||
log.error("Could not set socket timeout . . . " + timeout + "ms", e);
|
||||
log.error("Could not set socket timeout . . . {}ms", timeout, e);
|
||||
throw (new IOException(e));
|
||||
}
|
||||
try {
|
||||
@@ -293,8 +293,6 @@ public class ClamScan extends AbstractCurationTask {
|
||||
|
||||
|
||||
protected void logDebugMessage(String message) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug(message);
|
||||
}
|
||||
log.debug(message);
|
||||
}
|
||||
}
|
||||
|
@@ -10,11 +10,11 @@ package org.dspace.ctask.test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.curate.AbstractCurationTask;
|
||||
import org.dspace.curate.Curator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Curation task which simply reports its invocation without changing anything.
|
||||
@@ -24,13 +24,13 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class WorkflowReportTest
|
||||
extends AbstractCurationTask {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WorkflowReportTest.class);
|
||||
private static final Logger LOG = LogManager.getLogger();
|
||||
|
||||
@Override
|
||||
public int perform(DSpaceObject dso)
|
||||
throws IOException {
|
||||
LOG.info("Class {} as task {} received 'perform' for object {}",
|
||||
WorkflowReportTest.class.getSimpleName(), taskId, dso);
|
||||
WorkflowReportTest.class::getSimpleName, () -> taskId, () -> dso);
|
||||
curator.report(String.format(
|
||||
"Class %s as task %s received 'perform' for object %s%n",
|
||||
WorkflowReportTest.class.getSimpleName(), taskId, dso));
|
||||
|
@@ -10,12 +10,12 @@ package org.dspace.ctask.testing;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.curate.AbstractCurationTask;
|
||||
import org.dspace.curate.Curator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Logs what it was asked to do, samples run parameters and task
|
||||
@@ -32,8 +32,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class PropertyParameterTestingTask
|
||||
extends AbstractCurationTask {
|
||||
private static final Logger LOG
|
||||
= LoggerFactory.getLogger(PropertyParameterTestingTask.class);
|
||||
private static final Logger LOG = LogManager.getLogger();
|
||||
|
||||
@Override
|
||||
public void init(Curator curator, String taskId)
|
||||
|
@@ -10,8 +10,8 @@ package org.dspace.curate;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
/**
|
||||
* Write curation report records through the logging framework.
|
||||
@@ -22,7 +22,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class LogReporter
|
||||
implements Reporter {
|
||||
private static final Logger LOG = LoggerFactory.getLogger("curation");
|
||||
private static final Logger LOG = LogManager.getLogger("curation");
|
||||
private final StringBuilder buffer = new StringBuilder();
|
||||
|
||||
@Override
|
||||
@@ -31,7 +31,7 @@ public class LogReporter
|
||||
for (int pos = 0; pos < cs.length(); pos++) {
|
||||
char c = cs.charAt(pos);
|
||||
if (c == '\n') {
|
||||
LOG.info(buffer.toString());
|
||||
LOG.info(buffer::toString);
|
||||
buffer.delete(0, buffer.length()); // Clear the buffer
|
||||
} else {
|
||||
buffer.append(c);
|
||||
@@ -56,7 +56,7 @@ public class LogReporter
|
||||
public void close()
|
||||
throws Exception {
|
||||
if (buffer.length() > 0) {
|
||||
LOG.info(buffer.toString());
|
||||
LOG.info(buffer::toString);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -16,10 +16,10 @@ import java.util.Arrays;
|
||||
|
||||
import org.apache.commons.codec.DecoderException;
|
||||
import org.apache.commons.codec.binary.Hex;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* For handling digested secrets (such as passwords).
|
||||
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
|
||||
* @author mwood
|
||||
*/
|
||||
public class PasswordHash {
|
||||
private static final Logger log = LoggerFactory.getLogger(PasswordHash.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
private static final ConfigurationService config
|
||||
= DSpaceServicesFactory.getInstance().getConfigurationService();
|
||||
private static final Charset UTF_8 = Charset.forName("UTF-8"); // Should always succeed: UTF-8 is required
|
||||
@@ -133,7 +133,7 @@ public class PasswordHash {
|
||||
try {
|
||||
hash = digest(salt, algorithm, password);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
log.error(e.getMessage());
|
||||
log.error(e::getMessage);
|
||||
hash = new byte[] {0};
|
||||
}
|
||||
}
|
||||
@@ -149,7 +149,7 @@ public class PasswordHash {
|
||||
try {
|
||||
candidate = digest(salt, algorithm, secret);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
log.error(e.getMessage());
|
||||
log.error(e::getMessage);
|
||||
return false;
|
||||
}
|
||||
return Arrays.equals(candidate, hash);
|
||||
@@ -225,7 +225,7 @@ public class PasswordHash {
|
||||
if (null == rng) {
|
||||
rng = new SecureRandom();
|
||||
log.info("Initialized a random number stream using {} provided by {}",
|
||||
rng.getAlgorithm(), rng.getProvider());
|
||||
rng::getAlgorithm, rng::getProvider);
|
||||
rngUses = 0;
|
||||
}
|
||||
|
||||
|
@@ -28,6 +28,8 @@ import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.MetadataFieldName;
|
||||
import org.dspace.content.dto.MetadataValueDTO;
|
||||
@@ -63,13 +65,11 @@ import org.orcid.jaxb.model.v3.release.record.WorkTitle;
|
||||
import org.orcid.jaxb.model.v3.release.record.summary.WorkGroup;
|
||||
import org.orcid.jaxb.model.v3.release.record.summary.WorkSummary;
|
||||
import org.orcid.jaxb.model.v3.release.record.summary.Works;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
* Implementation of {@link ExternalDataProvider} that search for all the works
|
||||
* of the profile with the given orcid id that hava a source other than DSpace.
|
||||
* of the profile with the given orcid id that have a source other than DSpace.
|
||||
* The id of the external data objects returned by the methods of this class is
|
||||
* the concatenation of the orcid id and the put code associated with the
|
||||
* publication, separated by :: (example 0000-0000-0123-4567::123456)
|
||||
@@ -79,7 +79,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class OrcidPublicationDataProvider extends AbstractExternalDataProvider {
|
||||
|
||||
private final static Logger LOGGER = LoggerFactory.getLogger(OrcidPublicationDataProvider.class);
|
||||
private final static Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Examples of valid ORCID IDs:
|
||||
@@ -335,7 +335,8 @@ public class OrcidPublicationDataProvider extends AbstractExternalDataProvider {
|
||||
try {
|
||||
addMetadataValuesFromCitation(externalDataObject, work.getWorkCitation());
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("An error occurs reading the following citation: " + work.getWorkCitation().getCitation(), e);
|
||||
LOGGER.error("An error occurs reading the following citation: {}",
|
||||
work.getWorkCitation().getCitation(), e);
|
||||
}
|
||||
|
||||
return externalDataObject;
|
||||
|
@@ -19,9 +19,9 @@ import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClients;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.google.GoogleAnalyticsEvent;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Implementation of {@link GoogleAnalyticsClient}.
|
||||
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class GoogleAnalyticsClientImpl implements GoogleAnalyticsClient {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(GoogleAnalyticsClientImpl.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private final String keyPrefix;
|
||||
|
||||
|
@@ -14,6 +14,8 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.content.Item;
|
||||
@@ -30,8 +32,6 @@ import org.dspace.identifier.doi.DOIIdentifierException;
|
||||
import org.dspace.identifier.doi.DOIIdentifierNotApplicableException;
|
||||
import org.dspace.identifier.service.DOIService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -49,7 +49,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
* @author Kim Shepherd
|
||||
*/
|
||||
public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
private static final Logger log = LoggerFactory.getLogger(DOIIdentifierProvider.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* A DOIConnector connects the DOIIdentifierProvider to the API of the DOI
|
||||
@@ -286,7 +286,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
try {
|
||||
doiRow = loadOrCreateDOI(context, dso, doi, filter);
|
||||
} catch (SQLException ex) {
|
||||
log.error("Error in databse connection: " + ex.getMessage());
|
||||
log.error("Error in databse connection: {}", ex::getMessage);
|
||||
throw new RuntimeException("Error in database conncetion.", ex);
|
||||
}
|
||||
|
||||
@@ -492,7 +492,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
|
||||
if (doiService.findDOIByDSpaceObject(context, dso) != null) {
|
||||
// We can skip the filter here since we know the DOI already exists for the item
|
||||
log.debug("updateMetadata: found DOIByDSpaceObject: " +
|
||||
log.debug("updateMetadata: found DOIByDSpaceObject: {}",
|
||||
doiService.findDOIByDSpaceObject(context, dso).getDoi());
|
||||
updateFilter = DSpaceServicesFactory.getInstance().getServiceManager().getServiceByName(
|
||||
"always_true_filter", TrueFilter.class);
|
||||
@@ -501,7 +501,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
DOI doiRow = loadOrCreateDOI(context, dso, doi, updateFilter);
|
||||
|
||||
if (PENDING.equals(doiRow.getStatus()) || MINTED.equals(doiRow.getStatus())) {
|
||||
log.info("Not updating metadata for PENDING or MINTED doi: " + doi);
|
||||
log.info("Not updating metadata for PENDING or MINTED doi: {}", doi);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -611,8 +611,8 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
try {
|
||||
doi = getDOIByObject(context, dso);
|
||||
} catch (SQLException e) {
|
||||
log.error("Error while attemping to retrieve information about a DOI for "
|
||||
+ contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) + " with ID " + dso.getID() + ".");
|
||||
log.error("Error while attemping to retrieve information about a DOI for {} with ID {}.",
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso), dso.getID());
|
||||
throw new RuntimeException("Error while attempting to retrieve " +
|
||||
"information about a DOI for " + contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", e);
|
||||
@@ -624,7 +624,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error("Error while creating new DOI for Object of " +
|
||||
"ResourceType {} with id {}.", dso.getType(), dso.getID());
|
||||
"ResourceType {} with id {}.", dso::getType, dso::getID);
|
||||
throw new RuntimeException("Error while attempting to create a " +
|
||||
"new DOI for " + contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) + " with ID " +
|
||||
dso.getID() + ".", e);
|
||||
@@ -709,9 +709,9 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
doi = getDOIByObject(context, dso);
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
log.error("Error while attemping to retrieve information about a DOI for " +
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", ex);
|
||||
log.error("Error while attemping to retrieve information about a DOI for {} with ID {}.",
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso),
|
||||
dso.getID(), ex);
|
||||
throw new RuntimeException("Error while attempting to retrieve " +
|
||||
"information about a DOI for " + contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", ex);
|
||||
@@ -726,17 +726,17 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
doi = getDOIOutOfObject(dso);
|
||||
}
|
||||
} catch (AuthorizeException ex) {
|
||||
log.error("Error while removing a DOI out of the metadata of an " +
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", ex);
|
||||
log.error("Error while removing a DOI out of the metadata of an {} with ID {}.",
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso),
|
||||
dso.getID(), ex);
|
||||
throw new RuntimeException("Error while removing a DOI out of the metadata of an " +
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", ex);
|
||||
|
||||
} catch (SQLException ex) {
|
||||
log.error("Error while removing a DOI out of the metadata of an " +
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", ex);
|
||||
log.error("Error while removing a DOI out of the metadata of an {} with ID {}.",
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso),
|
||||
dso.getID(), ex);
|
||||
throw new RuntimeException("Error while removing a DOI out of the " +
|
||||
"metadata of an " + contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) +
|
||||
" with ID " + dso.getID() + ".", ex);
|
||||
@@ -779,8 +779,8 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
throw new DOIIdentifierException("Not authorized to delete DOI.",
|
||||
ex, DOIIdentifierException.UNAUTHORIZED_METADATA_MANIPULATION);
|
||||
} catch (SQLException ex) {
|
||||
log.error("SQLException occurred while deleting a DOI out of an item: "
|
||||
+ ex.getMessage());
|
||||
log.error("SQLException occurred while deleting a DOI out of an item: {}",
|
||||
ex::getMessage);
|
||||
throw new RuntimeException("Error while deleting a DOI out of the " +
|
||||
"metadata of an Item " + dso.getID(), ex);
|
||||
}
|
||||
@@ -826,8 +826,9 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
DOIIdentifierException.DOI_DOES_NOT_EXIST);
|
||||
}
|
||||
if (!TO_BE_DELETED.equals(doiRow.getStatus())) {
|
||||
log.error("This identifier: {} couldn't be deleted. Delete it first from metadata.",
|
||||
DOI.SCHEME + doiRow.getDoi());
|
||||
log.error("This identifier: " + DOI.SCHEME
|
||||
+ "{} couldn't be deleted. Delete it first from metadata.",
|
||||
doiRow::getDoi);
|
||||
throw new IllegalArgumentException("Couldn't delete this identifier:"
|
||||
+ DOI.SCHEME + doiRow.getDoi()
|
||||
+ ". Delete it first from metadata.");
|
||||
@@ -863,7 +864,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
}
|
||||
|
||||
if (doiRow.getDSpaceObject() == null) {
|
||||
log.error("Found DOI " + doi + " in database, but no assigned Object could be found.");
|
||||
log.error("Found DOI {} in database, but no assigned Object could be found.", doi);
|
||||
throw new IllegalStateException("Found DOI " + doi +
|
||||
" in database, but no assigned Object could be found.");
|
||||
}
|
||||
@@ -890,8 +891,9 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
}
|
||||
|
||||
if (doiRow.getDoi() == null) {
|
||||
log.error("A DOI with an empty doi column was found in the database. DSO-Type: " +
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) + ", ID: " + dso.getID() + ".");
|
||||
log.error("A DOI with an empty doi column was found in the database. DSO-Type: {}, ID: {}.",
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso),
|
||||
dso.getID());
|
||||
throw new IllegalStateException("A DOI with an empty doi column was found in the database. DSO-Type: " +
|
||||
contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso) + ", ID: " + dso.getID() + ".");
|
||||
}
|
||||
@@ -1134,13 +1136,13 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
|
||||
if (contentServiceFactory.getDSpaceObjectService(dso).getTypeText(dso).equals("ITEM")) {
|
||||
try {
|
||||
boolean result = filter.getResult(context, (Item) dso);
|
||||
log.debug("Result of filter for " + dso.getHandle() + " is " + result);
|
||||
log.debug("Result of filter for {} is {}", dso.getHandle(), result);
|
||||
if (!result) {
|
||||
throw new DOIIdentifierNotApplicableException("Item " + dso.getHandle() +
|
||||
" was evaluated as 'false' by the item filter, not minting");
|
||||
}
|
||||
} catch (LogicalStatementException e) {
|
||||
log.error("Error evaluating item with logical filter: " + e.getLocalizedMessage());
|
||||
log.error("Error evaluating item with logical filter: {}", e::getLocalizedMessage);
|
||||
throw new DOIIdentifierNotApplicableException(e);
|
||||
}
|
||||
} else {
|
||||
|
@@ -13,6 +13,8 @@ import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.content.crosswalk.CrosswalkException;
|
||||
@@ -25,8 +27,6 @@ import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.utils.DSpace;
|
||||
import org.jdom2.Element;
|
||||
import org.jdom2.output.XMLOutputter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Provide XML based metadata crosswalk for EZID Identifier provider module.
|
||||
@@ -36,9 +36,9 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
public class DataCiteXMLCreator {
|
||||
/**
|
||||
* log4j category
|
||||
* logging category
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(DataCiteXMLCreator.class);
|
||||
private static final Logger LOG = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Name of crosswalk to convert metadata into DataCite Metadata Scheme.
|
||||
@@ -70,9 +70,8 @@ public class DataCiteXMLCreator {
|
||||
this.prepareXwalk();
|
||||
|
||||
if (!this.xwalk.canDisseminate(dso)) {
|
||||
LOG.error("Crosswalk " + this.CROSSWALK_NAME
|
||||
+ " cannot disseminate DSO with type " + dso.getType()
|
||||
+ " and ID " + dso.getID() + ".");
|
||||
LOG.error("Crosswalk {} cannot disseminate DSO with type {} and ID {}.",
|
||||
this.CROSSWALK_NAME, dso.getType(), dso.getID());
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -98,8 +97,8 @@ public class DataCiteXMLCreator {
|
||||
try {
|
||||
root = xwalk.disseminateElement(context, dso, parameters);
|
||||
} catch (CrosswalkException | IOException | SQLException | AuthorizeException e) {
|
||||
LOG.error("Exception while crosswalking DSO with type "
|
||||
+ dso.getType() + " and ID " + dso.getID() + ".", e);
|
||||
LOG.error("Exception while crosswalking DSO with type {} and ID {}.",
|
||||
dso.getType(), dso.getID(), e);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@@ -20,6 +20,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.content.Item;
|
||||
@@ -32,8 +34,6 @@ import org.dspace.identifier.ezid.EZIDRequest;
|
||||
import org.dspace.identifier.ezid.EZIDRequestFactory;
|
||||
import org.dspace.identifier.ezid.EZIDResponse;
|
||||
import org.dspace.identifier.ezid.Transform;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -83,7 +83,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class EZIDIdentifierProvider
|
||||
extends IdentifierProvider {
|
||||
private static final Logger log = LoggerFactory.getLogger(EZIDIdentifierProvider.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
// Configuration property names
|
||||
static final String CFG_SHOULDER = "identifier.doi.ezid.shoulder";
|
||||
@@ -184,7 +184,8 @@ public class EZIDIdentifierProvider
|
||||
loadUser(), loadPassword());
|
||||
response = request.create(identifier, crosswalkMetadata(context, object));
|
||||
} catch (IdentifierException | IOException | URISyntaxException e) {
|
||||
log.error("Identifier '{}' not registered: {}", identifier, e.getMessage());
|
||||
log.error("Identifier '{}' not registered: {}",
|
||||
() -> identifier, e::getMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -201,7 +202,7 @@ public class EZIDIdentifierProvider
|
||||
}
|
||||
} else {
|
||||
log.error("Identifier '{}' not registered -- EZID returned: {}",
|
||||
identifier, response.getEZIDStatusValue());
|
||||
() -> identifier, response::getEZIDStatusValue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,7 +219,8 @@ public class EZIDIdentifierProvider
|
||||
metadata.put("_status", "reserved");
|
||||
response = request.create(identifier, metadata);
|
||||
} catch (IOException | URISyntaxException e) {
|
||||
log.error("Identifier '{}' not registered: {}", identifier, e.getMessage());
|
||||
log.error("Identifier '{}' not registered: {}",
|
||||
() -> identifier, e::getMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -233,7 +235,7 @@ public class EZIDIdentifierProvider
|
||||
}
|
||||
} else {
|
||||
log.error("Identifier '{}' not registered -- EZID returned: {}",
|
||||
identifier, response.getEZIDStatusValue());
|
||||
() -> identifier, response::getEZIDStatusValue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +249,7 @@ public class EZIDIdentifierProvider
|
||||
try {
|
||||
request = requestFactory.getInstance(loadAuthority(), loadUser(), loadPassword());
|
||||
} catch (URISyntaxException ex) {
|
||||
log.error(ex.getMessage());
|
||||
log.error(ex::getMessage);
|
||||
throw new IdentifierException("DOI request not sent: " + ex.getMessage());
|
||||
}
|
||||
|
||||
@@ -256,18 +258,16 @@ public class EZIDIdentifierProvider
|
||||
try {
|
||||
response = request.mint(crosswalkMetadata(context, dso));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
log.error("Failed to send EZID request: {}", ex.getMessage());
|
||||
log.error("Failed to send EZID request: {}", ex::getMessage);
|
||||
throw new IdentifierException("DOI request not sent: " + ex.getMessage());
|
||||
}
|
||||
|
||||
// Good response?
|
||||
if (HttpURLConnection.HTTP_CREATED != response.getHttpStatusCode()) {
|
||||
log.error("EZID server responded: {} {}: {}",
|
||||
new String[] {
|
||||
String.valueOf(response.getHttpStatusCode()),
|
||||
response.getHttpReasonPhrase(),
|
||||
response.getEZIDStatusValue()
|
||||
});
|
||||
response::getHttpStatusCode,
|
||||
response::getHttpReasonPhrase,
|
||||
response::getEZIDStatusValue);
|
||||
throw new IdentifierException("DOI not created: "
|
||||
+ response.getHttpReasonPhrase()
|
||||
+ ": "
|
||||
@@ -285,7 +285,7 @@ public class EZIDIdentifierProvider
|
||||
log.info("Created {}", doi);
|
||||
return doi;
|
||||
} else {
|
||||
log.error("EZID responded: {}", response.getEZIDStatusValue());
|
||||
log.error("EZID responded: {}", response::getEZIDStatusValue);
|
||||
throw new IdentifierException("No DOI returned");
|
||||
}
|
||||
}
|
||||
@@ -302,7 +302,7 @@ public class EZIDIdentifierProvider
|
||||
MD_SCHEMA, DOI_ELEMENT, DOI_QUALIFIER,
|
||||
idToDOI(identifier));
|
||||
} catch (IdentifierException | SQLException | AuthorizeException | IOException ex) {
|
||||
log.error(ex.getMessage());
|
||||
log.error(ex::getMessage);
|
||||
throw new IdentifierNotResolvableException(ex);
|
||||
}
|
||||
if (!found.hasNext()) {
|
||||
@@ -360,24 +360,24 @@ public class EZIDIdentifierProvider
|
||||
loadUser(), loadPassword());
|
||||
response = request.delete(DOIToId(id.getValue()));
|
||||
} catch (URISyntaxException e) {
|
||||
log.error("Bad URI in metadata value: {}", e.getMessage());
|
||||
log.error("Bad URI in metadata value: {}", e::getMessage);
|
||||
remainder.add(id.getValue());
|
||||
skipped++;
|
||||
continue;
|
||||
} catch (IOException e) {
|
||||
log.error("Failed request to EZID: {}", e.getMessage());
|
||||
log.error("Failed request to EZID: {}", e::getMessage);
|
||||
remainder.add(id.getValue());
|
||||
skipped++;
|
||||
continue;
|
||||
}
|
||||
if (!response.isSuccess()) {
|
||||
log.error("Unable to delete {} from DataCite: {}", id.getValue(),
|
||||
response.getEZIDStatusValue());
|
||||
log.error("Unable to delete {} from DataCite: {}", id::getValue,
|
||||
response::getEZIDStatusValue);
|
||||
remainder.add(id.getValue());
|
||||
skipped++;
|
||||
continue;
|
||||
}
|
||||
log.info("Deleted {}", id.getValue());
|
||||
log.info("Deleted {}", id::getValue);
|
||||
}
|
||||
|
||||
// delete from item
|
||||
@@ -386,7 +386,7 @@ public class EZIDIdentifierProvider
|
||||
dsoService.addMetadata(context, dso, MD_SCHEMA, DOI_ELEMENT, DOI_QUALIFIER, null, remainder);
|
||||
dsoService.update(context, dso);
|
||||
} catch (SQLException | AuthorizeException e) {
|
||||
log.error("Failed to re-add identifiers: {}", e.getMessage());
|
||||
log.error("Failed to re-add identifiers: {}", e::getMessage);
|
||||
}
|
||||
|
||||
if (skipped > 0) {
|
||||
@@ -415,25 +415,25 @@ public class EZIDIdentifierProvider
|
||||
loadUser(), loadPassword());
|
||||
response = request.delete(DOIToId(id.getValue()));
|
||||
} catch (URISyntaxException e) {
|
||||
log.error("Bad URI in metadata value {}: {}", id.getValue(), e.getMessage());
|
||||
log.error("Bad URI in metadata value {}: {}", id::getValue, e::getMessage);
|
||||
remainder.add(id.getValue());
|
||||
skipped++;
|
||||
continue;
|
||||
} catch (IOException e) {
|
||||
log.error("Failed request to EZID: {}", e.getMessage());
|
||||
log.error("Failed request to EZID: {}", e::getMessage);
|
||||
remainder.add(id.getValue());
|
||||
skipped++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!response.isSuccess()) {
|
||||
log.error("Unable to delete {} from DataCite: {}", id.getValue(),
|
||||
response.getEZIDStatusValue());
|
||||
log.error("Unable to delete {} from DataCite: {}", id::getValue,
|
||||
response::getEZIDStatusValue);
|
||||
remainder.add(id.getValue());
|
||||
skipped++;
|
||||
continue;
|
||||
}
|
||||
log.info("Deleted {}", id.getValue());
|
||||
log.info("Deleted {}", id::getValue);
|
||||
}
|
||||
|
||||
// delete from item
|
||||
@@ -442,7 +442,7 @@ public class EZIDIdentifierProvider
|
||||
dsoService.addMetadata(context, dso, MD_SCHEMA, DOI_ELEMENT, DOI_QUALIFIER, null, remainder);
|
||||
dsoService.update(context, dso);
|
||||
} catch (SQLException | AuthorizeException e) {
|
||||
log.error("Failed to re-add identifiers: {}", e.getMessage());
|
||||
log.error("Failed to re-add identifiers: {}", e::getMessage);
|
||||
}
|
||||
|
||||
if (skipped > 0) {
|
||||
@@ -544,12 +544,10 @@ public class EZIDIdentifierProvider
|
||||
mappedValue = xfrm.transform(value.getValue());
|
||||
} catch (Exception ex) {
|
||||
log.error("Unable to transform '{}' from {} to {}: {}",
|
||||
new String[] {
|
||||
value.getValue(),
|
||||
value.toString(),
|
||||
key,
|
||||
ex.getMessage()
|
||||
});
|
||||
value::getValue,
|
||||
value::toString,
|
||||
() -> key,
|
||||
ex::getMessage);
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
|
@@ -33,6 +33,8 @@ import org.apache.http.impl.client.BasicCredentialsProvider;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.content.crosswalk.CrosswalkException;
|
||||
@@ -52,8 +54,6 @@ import org.jdom2.filter.ElementFilter;
|
||||
import org.jdom2.input.SAXBuilder;
|
||||
import org.jdom2.output.Format;
|
||||
import org.jdom2.output.XMLOutputter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
public class DataCiteConnector
|
||||
implements DOIConnector {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DataCiteConnector.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
// Configuration property names
|
||||
static final String CFG_USER = "identifier.doi.user";
|
||||
@@ -356,10 +356,8 @@ public class DataCiteConnector
|
||||
.getDSpaceObjectService(dso);
|
||||
|
||||
if (!this.xwalk.canDisseminate(dso)) {
|
||||
log.error("Crosswalk " + this.CROSSWALK_NAME
|
||||
+ " cannot disseminate DSO with type " + dso.getType()
|
||||
+ " and ID " + dso.getID() + ". Giving up reserving the DOI "
|
||||
+ doi + ".");
|
||||
log.error("Crosswalk {} cannot disseminate DSO with type {} and ID {}. Giving up reserving the DOI {}.",
|
||||
this.CROSSWALK_NAME, dso.getType(), dso.getID(), doi);
|
||||
throw new DOIIdentifierException("Cannot disseminate "
|
||||
+ dSpaceObjectService.getTypeText(dso) + "/" + dso.getID()
|
||||
+ " using crosswalk " + this.CROSSWALK_NAME + ".",
|
||||
@@ -390,18 +388,18 @@ public class DataCiteConnector
|
||||
try {
|
||||
root = xwalk.disseminateElement(context, dso, parameters);
|
||||
} catch (AuthorizeException ae) {
|
||||
log.error("Caught an AuthorizeException while disseminating DSO "
|
||||
+ "with type " + dso.getType() + " and ID " + dso.getID()
|
||||
+ ". Giving up to reserve DOI " + doi + ".", ae);
|
||||
log.error("Caught an AuthorizeException while disseminating DSO"
|
||||
+ " with type {} and ID {}. Giving up to reserve DOI {}.",
|
||||
dso.getType(), dso.getID(), doi, ae);
|
||||
throw new DOIIdentifierException("AuthorizeException occured while "
|
||||
+ "converting " + dSpaceObjectService.getTypeText(dso) + "/" + dso
|
||||
.getID()
|
||||
+ " using crosswalk " + this.CROSSWALK_NAME + ".", ae,
|
||||
DOIIdentifierException.CONVERSION_ERROR);
|
||||
} catch (CrosswalkException ce) {
|
||||
log.error("Caught an CrosswalkException while reserving a DOI ("
|
||||
+ doi + ") for DSO with type " + dso.getType() + " and ID "
|
||||
+ dso.getID() + ". Won't reserve the doi.", ce);
|
||||
log.error("Caught a CrosswalkException while reserving a DOI ({})"
|
||||
+ " for DSO with type {} and ID {}. Won't reserve the doi.",
|
||||
doi, dso.getType(), dso.getID(), ce);
|
||||
throw new DOIIdentifierException("CrosswalkException occured while "
|
||||
+ "converting " + dSpaceObjectService.getTypeText(dso) + "/" + dso
|
||||
.getID()
|
||||
@@ -421,9 +419,8 @@ public class DataCiteConnector
|
||||
} else if (!metadataDOI.equals(doi.substring(DOI.SCHEME.length()))) {
|
||||
log.error("While reserving a DOI, the "
|
||||
+ "crosswalk to generate the metadata used another DOI than "
|
||||
+ "the DOI we're reserving. Cannot reserve DOI " + doi
|
||||
+ " for " + dSpaceObjectService.getTypeText(dso) + " "
|
||||
+ dso.getID() + ".");
|
||||
+ "the DOI we're reserving. Cannot reserve DOI {} for {} {}.",
|
||||
doi, dSpaceObjectService.getTypeText(dso), dso.getID());
|
||||
throw new IllegalStateException("An internal error occured while "
|
||||
+ "generating the metadata. Unable to reserve doi, see logs "
|
||||
+ "for further information.");
|
||||
@@ -440,12 +437,12 @@ public class DataCiteConnector
|
||||
// 400 -> invalid XML
|
||||
case (400): {
|
||||
log.warn("DataCite was unable to understand the XML we send.");
|
||||
log.warn("DataCite Metadata API returned a http status code "
|
||||
+ "400: " + resp.getContent());
|
||||
log.warn("DataCite Metadata API returned a http status code"
|
||||
+ " 400: {}", resp::getContent);
|
||||
Format format = Format.getCompactFormat();
|
||||
format.setEncoding("UTF-8");
|
||||
XMLOutputter xout = new XMLOutputter(format);
|
||||
log.info("We send the following XML:\n" + xout.outputString(root));
|
||||
log.info("We send the following XML:\n{}", xout.outputString(root));
|
||||
throw new DOIIdentifierException("Unable to reserve DOI " + doi
|
||||
+ ". Please inform your administrator or take a look "
|
||||
+ " into the log files.", DOIIdentifierException.BAD_REQUEST);
|
||||
@@ -479,8 +476,8 @@ public class DataCiteConnector
|
||||
resp = this.sendDOIPostRequest(doi,
|
||||
handleService.resolveToURL(context, dso.getHandle()));
|
||||
} catch (SQLException e) {
|
||||
log.error("Caught SQL-Exception while resolving handle to URL: "
|
||||
+ e.getMessage());
|
||||
log.error("Caught SQL-Exception while resolving handle to URL: {}",
|
||||
e::getMessage);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
@@ -492,7 +489,7 @@ public class DataCiteConnector
|
||||
// 400 -> wrong domain, wrong prefix, wrong request body
|
||||
case (400): {
|
||||
log.warn("We send an irregular request to DataCite. While "
|
||||
+ "registering a DOI they told us: " + resp.getContent());
|
||||
+ "registering a DOI they told us: {}", resp::getContent);
|
||||
throw new DOIIdentifierException("Currently we cannot register "
|
||||
+ "DOIs. Please inform the administrator or take a look "
|
||||
+ " in the DSpace log file.",
|
||||
@@ -501,8 +498,8 @@ public class DataCiteConnector
|
||||
// 412 Precondition failed: DOI was not reserved before registration!
|
||||
case (412): {
|
||||
log.error("We tried to register a DOI {} that has not been reserved "
|
||||
+ "before! The registration agency told us: {}.", doi,
|
||||
resp.getContent());
|
||||
+ "before! The registration agency told us: {}.",
|
||||
() -> doi, resp::getContent);
|
||||
throw new DOIIdentifierException("There was an error in handling "
|
||||
+ "of DOIs. The DOI we wanted to register had not been "
|
||||
+ "reserved in advance. Please contact the administrator "
|
||||
@@ -511,7 +508,7 @@ public class DataCiteConnector
|
||||
}
|
||||
// Catch all other http status code in case we forgot one.
|
||||
default: {
|
||||
log.warn("While registration of DOI {}, we got a http status code "
|
||||
log.warn("While registering DOI {}, we got a http status code "
|
||||
+ "{} and the message \"{}\".",
|
||||
doi, Integer.toString(resp.statusCode), resp.getContent());
|
||||
throw new DOIIdentifierException("Unable to parse an answer from "
|
||||
@@ -564,8 +561,8 @@ public class DataCiteConnector
|
||||
try {
|
||||
EntityUtils.consume(reqEntity);
|
||||
} catch (IOException ioe) {
|
||||
log.info("Caught an IOException while releasing a HTTPEntity:"
|
||||
+ ioe.getMessage());
|
||||
log.info("Caught an IOException while releasing a HTTPEntity: {}",
|
||||
ioe::getMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -668,8 +665,8 @@ public class DataCiteConnector
|
||||
try {
|
||||
EntityUtils.consume(reqEntity);
|
||||
} catch (IOException ioe) {
|
||||
log.info("Caught an IOException while releasing an HTTPEntity:"
|
||||
+ ioe.getMessage());
|
||||
log.info("Caught an IOException while releasing an HTTPEntity: {}",
|
||||
ioe::getMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -768,7 +765,7 @@ public class DataCiteConnector
|
||||
// 500 is documented and signals an internal server error
|
||||
case (500): {
|
||||
log.warn("Caught an http status code 500 while managing DOI "
|
||||
+ "{}. Message was: " + content);
|
||||
+ "{}. Message was: {}", doi, content);
|
||||
throw new DOIIdentifierException("DataCite API has an internal error. "
|
||||
+ "It is temporarily impossible to manage DOIs. "
|
||||
+ "Further information can be found in DSpace log file.",
|
||||
@@ -781,7 +778,7 @@ public class DataCiteConnector
|
||||
|
||||
return new DataCiteResponse(statusCode, content);
|
||||
} catch (IOException e) {
|
||||
log.warn("Caught an IOException: " + e.getMessage());
|
||||
log.warn("Caught an IOException: {}", e::getMessage);
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
try {
|
||||
@@ -790,7 +787,7 @@ public class DataCiteConnector
|
||||
EntityUtils.consume(entity);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.warn("Can't release HTTP-Entity: " + e.getMessage());
|
||||
log.warn("Can't release HTTP-Entity: {}", e::getMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -27,10 +27,10 @@ import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.impl.client.BasicCredentialsProvider;
|
||||
import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.identifier.DOI;
|
||||
import org.dspace.identifier.IdentifierException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* A request to EZID concerning a given (or expected) identifier.
|
||||
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
|
||||
* @author Mark H. Wood
|
||||
*/
|
||||
public class EZIDRequest {
|
||||
private static final Logger log = LoggerFactory.getLogger(EZIDRequest.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private static final String ID_PATH = "/id/" + DOI.SCHEME;
|
||||
|
||||
@@ -149,7 +149,7 @@ public class EZIDRequest {
|
||||
// GET path
|
||||
HttpGet request;
|
||||
URI uri = new URI(scheme, host, path + ID_PATH + authority + name, null);
|
||||
log.debug("EZID lookup {}", uri.toASCIIString());
|
||||
log.debug("EZID lookup {}", uri::toASCIIString);
|
||||
request = new HttpGet(uri);
|
||||
HttpResponse response = client.execute(request, httpContext);
|
||||
return new EZIDResponse(response);
|
||||
@@ -172,7 +172,7 @@ public class EZIDRequest {
|
||||
// PUT path [+metadata]
|
||||
HttpPut request;
|
||||
URI uri = new URI(scheme, host, path + ID_PATH + authority + '/' + name, null);
|
||||
log.debug("EZID create {}", uri.toASCIIString());
|
||||
log.debug("EZID create {}", uri::toASCIIString);
|
||||
request = new HttpPut(uri);
|
||||
if (null != metadata) {
|
||||
request.setEntity(new StringEntity(formatMetadata(metadata), UTF_8));
|
||||
@@ -196,7 +196,7 @@ public class EZIDRequest {
|
||||
// POST path [+metadata]
|
||||
HttpPost request;
|
||||
URI uri = new URI(scheme, host, path + SHOULDER_PATH + authority, null);
|
||||
log.debug("EZID mint {}", uri.toASCIIString());
|
||||
log.debug("EZID mint {}", uri::toASCIIString);
|
||||
request = new HttpPost(uri);
|
||||
if (null != metadata) {
|
||||
request.setEntity(new StringEntity(formatMetadata(metadata), UTF_8));
|
||||
@@ -225,7 +225,7 @@ public class EZIDRequest {
|
||||
// POST path +metadata
|
||||
HttpPost request;
|
||||
URI uri = new URI(scheme, host, path + ID_PATH + authority + name, null);
|
||||
log.debug("EZID modify {}", uri.toASCIIString());
|
||||
log.debug("EZID modify {}", uri::toASCIIString);
|
||||
request = new HttpPost(uri);
|
||||
request.setEntity(new StringEntity(formatMetadata(metadata), UTF_8));
|
||||
HttpResponse response = client.execute(request, httpContext);
|
||||
@@ -246,7 +246,7 @@ public class EZIDRequest {
|
||||
// DELETE path
|
||||
HttpDelete request;
|
||||
URI uri = new URI(scheme, host, path + ID_PATH + authority + name, null);
|
||||
log.debug("EZID delete {}", uri.toASCIIString());
|
||||
log.debug("EZID delete {}", uri::toASCIIString);
|
||||
request = new HttpDelete(uri);
|
||||
HttpResponse response = client.execute(request, httpContext);
|
||||
return new EZIDResponse(response);
|
||||
|
@@ -19,15 +19,15 @@ import org.apache.http.HttpEntity;
|
||||
import org.apache.http.HttpResponse;
|
||||
import org.apache.http.ParseException;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.identifier.IdentifierException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Decoded response data evoked by a request made to EZID.
|
||||
*/
|
||||
public class EZIDResponse {
|
||||
private static final Logger log = LoggerFactory.getLogger(EZIDResponse.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private static final String UTF_8 = "UTF-8";
|
||||
|
||||
@@ -35,7 +35,7 @@ public class EZIDResponse {
|
||||
|
||||
private final String statusValue;
|
||||
|
||||
private final Map<String, String> attributes = new HashMap<String, String>();
|
||||
private final Map<String, String> attributes = new HashMap<>();
|
||||
|
||||
private final HttpResponse response;
|
||||
|
||||
@@ -49,12 +49,8 @@ public class EZIDResponse {
|
||||
String body;
|
||||
try {
|
||||
body = EntityUtils.toString(responseBody, UTF_8);
|
||||
} catch (IOException ex) {
|
||||
log.error(ex.getMessage());
|
||||
throw new IdentifierException("EZID response not understood: "
|
||||
+ ex.getMessage());
|
||||
} catch (ParseException ex) {
|
||||
log.error(ex.getMessage());
|
||||
} catch (IOException | ParseException ex) {
|
||||
log.error(ex::getMessage);
|
||||
throw new IdentifierException("EZID response not understood: "
|
||||
+ ex.getMessage());
|
||||
}
|
||||
@@ -124,7 +120,7 @@ public class EZIDResponse {
|
||||
* @return all keys found in the response.
|
||||
*/
|
||||
public List<String> getKeys() {
|
||||
List<String> keys = new ArrayList<String>();
|
||||
List<String> keys = new ArrayList<>();
|
||||
for (String key : attributes.keySet()) {
|
||||
keys.add(key);
|
||||
}
|
||||
|
@@ -22,6 +22,8 @@ import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.MetadataFieldName;
|
||||
@@ -45,8 +47,6 @@ import org.dspace.orcid.service.OrcidTokenService;
|
||||
import org.dspace.profile.OrcidProfileSyncPreference;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* The consumer to fill the ORCID queue. The addition to the queue is made for
|
||||
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
|
||||
* be synchronized (based on the preferences set by the user)</li>
|
||||
* <li>are publications/fundings related to profile items linked to orcid (based
|
||||
* on the preferences set by the user)</li>
|
||||
*
|
||||
*
|
||||
* </ul>
|
||||
*
|
||||
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
|
||||
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class OrcidQueueConsumer implements Consumer {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OrcidQueueConsumer.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private OrcidQueueService orcidQueueService;
|
||||
|
||||
@@ -82,7 +82,7 @@ public class OrcidQueueConsumer implements Consumer {
|
||||
|
||||
private RelationshipService relationshipService;
|
||||
|
||||
private List<UUID> alreadyConsumedItems = new ArrayList<>();
|
||||
private final List<UUID> alreadyConsumedItems = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void initialize() throws Exception {
|
||||
@@ -263,7 +263,7 @@ public class OrcidQueueConsumer implements Consumer {
|
||||
|
||||
if (StringUtils.isBlank(putCode)) {
|
||||
LOGGER.warn("The orcid history record with id {} should have a not blank put code",
|
||||
historyRecord.getID());
|
||||
historyRecord::getID);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@@ -18,6 +18,8 @@ import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.MetadataValue;
|
||||
import org.dspace.content.Relationship;
|
||||
@@ -44,8 +46,6 @@ import org.orcid.jaxb.model.v3.release.record.Funding;
|
||||
import org.orcid.jaxb.model.v3.release.record.FundingContributor;
|
||||
import org.orcid.jaxb.model.v3.release.record.FundingContributors;
|
||||
import org.orcid.jaxb.model.v3.release.record.FundingTitle;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -57,7 +57,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class OrcidFundingFactory implements OrcidEntityFactory {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OrcidFundingFactory.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
|
@@ -19,6 +19,8 @@ import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.EnumUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.MetadataValue;
|
||||
import org.dspace.content.service.ItemService;
|
||||
@@ -42,8 +44,6 @@ import org.orcid.jaxb.model.v3.release.record.ExternalIDs;
|
||||
import org.orcid.jaxb.model.v3.release.record.Work;
|
||||
import org.orcid.jaxb.model.v3.release.record.WorkContributors;
|
||||
import org.orcid.jaxb.model.v3.release.record.WorkTitle;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -55,7 +55,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class OrcidWorkFactory implements OrcidEntityFactory {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OrcidWorkFactory.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
@@ -164,7 +164,7 @@ public class OrcidWorkFactory implements OrcidEntityFactory {
|
||||
*/
|
||||
private List<ExternalID> getWorkSelfExternalIds(Context context, Item item) {
|
||||
|
||||
List<ExternalID> selfExternalIds = new ArrayList<ExternalID>();
|
||||
List<ExternalID> selfExternalIds = new ArrayList<>();
|
||||
|
||||
Map<String, String> externalIdentifierFields = fieldMapping.getExternalIdentifierFields();
|
||||
|
||||
|
@@ -20,6 +20,8 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.cli.ParseException;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
@@ -36,8 +38,6 @@ import org.dspace.scripts.DSpaceRunnable;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.dspace.utils.DSpace;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Script that perform the bulk synchronization with ORCID registry of all the
|
||||
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class OrcidBulkPush extends DSpaceRunnable<OrcidBulkPushScriptConfiguration<OrcidBulkPush>> {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OrcidBulkPush.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private OrcidQueueService orcidQueueService;
|
||||
|
||||
@@ -63,7 +63,7 @@ public class OrcidBulkPush extends DSpaceRunnable<OrcidBulkPushScriptConfigurati
|
||||
/**
|
||||
* Cache that stores the synchronization mode set for a specific profile item.
|
||||
*/
|
||||
private Map<Item, OrcidSynchronizationMode> synchronizationModeByProfileItem = new HashMap<>();
|
||||
private final Map<Item, OrcidSynchronizationMode> synchronizationModeByProfileItem = new HashMap<>();
|
||||
|
||||
private boolean ignoreMaxAttempts = false;
|
||||
|
||||
|
@@ -24,6 +24,8 @@ import java.util.Optional;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.HttpStatus;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.MetadataFieldName;
|
||||
import org.dspace.content.MetadataValue;
|
||||
@@ -48,8 +50,6 @@ import org.dspace.orcid.service.OrcidHistoryService;
|
||||
import org.dspace.orcid.service.OrcidProfileSectionFactoryService;
|
||||
import org.dspace.orcid.service.OrcidTokenService;
|
||||
import org.orcid.jaxb.model.v3.release.record.Activity;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -61,7 +61,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class OrcidHistoryServiceImpl implements OrcidHistoryService {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(OrcidHistoryServiceImpl.class);
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private OrcidHistoryDAO orcidHistoryDAO;
|
||||
@@ -134,7 +134,7 @@ public class OrcidHistoryServiceImpl implements OrcidHistoryService {
|
||||
|
||||
@Override
|
||||
public Map<Item, String> findLastPutCodes(Context context, Item entity) throws SQLException {
|
||||
Map<Item, String> profileItemAndPutCodeMap = new HashMap<Item, String>();
|
||||
Map<Item, String> profileItemAndPutCodeMap = new HashMap<>();
|
||||
|
||||
List<OrcidHistory> orcidHistoryRecords = findByEntity(context, entity);
|
||||
for (OrcidHistory orcidHistoryRecord : orcidHistoryRecords) {
|
||||
@@ -187,10 +187,12 @@ public class OrcidHistoryServiceImpl implements OrcidHistoryService {
|
||||
} catch (OrcidValidationException ex) {
|
||||
throw ex;
|
||||
} catch (OrcidClientException ex) {
|
||||
LOGGER.error("An error occurs during the orcid synchronization of ORCID queue " + orcidQueue, ex);
|
||||
LOGGER.error("An error occurs during the orcid synchronization of ORCID queue {}",
|
||||
orcidQueue, ex);
|
||||
return createHistoryRecordFromOrcidError(context, orcidQueue, operation, ex);
|
||||
} catch (RuntimeException ex) {
|
||||
LOGGER.warn("An unexpected error occurs during the orcid synchronization of ORCID queue " + orcidQueue, ex);
|
||||
LOGGER.warn("An unexpected error occurs during the orcid synchronization of ORCID queue {}",
|
||||
orcidQueue, ex);
|
||||
return createHistoryRecordFromGenericError(context, orcidQueue, operation, ex);
|
||||
}
|
||||
|
||||
|
@@ -27,6 +27,8 @@ import javax.annotation.PostConstruct;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.exception.ResourceAlreadyExistsException;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -53,8 +55,6 @@ import org.dspace.profile.service.AfterResearcherProfileCreationAction;
|
||||
import org.dspace.profile.service.ResearcherProfileService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.util.UUIDUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -66,7 +66,7 @@ import org.springframework.util.Assert;
|
||||
*/
|
||||
public class ResearcherProfileServiceImpl implements ResearcherProfileService {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(ResearcherProfileServiceImpl.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
@@ -310,7 +310,7 @@ public class ResearcherProfileServiceImpl implements ResearcherProfileService {
|
||||
|
||||
if (isNotProfileCollection(collection)) {
|
||||
log.warn("The configured researcher-profile.collection.uuid "
|
||||
+ "has an invalid entity type, expected " + getProfileType());
|
||||
+ "has an invalid entity type, expected {}", this::getProfileType);
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
|
@@ -9,14 +9,14 @@ package org.dspace.qaevent.action;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.service.ItemService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.qaevent.QualityAssuranceAction;
|
||||
import org.dspace.qaevent.service.dto.QAMessageDTO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -27,7 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class QAReinstateRequestAction implements QualityAssuranceAction {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(QAReinstateRequestAction.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
|
@@ -9,25 +9,25 @@ package org.dspace.qaevent.action;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.service.ItemService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.qaevent.QualityAssuranceAction;
|
||||
import org.dspace.qaevent.service.dto.QAMessageDTO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
* QAWithdrawnRequestAction is an implementation of the QualityAssuranceAction interface.
|
||||
* It is responsible for applying a correction to withdraw a specified item.
|
||||
*
|
||||
*
|
||||
* @author Mykhaylo Boychuk (mykhaylo.boychuk@4science.com)
|
||||
*/
|
||||
public class QAWithdrawnRequestAction implements QualityAssuranceAction {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(QAWithdrawnRequestAction.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
|
@@ -78,7 +78,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
||||
*/
|
||||
public class QAEventServiceImpl implements QAEventService {
|
||||
|
||||
private static final Logger log = LogManager.getLogger(QAEventServiceImpl.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String QAEVENTS_SOURCES = "qaevents.sources";
|
||||
|
||||
@@ -405,8 +405,8 @@ public class QAEventServiceImpl implements QAEventService {
|
||||
email.addArgument(parsJson(qaEvent.getMessage()));
|
||||
email.send();
|
||||
} catch (Exception e) {
|
||||
log.warn("Error during sending email of Withdrawn/Reinstate request for item with uuid:"
|
||||
+ qaEvent.getTarget(), e);
|
||||
log.warn("Error during sending email of Withdrawn/Reinstate request for item with uuid: {}",
|
||||
qaEvent.getTarget(), e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -416,7 +416,7 @@ public class QAEventServiceImpl implements QAEventService {
|
||||
JsonNode jsonNode = objectMapper.readTree(jsonString);
|
||||
return jsonNode.get("reason").asText();
|
||||
} catch (Exception e) {
|
||||
log.warn("Unable to parse the JSON:" + jsonString);
|
||||
log.warn("Unable to parse the JSON: {}", jsonString);
|
||||
return jsonString;
|
||||
}
|
||||
}
|
||||
|
@@ -12,19 +12,19 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.kernel.ServiceManager;
|
||||
import org.dspace.scripts.configuration.ScriptConfiguration;
|
||||
import org.dspace.scripts.service.ScriptService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
* The implementation for the {@link ScriptService}
|
||||
*/
|
||||
public class ScriptServiceImpl implements ScriptService {
|
||||
private static final Logger log = LoggerFactory.getLogger(ScriptServiceImpl.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ServiceManager serviceManager;
|
||||
@@ -48,7 +48,7 @@ public class ScriptServiceImpl implements ScriptService {
|
||||
try {
|
||||
return (DSpaceRunnable) scriptToExecute.getDspaceRunnableClass().getDeclaredConstructor().newInstance();
|
||||
} catch (InvocationTargetException | NoSuchMethodException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
@@ -15,12 +15,12 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import com.google.common.net.InetAddresses;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.core.Utils;
|
||||
import org.dspace.service.ClientInfoService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.statistics.util.IPTable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -32,16 +32,16 @@ public class ClientInfoServiceImpl implements ClientInfoService {
|
||||
|
||||
private static final String X_FORWARDED_FOR_HEADER = "X-Forwarded-For";
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ClientInfoServiceImpl.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private Boolean useProxiesEnabled;
|
||||
|
||||
private ConfigurationService configurationService;
|
||||
private final ConfigurationService configurationService;
|
||||
|
||||
/**
|
||||
* Sparse HashTable structure to hold IP address ranges of trusted proxies
|
||||
*/
|
||||
private IPTable trustedProxies;
|
||||
private final IPTable trustedProxies;
|
||||
|
||||
@Autowired(required = true)
|
||||
public ClientInfoServiceImpl(ConfigurationService configurationService) {
|
||||
@@ -84,7 +84,7 @@ public class ClientInfoServiceImpl implements ClientInfoService {
|
||||
public boolean isUseProxiesEnabled() {
|
||||
if (useProxiesEnabled == null) {
|
||||
useProxiesEnabled = configurationService.getBooleanProperty("useProxies", true);
|
||||
log.info("Proxies (useProxies) enabled? " + useProxiesEnabled);
|
||||
log.info("Proxies (useProxies) enabled? {}", useProxiesEnabled);
|
||||
}
|
||||
|
||||
return useProxiesEnabled;
|
||||
@@ -163,6 +163,7 @@ public class ClientInfoServiceImpl implements ClientInfoService {
|
||||
* @param ipAddress IP address to check for
|
||||
* @return true if trusted, false otherwise
|
||||
*/
|
||||
@Override
|
||||
public boolean isRequestFromTrustedProxy(String ipAddress) {
|
||||
try {
|
||||
return trustedProxies != null && trustedProxies.contains(ipAddress);
|
||||
@@ -205,15 +206,15 @@ public class ClientInfoServiceImpl implements ClientInfoService {
|
||||
}
|
||||
|
||||
/**
|
||||
* Anonymize the given IP address by setting the last specified bytes to 0
|
||||
* @param ipAddress the ip address to be anonymize
|
||||
* Anonymize the given IP address by setting the last specified bytes to 0.
|
||||
* @param ipAddress the ip address to be anonymized
|
||||
* @param bytes the number of bytes to be set to 0
|
||||
* @return the modified ip address
|
||||
*/
|
||||
private String anonymizeIpAddress(String ipAddress, int bytes) {
|
||||
|
||||
if (bytes > 4) {
|
||||
log.warn("It is not possible to anonymize " + bytes + " bytes of an IPv4 address.");
|
||||
log.warn("It is not possible to anonymize {} bytes of an IPv4 address.", bytes);
|
||||
return ipAddress;
|
||||
}
|
||||
|
||||
|
@@ -13,8 +13,6 @@ import java.util.Set;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.dspace.statistics.factory.StatisticsServiceFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* SpiderDetector delegates static methods to SpiderDetectorService, which is used to find IP's that are spiders...
|
||||
@@ -26,11 +24,9 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class SpiderDetector {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SpiderDetector.class);
|
||||
|
||||
//Service where all methods get delegated to, this is instantiated by a spring-bean defined in core-services.xml
|
||||
private static SpiderDetectorService spiderDetectorService = StatisticsServiceFactory.getInstance()
|
||||
.getSpiderDetectorService();
|
||||
private static final SpiderDetectorService spiderDetectorService
|
||||
= StatisticsServiceFactory.getInstance().getSpiderDetectorService();
|
||||
|
||||
/**
|
||||
* Default constructor
|
||||
|
@@ -21,10 +21,10 @@ import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.configuration2.ex.ConversionException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.service.ClientInfoService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -39,18 +39,18 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SpiderDetectorServiceImpl.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private Boolean useCaseInsensitiveMatching;
|
||||
|
||||
private final List<Pattern> agents
|
||||
= Collections.synchronizedList(new ArrayList<Pattern>());
|
||||
= Collections.synchronizedList(new ArrayList<>());
|
||||
|
||||
private final List<Pattern> domains
|
||||
= Collections.synchronizedList(new ArrayList<Pattern>());
|
||||
= Collections.synchronizedList(new ArrayList<>());
|
||||
|
||||
private ConfigurationService configurationService;
|
||||
private ClientInfoService clientInfoService;
|
||||
private final ConfigurationService configurationService;
|
||||
private final ClientInfoService clientInfoService;
|
||||
|
||||
/**
|
||||
* Sparse HashTable structure to hold IP address ranges.
|
||||
@@ -63,6 +63,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
this.clientInfoService = clientInfoService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPTable getTable() {
|
||||
return table;
|
||||
}
|
||||
@@ -79,6 +80,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
* @param agent User-Agent header value, or null.
|
||||
* @return true if the client matches any spider characteristics list.
|
||||
*/
|
||||
@Override
|
||||
public boolean isSpider(String clientIP, String proxyIPs, String hostname, String agent) {
|
||||
// See if any agent patterns match
|
||||
if (null != agent) {
|
||||
@@ -144,6 +146,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
* @return a vector full of patterns
|
||||
* @throws IOException could not happen since we check the file be4 we use it
|
||||
*/
|
||||
@Override
|
||||
public Set<String> readPatterns(File patternFile)
|
||||
throws IOException {
|
||||
Set<String> patterns = new HashSet<>();
|
||||
@@ -191,7 +194,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
patterns = readPatterns(file);
|
||||
} catch (IOException ex) {
|
||||
log.error("Patterns not read from {}: {}",
|
||||
file.getPath(), ex.getMessage());
|
||||
file::getPath, ex::getMessage);
|
||||
continue;
|
||||
}
|
||||
//If case insensitive matching is enabled, lowercase the patterns so they can be lowercase matched
|
||||
@@ -203,10 +206,10 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
}
|
||||
|
||||
|
||||
log.info("Loaded pattern file: {}", file.getPath());
|
||||
log.info("Loaded pattern file: {}", file::getPath);
|
||||
}
|
||||
} else {
|
||||
log.info("No patterns loaded from {}", patternsDir.getPath());
|
||||
log.info("No patterns loaded from {}", patternsDir::getPath);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,6 +219,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
* @param request
|
||||
* @return true|false if the request was detected to be from a spider.
|
||||
*/
|
||||
@Override
|
||||
public boolean isSpider(HttpServletRequest request) {
|
||||
return isSpider(request.getRemoteAddr(),
|
||||
request.getHeader("X-Forwarded-For"),
|
||||
@@ -229,6 +233,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
* @param ip
|
||||
* @return if is spider IP
|
||||
*/
|
||||
@Override
|
||||
public boolean isSpider(String ip) {
|
||||
if (table == null) {
|
||||
loadSpiderIpAddresses();
|
||||
@@ -248,6 +253,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService {
|
||||
/*
|
||||
* loader to populate the table from files.
|
||||
*/
|
||||
@Override
|
||||
public synchronized void loadSpiderIpAddresses() {
|
||||
|
||||
if (table == null) {
|
||||
|
@@ -14,6 +14,8 @@ import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.xpath.XPathExpressionException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.administer.MetadataImporter;
|
||||
import org.dspace.administer.RegistryImportException;
|
||||
import org.dspace.administer.RegistryLoader;
|
||||
@@ -24,8 +26,6 @@ import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.flywaydb.core.api.callback.Callback;
|
||||
import org.flywaydb.core.api.callback.Event;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
/**
|
||||
@@ -52,7 +52,7 @@ public class RegistryUpdater implements Callback {
|
||||
/**
|
||||
* logging category
|
||||
*/
|
||||
private static final Logger log = LoggerFactory.getLogger(RegistryUpdater.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Method to actually update our registries from latest configuration files.
|
||||
|
@@ -14,8 +14,6 @@ import org.dspace.storage.rdbms.DatabaseUtils;
|
||||
import org.dspace.storage.rdbms.migration.MigrationUtils;
|
||||
import org.flywaydb.core.api.migration.BaseJavaMigration;
|
||||
import org.flywaydb.core.api.migration.Context;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* This class automatically migrates your DSpace Database to use the
|
||||
@@ -35,11 +33,6 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class V5_0_2014_11_04__Enable_XMLWorkflow_Migration
|
||||
extends BaseJavaMigration {
|
||||
/**
|
||||
* logging category
|
||||
*/
|
||||
private static final Logger log = LoggerFactory.getLogger(V5_0_2014_11_04__Enable_XMLWorkflow_Migration.class);
|
||||
|
||||
// Size of migration script run
|
||||
Integer migration_file_size = -1;
|
||||
|
||||
|
@@ -15,16 +15,16 @@ import java.io.PrintWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.core.Constants;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.model.Event;
|
||||
import org.dspace.utils.DSpace;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Serialize {@link UsageEvent} data to a file as Tab delimited. In dspace.cfg
|
||||
* specify the path to the file as the value of
|
||||
* Serialize {@link UsageEvent} data to a file as Tab delimited.
|
||||
* In {@code dspace.cfg} specify the path to the file as the value of
|
||||
* {@code usageEvent.tabFileLogger.file}. If that path is not absolute, it
|
||||
* will be interpreted as relative to the directory named in {@code log.dir}.
|
||||
* If no name is configured, it defaults to "usage-events.tsv". If the file is
|
||||
@@ -38,8 +38,7 @@ public class TabFileUsageEventListener
|
||||
/**
|
||||
* log category.
|
||||
*/
|
||||
private static final Logger errorLog = LoggerFactory
|
||||
.getLogger(TabFileUsageEventListener.class);
|
||||
private static final Logger errorLog = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* ISO 8601 Basic string format for record timestamps.
|
||||
@@ -77,11 +76,11 @@ public class TabFileUsageEventListener
|
||||
try {
|
||||
eventLog = new PrintWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(logFile, true)));
|
||||
errorLog.debug("Writing to {}", logFile.getAbsolutePath());
|
||||
errorLog.debug("Writing to {}", logFile::getAbsolutePath);
|
||||
} catch (FileNotFoundException e) {
|
||||
errorLog.error("{} cannot open file, will not log events: {}",
|
||||
TabFileUsageEventListener.class.getName(),
|
||||
e.getMessage());
|
||||
TabFileUsageEventListener.class::getName,
|
||||
e::getMessage);
|
||||
throw new IllegalArgumentException("Cannot open event log file", e);
|
||||
}
|
||||
|
||||
@@ -104,9 +103,7 @@ public class TabFileUsageEventListener
|
||||
init();
|
||||
}
|
||||
|
||||
if (errorLog.isDebugEnabled()) {
|
||||
errorLog.debug("got: {}", event.toString());
|
||||
}
|
||||
errorLog.debug("got: {}", event::toString);
|
||||
|
||||
if (!(event instanceof UsageEvent)) {
|
||||
return;
|
||||
|
@@ -14,6 +14,8 @@ import static org.apache.commons.lang3.StringUtils.lowerCase;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.content.Bitstream;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.core.Context;
|
||||
@@ -22,18 +24,16 @@ import org.dspace.discovery.DiscoverResult;
|
||||
import org.dspace.discovery.SearchService;
|
||||
import org.dspace.discovery.SearchServiceException;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* Service class for generation of front-end urls.
|
||||
* Service class for generation of front-end URLs.
|
||||
*/
|
||||
@Component
|
||||
public class FrontendUrlService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(FrontendUrlService.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ConfigurationService configurationService;
|
||||
@@ -80,7 +80,8 @@ public class FrontendUrlService {
|
||||
}
|
||||
}
|
||||
} catch (SearchServiceException e) {
|
||||
log.error("Failed getting entitytype through solr for item " + item.getID() + ": " + e.getMessage());
|
||||
log.error("Failed getting entitytype through solr for item {}: {}",
|
||||
item::getID, e::getMessage);
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
@@ -23,9 +23,9 @@ import java.util.regex.Pattern;
|
||||
import java.util.regex.PatternSyntaxException;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.servicemanager.DSpaceKernelInit;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Attempt to parse date strings in a variety of formats. This uses an external
|
||||
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
|
||||
* @author mwood
|
||||
*/
|
||||
public class MultiFormatDateParser {
|
||||
private static final Logger log = LoggerFactory.getLogger(MultiFormatDateParser.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* A list of rules, each binding a regular expression to a date format.
|
||||
@@ -71,7 +71,7 @@ public class MultiFormatDateParser {
|
||||
pattern = Pattern.compile(rule.getKey(), Pattern.CASE_INSENSITIVE);
|
||||
} catch (PatternSyntaxException ex) {
|
||||
log.error("Skipping format with unparseable pattern '{}'",
|
||||
rule.getKey());
|
||||
rule::getKey);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ public class MultiFormatDateParser {
|
||||
format = new SimpleDateFormat(rule.getValue());
|
||||
} catch (IllegalArgumentException ex) {
|
||||
log.error("Skipping uninterpretable date format '{}'",
|
||||
rule.getValue());
|
||||
rule::getValue);
|
||||
continue;
|
||||
}
|
||||
format.setCalendar(Calendar.getInstance(UTC_ZONE));
|
||||
@@ -107,7 +107,7 @@ public class MultiFormatDateParser {
|
||||
}
|
||||
} catch (ParseException ex) {
|
||||
log.info("Date string '{}' matched pattern '{}' but did not parse: {}",
|
||||
new String[] {dateString, candidate.format.toPattern(), ex.getMessage()});
|
||||
() -> dateString, candidate.format::toPattern, ex::getMessage);
|
||||
continue;
|
||||
}
|
||||
return result;
|
||||
|
@@ -14,6 +14,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.AbstractUnitTest;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Community;
|
||||
@@ -27,8 +29,6 @@ import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Drive the Curator and check results.
|
||||
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class CuratorReportTest
|
||||
extends AbstractUnitTest {
|
||||
Logger LOG = LoggerFactory.getLogger(CuratorReportTest.class);
|
||||
Logger LOG = LogManager.getLogger();
|
||||
|
||||
public CuratorReportTest() {
|
||||
}
|
||||
|
@@ -28,6 +28,12 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Needed to support Spring @Configuration classes (to register servlets/beans with Spring Boot webapp) -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
@@ -421,7 +421,7 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<version>${spring-boot.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@@ -433,7 +433,13 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<version>${spring-boot.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- DSpace dependencies -->
|
||||
|
@@ -36,8 +36,6 @@ import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.app.rest.utils.Utils;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.service.ClientInfoService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -64,8 +62,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RestController
|
||||
public class AuthenticationRestController implements InitializingBean {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AuthenticationRestController.class);
|
||||
|
||||
@Autowired
|
||||
DiscoverableEndpointsService discoverableEndpointsService;
|
||||
|
||||
|
@@ -14,11 +14,11 @@ import javax.annotation.PostConstruct;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.AuthnRest;
|
||||
import org.dspace.core.Utils;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.hateoas.Link;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -27,7 +27,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* Rest controller that handles redirect after OIDC authentication succeded.
|
||||
* Rest controller that handles redirect after OIDC authentication succeeded.
|
||||
*
|
||||
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
|
||||
*/
|
||||
@@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping(value = "/api/" + AuthnRest.CATEGORY + "/oidc")
|
||||
public class OidcRestController {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(OidcRestController.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ConfigurationService configurationService;
|
||||
@@ -66,11 +66,12 @@ public class OidcRestController {
|
||||
}
|
||||
|
||||
if (StringUtils.equalsAnyIgnoreCase(redirectHostName, allowedHostNames.toArray(new String[0]))) {
|
||||
log.debug("OIDC redirecting to " + redirectUrl);
|
||||
log.debug("OIDC redirecting to {}", redirectUrl);
|
||||
response.sendRedirect(redirectUrl); // lgtm [java/unvalidated-url-redirection]
|
||||
} else {
|
||||
log.error("Invalid OIDC redirectURL=" + redirectUrl +
|
||||
". URL doesn't match hostname of server or UI!");
|
||||
log.error("Invalid OIDC redirectURL={}."
|
||||
+ " URL doesn't match hostname of server or UI!",
|
||||
redirectUrl);
|
||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST,
|
||||
"Invalid redirectURL! Must match server or ui hostname.");
|
||||
}
|
||||
|
@@ -24,8 +24,6 @@ import org.dspace.app.solrdatabaseresync.SolrDatabaseResyncCli;
|
||||
import org.dspace.app.util.DSpaceContextListener;
|
||||
import org.dspace.google.GoogleAsyncEventListener;
|
||||
import org.dspace.utils.servlet.DSpaceWebappServletFilter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -55,8 +53,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
@Configuration
|
||||
public class WebApplication {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(WebApplication.class);
|
||||
|
||||
@Autowired
|
||||
private ApplicationConfig configuration;
|
||||
|
||||
|
@@ -11,6 +11,8 @@ import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.authorization.AuthorizationFeature;
|
||||
import org.dspace.app.rest.authorization.AuthorizationFeatureDocumentation;
|
||||
import org.dspace.app.rest.model.BaseObjectRest;
|
||||
@@ -22,8 +24,6 @@ import org.dspace.content.service.ItemService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.profile.service.ResearcherProfileService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -43,7 +43,7 @@ public class CanClaimItemFeature implements AuthorizationFeature {
|
||||
|
||||
public static final String NAME = "canClaimItem";
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(CanClaimItemFeature.class);
|
||||
private static final Logger LOG = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
@@ -72,7 +72,8 @@ public class CanClaimItemFeature implements AuthorizationFeature {
|
||||
try {
|
||||
return researcherProfileService.findById(context, context.getCurrentUser().getID()) == null;
|
||||
} catch (SQLException | AuthorizeException e) {
|
||||
LOG.warn("Error while checking if eperson has a ResearcherProfileAssociated: {}", e.getMessage(), e);
|
||||
LOG.warn("Error while checking if eperson has a ResearcherProfileAssociated: {}",
|
||||
e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -17,8 +17,6 @@ import javax.servlet.ServletResponse;
|
||||
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.core.Context;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* A Servlet Filter whose only role is to clean up open Context objects in
|
||||
@@ -29,8 +27,6 @@ import org.slf4j.LoggerFactory;
|
||||
* @see ContextUtil
|
||||
*/
|
||||
public class DSpaceRequestContextFilter implements Filter {
|
||||
private static final Logger log = LoggerFactory.getLogger(DSpaceRequestContextFilter.class);
|
||||
|
||||
@Override
|
||||
public void init(FilterConfig filterConfig) throws ServletException {
|
||||
//noop
|
||||
|
@@ -18,6 +18,8 @@ import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.login.PostLoggedInAction;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.content.Item;
|
||||
@@ -27,8 +29,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.profile.service.ResearcherProfileService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -43,7 +43,7 @@ import org.springframework.util.Assert;
|
||||
*/
|
||||
public class ResearcherProfileAutomaticClaim implements PostLoggedInAction {
|
||||
|
||||
private final static Logger LOGGER = LoggerFactory.getLogger(ResearcherProfileAutomaticClaim.class);
|
||||
private final static Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ResearcherProfileService researcherProfileService;
|
||||
|
@@ -18,6 +18,8 @@ import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.Parameter;
|
||||
import org.dspace.app.rest.SearchRestMethod;
|
||||
import org.dspace.app.rest.authorization.Authorization;
|
||||
@@ -34,8 +36,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.discovery.SearchServiceException;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -52,7 +52,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component(AuthorizationRest.CATEGORY + "." + AuthorizationRest.PLURAL_NAME)
|
||||
public class AuthorizationRestRepository extends DSpaceRestRepository<AuthorizationRest, String> {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AuthorizationRestRepository.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private AuthorizationFeatureService authorizationFeatureService;
|
||||
@@ -79,7 +79,7 @@ public class AuthorizationRestRepository extends DSpaceRestRepository<Authorizat
|
||||
try {
|
||||
featureName = authorizationRestUtil.getFeatureName(id);
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.warn(e.getMessage(), e);
|
||||
log.warn(e::getMessage, e);
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
@@ -87,7 +87,7 @@ public class AuthorizationRestRepository extends DSpaceRestRepository<Authorizat
|
||||
try {
|
||||
object = authorizationRestUtil.getObject(context, id);
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.warn("Object informations not found in the specified id " + id, e);
|
||||
log.warn("Object informations not found in the specified id {}", id, e);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ public class AuthorizationRestRepository extends DSpaceRestRepository<Authorizat
|
||||
try {
|
||||
user = authorizationRestUtil.getEperson(context, id);
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.warn("Invalid eperson informations in the specified id " + id, e);
|
||||
log.warn("Invalid eperson informations in the specified id {}", id, e);
|
||||
return null;
|
||||
}
|
||||
EPerson currUser = context.getCurrentUser();
|
||||
@@ -136,7 +136,7 @@ public class AuthorizationRestRepository extends DSpaceRestRepository<Authorizat
|
||||
/**
|
||||
* It returns the list of matching available authorizations granted to the specified eperson or to the anonymous
|
||||
* user. Only administrators and the user identified by the epersonUuid parameter can access this method
|
||||
*
|
||||
*
|
||||
* @param uri
|
||||
* the uri of the object to check the authorization against
|
||||
* @param epersonUuid
|
||||
@@ -283,7 +283,7 @@ public class AuthorizationRestRepository extends DSpaceRestRepository<Authorizat
|
||||
|
||||
/**
|
||||
* Return the user specified in the request parameter if valid
|
||||
*
|
||||
*
|
||||
* @param context
|
||||
* @param epersonUuid
|
||||
* @return
|
||||
|
@@ -10,6 +10,8 @@ package org.dspace.app.rest.security;
|
||||
import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
import org.dspace.core.Context;
|
||||
@@ -17,8 +19,6 @@ import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
@@ -34,7 +34,7 @@ import org.springframework.stereotype.Component;
|
||||
@Order(value = Ordered.HIGHEST_PRECEDENCE)
|
||||
public class AdminRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(RestObjectPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private AuthorizeService authorizeService;
|
||||
@@ -69,7 +69,7 @@ public class AdminRestPermissionEvaluatorPlugin extends RestObjectPermissionEval
|
||||
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
import org.dspace.content.DSpaceObject;
|
||||
@@ -24,21 +26,19 @@ import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.dspace.util.UUIDUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* DSpaceObjectPermissionEvaluatorPlugin will check persmissions based on the DSpace {@link AuthorizeService}.
|
||||
* DSpaceObjectPermissionEvaluatorPlugin will check permissions based on the DSpace {@link AuthorizeService}.
|
||||
* This service will validate if the authenticated user is allowed to perform an action on the given DSpace Object
|
||||
* based on the resource policies attached to that DSpace object.
|
||||
*/
|
||||
@Component
|
||||
public class AuthorizeServicePermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AuthorizeServicePermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private AuthorizeService authorizeService;
|
||||
@@ -106,7 +106,7 @@ public class AuthorizeServicePermissionEvaluatorPlugin extends RestObjectPermiss
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.repository.BitstreamRestRepository;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.app.rest.utils.DSpaceObjectUtils;
|
||||
@@ -24,8 +26,6 @@ import org.dspace.core.Constants;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -39,7 +39,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class BitstreamMetadataReadPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(BitstreamMetadataReadPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -66,7 +66,7 @@ public class BitstreamMetadataReadPermissionEvaluatorPlugin extends RestObjectPe
|
||||
return this.metadataReadPermissionOnBitstream(context, (Bitstream) dso);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.ClaimedTaskRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.core.Context;
|
||||
@@ -20,8 +22,6 @@ import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.dspace.xmlworkflow.storedcomponents.ClaimedTask;
|
||||
import org.dspace.xmlworkflow.storedcomponents.service.ClaimedTaskService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -29,13 +29,13 @@ import org.springframework.stereotype.Component;
|
||||
/**
|
||||
* An authenticated user is allowed to interact with a claimed task only if they own it
|
||||
* claim.
|
||||
*
|
||||
*
|
||||
* @author Andrea Bollini (andrea.bollini at 4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class ClaimedTaskRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ClaimedTaskRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -74,7 +74,7 @@ public class ClaimedTaskRestPermissionEvaluatorPlugin extends RestObjectPermissi
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -10,10 +10,10 @@ package org.dspace.app.rest.security;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.core.Context;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.web.authentication.logout.LogoutHandler;
|
||||
@@ -28,7 +28,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class CustomLogoutHandler implements LogoutHandler {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(CustomLogoutHandler.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RestAuthenticationService restAuthenticationService;
|
||||
@@ -40,6 +40,7 @@ public class CustomLogoutHandler implements LogoutHandler {
|
||||
* @param httpServletResponse
|
||||
* @param authentication
|
||||
*/
|
||||
@Override
|
||||
public void logout(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
|
||||
Authentication authentication) {
|
||||
try {
|
||||
|
@@ -12,6 +12,8 @@ import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.app.rest.utils.DSpaceObjectUtils;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -19,20 +21,19 @@ import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate admin permission against a generic DSpace Object
|
||||
*
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate admin permission against a generic DSpace Object.
|
||||
*
|
||||
* @author Mykhaylo Boychuk (4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class DSpaceObjectAdminPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DSpaceObjectAdminPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String DSPACE_OBJECT = "dspaceObject";
|
||||
|
||||
@@ -64,7 +65,7 @@ public class DSpaceObjectAdminPermissionEvaluatorPlugin extends RestObjectPermis
|
||||
DSpaceObject dso = dspaceObjectUtil.findDSpaceObject(context, dsoUuid);
|
||||
return authorizeService.isAdmin(context, dso);
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -19,6 +19,8 @@ import javax.annotation.PostConstruct;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.login.PostLoggedInAction;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authenticate.AuthenticationMethod;
|
||||
@@ -28,8 +30,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.core.LogHelper;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.authentication.AuthenticationProvider;
|
||||
import org.springframework.security.authentication.BadCredentialsException;
|
||||
@@ -40,7 +40,7 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* This class is responsible for authenticating a user via REST
|
||||
* This class is responsible for authenticating a user via REST.
|
||||
*
|
||||
* @author Frederic Van Reet (frederic dot vanreet at atmire dot com)
|
||||
* @author Tom Desair (tom dot desair at atmire dot com)
|
||||
@@ -48,7 +48,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class EPersonRestAuthenticationProvider implements AuthenticationProvider {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(EPersonRestAuthenticationProvider.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String MANAGE_ACCESS_GROUP = "MANAGE_ACCESS_GROUP";
|
||||
|
||||
@@ -144,9 +144,8 @@ public class EPersonRestAuthenticationProvider implements AuthenticationProvider
|
||||
}
|
||||
|
||||
} else {
|
||||
log.info(LogHelper.getHeader(newContext, "failed_login", "email="
|
||||
+ name + ", result="
|
||||
+ authenticateResult));
|
||||
log.info(LogHelper.getHeader(newContext, "failed_login",
|
||||
"email={}, result={}"), name, authenticateResult);
|
||||
throw new BadCredentialsException("Login failed");
|
||||
}
|
||||
}
|
||||
@@ -155,7 +154,7 @@ public class EPersonRestAuthenticationProvider implements AuthenticationProvider
|
||||
try {
|
||||
newContext.complete();
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage() + " occurred while trying to close", e);
|
||||
log.error("{} occurred while trying to close", e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -182,7 +181,7 @@ public class EPersonRestAuthenticationProvider implements AuthenticationProvider
|
||||
return new DSpaceAuthentication(ePerson, getGrantedAuthorities(context));
|
||||
|
||||
} else {
|
||||
log.info(LogHelper.getHeader(context, "failed_login", "No eperson with an non-blank e-mail address found"));
|
||||
log.info(LogHelper.getHeader(context, "failed_login", "No eperson with a non-blank e-mail address found"));
|
||||
throw new BadCredentialsException("Login failed");
|
||||
}
|
||||
}
|
||||
|
@@ -14,6 +14,8 @@ import java.util.UUID;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.patch.Operation;
|
||||
import org.dspace.app.rest.model.patch.Patch;
|
||||
import org.dspace.app.rest.repository.patch.operation.DSpaceObjectMetadataPatchUtils;
|
||||
@@ -27,8 +29,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -40,7 +40,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class EPersonRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(EPersonRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
AuthorizeService authorizeService;
|
||||
@@ -84,7 +84,7 @@ public class EPersonRestPermissionEvaluatorPlugin extends RestObjectPermissionEv
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ public class EPersonRestPermissionEvaluatorPlugin extends RestObjectPermissionEv
|
||||
Request currentRequest = requestService.getCurrentRequest();
|
||||
if (currentRequest != null) {
|
||||
HttpServletRequest httpServletRequest = currentRequest.getHttpServletRequest();
|
||||
if (operations.size() > 0
|
||||
if (!operations.isEmpty()
|
||||
&& StringUtils.equalsIgnoreCase(operations.get(0).getOp(), PatchOperation.OPERATION_ADD)
|
||||
&& StringUtils.equalsIgnoreCase(operations.get(0).getPath(),
|
||||
EPersonPasswordAddOperation.OPERATION_PASSWORD_CHANGE)
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.app.util.AuthorizeUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -22,8 +24,6 @@ import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.eperson.service.GroupService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class GroupRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(GroupRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -87,7 +87,7 @@ public class GroupRestPermissionEvaluatorPlugin extends RestObjectPermissionEval
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.service.ItemService;
|
||||
@@ -22,21 +24,19 @@ import org.dspace.orcid.service.OrcidHistoryService;
|
||||
import org.dspace.orcid.service.OrcidQueueService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* Class that evaluate DELETE and READ permissions
|
||||
*
|
||||
*
|
||||
* @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class OrcidQueueAndHistoryRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(OrcidQueueAndHistoryRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String ORCID_QUEUE = "ORCID_QUEUE";
|
||||
public static final String ORCID_HISTORY = "ORCID_HISTORY";
|
||||
@@ -97,7 +97,7 @@ public class OrcidQueueAndHistoryRestPermissionEvaluatorPlugin extends RestObjec
|
||||
.anyMatch(authority -> currentUser.getID().toString().equals(authority));
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@@ -13,6 +13,8 @@ import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.content.Item;
|
||||
import org.dspace.content.MetadataValue;
|
||||
@@ -21,8 +23,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -36,7 +36,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class OrcidQueueSearchRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(OrcidQueueAndHistoryRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String ORCID_QUEUE_SEARCH = "ORCID_QUEUE_SEARCH";
|
||||
|
||||
@@ -75,7 +75,7 @@ public class OrcidQueueSearchRestPermissionEvaluatorPlugin extends RestObjectPer
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.PoolTaskRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
@@ -23,8 +25,6 @@ import org.dspace.services.model.Request;
|
||||
import org.dspace.xmlworkflow.storedcomponents.PoolTask;
|
||||
import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem;
|
||||
import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -37,7 +37,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class PoolTaskRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(PoolTaskRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -79,7 +79,7 @@ public class PoolTaskRestPermissionEvaluatorPlugin extends RestObjectPermissionE
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException | AuthorizeException | IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.ProcessRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -19,8 +21,6 @@ import org.dspace.scripts.Process;
|
||||
import org.dspace.scripts.service.ProcessService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -33,7 +33,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class ProcessRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ProcessRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -66,7 +66,7 @@ public class ProcessRestPermissionEvaluatorPlugin extends RestObjectPermissionEv
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.QAEventRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.content.QAEvent;
|
||||
@@ -19,8 +21,6 @@ import org.dspace.qaevent.service.QAEventSecurityService;
|
||||
import org.dspace.qaevent.service.QAEventService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -33,7 +33,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class QAEventRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(QAEventRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private QAEventService qaEventService;
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.QASourceRest;
|
||||
import org.dspace.app.rest.model.QATopicRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
@@ -19,8 +21,6 @@ import org.dspace.qaevent.QATopic;
|
||||
import org.dspace.qaevent.service.QAEventSecurityService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -33,7 +33,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class QASourceRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(QASourceRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private QAEventSecurityService qaEventSecurityService;
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.authorization.AuthorizationRestUtil;
|
||||
import org.dspace.app.rest.model.AuthorizationRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
@@ -19,21 +21,19 @@ import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate READ permissions for an Authorization
|
||||
*
|
||||
*
|
||||
* @author Andrea Bollini (andrea.bollini at 4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class ReadAuthorizationPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ReadAuthorizationPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
AuthorizeService authorizeService;
|
||||
@@ -75,7 +75,7 @@ public class ReadAuthorizationPermissionEvaluatorPlugin extends RestObjectPermis
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.ResourcePolicyRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.ResourcePolicy;
|
||||
@@ -20,8 +22,6 @@ import org.dspace.content.DSpaceObject;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.rest.webmvc.ResourceNotFoundException;
|
||||
import org.springframework.security.core.Authentication;
|
||||
@@ -36,7 +36,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class ResourcePolicyAdminPermissionEvalutatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ResourcePolicyRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String RESOURCE_POLICY_PATCH = "resourcepolicy";
|
||||
|
||||
@@ -74,7 +74,7 @@ public class ResourcePolicyAdminPermissionEvalutatorPlugin extends RestObjectPer
|
||||
DSpaceObject dso = resourcePolicy.getdSpaceObject();
|
||||
return authorizeService.isAdmin(context, dso);
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.ResourcePolicyRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -20,21 +22,19 @@ import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a ResourcePolicy
|
||||
*
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a ResourcePolicy.
|
||||
*
|
||||
* @author Mykhaylo Boychuk (4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class ResourcePolicyRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ResourcePolicyRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
AuthorizeService authorizeService;
|
||||
@@ -78,7 +78,7 @@ public class ResourcePolicyRestPermissionEvaluatorPlugin extends RestObjectPermi
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@@ -16,6 +16,8 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.authorize.factory.AuthorizeServiceFactory;
|
||||
@@ -28,8 +30,6 @@ import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.dspace.util.UUIDUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.security.access.AccessDeniedException;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.core.Authentication;
|
||||
@@ -47,21 +47,24 @@ import org.springframework.security.web.authentication.www.BasicAuthenticationFi
|
||||
*/
|
||||
public class StatelessAuthenticationFilter extends BasicAuthenticationFilter {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(StatelessAuthenticationFilter.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private static final String ON_BEHALF_OF_REQUEST_PARAM = "X-On-Behalf-Of";
|
||||
|
||||
private RestAuthenticationService restAuthenticationService;
|
||||
private final RestAuthenticationService restAuthenticationService;
|
||||
|
||||
private EPersonRestAuthenticationProvider authenticationProvider;
|
||||
private final EPersonRestAuthenticationProvider authenticationProvider;
|
||||
|
||||
private RequestService requestService;
|
||||
private final RequestService requestService;
|
||||
|
||||
private AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService();
|
||||
private final AuthorizeService authorizeService
|
||||
= AuthorizeServiceFactory.getInstance().getAuthorizeService();
|
||||
|
||||
private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService();
|
||||
private final EPersonService ePersonService
|
||||
= EPersonServiceFactory.getInstance().getEPersonService();
|
||||
|
||||
private ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService();
|
||||
private final ConfigurationService configurationService
|
||||
= DSpaceServicesFactory.getInstance().getConfigurationService();
|
||||
|
||||
public StatelessAuthenticationFilter(AuthenticationManager authenticationManager,
|
||||
RestAuthenticationService restAuthenticationService,
|
||||
@@ -124,7 +127,7 @@ public class StatelessAuthenticationFilter extends BasicAuthenticationFilter {
|
||||
// parse the token.
|
||||
EPerson eperson = restAuthenticationService.getAuthenticatedEPerson(request, res, context);
|
||||
if (eperson != null) {
|
||||
log.debug("Found authentication data in request for EPerson {}", eperson.getEmail());
|
||||
log.debug("Found authentication data in request for EPerson {}", eperson::getEmail);
|
||||
//Pass the eperson ID to the request service
|
||||
requestService.setCurrentUserId(eperson.getID());
|
||||
|
||||
@@ -174,7 +177,7 @@ public class StatelessAuthenticationFilter extends BasicAuthenticationFilter {
|
||||
requestService.setCurrentUserId(epersonUuid);
|
||||
context.switchContextUser(onBehalfOfEPerson);
|
||||
log.debug("Found 'on-behalf-of' authentication data in request for EPerson {}",
|
||||
onBehalfOfEPerson.getEmail());
|
||||
onBehalfOfEPerson::getEmail);
|
||||
return new DSpaceAuthentication(onBehalfOfEPerson,
|
||||
authenticationProvider.getGrantedAuthorities(context));
|
||||
} else {
|
||||
|
@@ -13,8 +13,8 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
@@ -23,7 +23,7 @@ import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
|
||||
/**
|
||||
* This class will filter /api/authn/login requests to try and authenticate them. Keep in mind, this filter runs *after*
|
||||
* StatelessAuthenticationFilter (which looks for authentication data in the request itself). So, in some scenarios
|
||||
* {@link StatelessAuthenticationFilter} (which looks for authentication data in the request itself). So, in some scenarios
|
||||
* (e.g. after a Shibboleth login) the StatelessAuthenticationFilter does the actual authentication, and this Filter
|
||||
* just ensures the auth token (JWT) is sent back in an Authorization header.
|
||||
*
|
||||
@@ -31,7 +31,7 @@ import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
* @author Tom Desair (tom dot desair at atmire dot com)
|
||||
*/
|
||||
public class StatelessLoginFilter extends AbstractAuthenticationProcessingFilter {
|
||||
private static final Logger log = LoggerFactory.getLogger(StatelessLoginFilter.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
protected AuthenticationManager authenticationManager;
|
||||
|
||||
@@ -97,7 +97,7 @@ public class StatelessLoginFilter extends AbstractAuthenticationProcessingFilter
|
||||
Authentication auth) throws IOException, ServletException {
|
||||
|
||||
DSpaceAuthentication dSpaceAuthentication = (DSpaceAuthentication) auth;
|
||||
log.debug("Authentication successful for EPerson {}", dSpaceAuthentication.getName());
|
||||
log.debug("Authentication successful for EPerson {}", dSpaceAuthentication::getName);
|
||||
restAuthenticationService.addAuthenticationDataForUser(req, res, dSpaceAuthentication, false);
|
||||
}
|
||||
|
||||
|
@@ -17,6 +17,8 @@ import java.sql.SQLException;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
import org.dspace.core.Context;
|
||||
@@ -25,21 +27,19 @@ import org.dspace.eperson.Subscription;
|
||||
import org.dspace.eperson.service.SubscribeService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a Subscription
|
||||
*
|
||||
*
|
||||
* @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.com)
|
||||
*/
|
||||
@Component
|
||||
public class SubscriptionRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SubscriptionRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -76,7 +76,7 @@ public class SubscriptionRestPermissionEvaluatorPlugin extends RestObjectPermiss
|
||||
Subscription subscription = subscribeService.findById(context, Integer.parseInt(targetId.toString()));
|
||||
return Objects.nonNull(subscription) ? currentUser.equals(subscription.getEPerson()) : false;
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@ import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.TemplateItemRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -21,8 +23,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -35,7 +35,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class TemplateItemRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(TemplateItemRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -76,7 +76,7 @@ public class TemplateItemRestPermissionEvaluatorPlugin extends RestObjectPermiss
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -13,6 +13,8 @@ import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.UsageReportRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.app.rest.utils.DSpaceObjectUtils;
|
||||
@@ -22,8 +24,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -36,7 +36,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class UsageReportRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(UsageReportRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ConfigurationService configurationService;
|
||||
@@ -95,7 +95,7 @@ public class UsageReportRestPermissionEvaluatorPlugin extends RestObjectPermissi
|
||||
}
|
||||
return authorizeService.authorizeActionBoolean(context, dso, restPermission.getDspaceApiActionId());
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.VersionHistoryRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -18,8 +20,6 @@ import org.dspace.core.Context;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -31,7 +31,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class VersionHistoryRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(VersionHistoryRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -62,7 +62,7 @@ public class VersionHistoryRestPermissionEvaluatorPlugin extends RestObjectPermi
|
||||
}
|
||||
return true;
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -6,11 +6,14 @@
|
||||
* http://www.dspace.org/license/
|
||||
*/
|
||||
package org.dspace.app.rest.security;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.VersionRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -19,21 +22,19 @@ import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.dspace.versioning.Version;
|
||||
import org.dspace.versioning.service.VersioningService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* This class evaluate ADMIN permissions to patch operation over a Version.
|
||||
*
|
||||
*
|
||||
* @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class VersionRestPatchPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(VersionRestPatchPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -78,7 +79,7 @@ public class VersionRestPatchPermissionEvaluatorPlugin extends RestObjectPermiss
|
||||
return true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@ import java.sql.SQLException;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.VersionRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -21,20 +23,18 @@ import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.dspace.versioning.Version;
|
||||
import org.dspace.versioning.service.VersioningService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* This class acts as a PermissionEvaluator to decide whether a given request to a Versioning endpoint is allowed to
|
||||
* pass through or not
|
||||
* pass through or not.
|
||||
*/
|
||||
@Component
|
||||
public class VersionRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(VersionRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -77,7 +77,7 @@ public class VersionRestPermissionEvaluatorPlugin extends RestObjectPermissionEv
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -12,6 +12,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.WorkflowItemRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
@@ -25,8 +27,6 @@ import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem;
|
||||
import org.dspace.xmlworkflow.storedcomponents.service.ClaimedTaskService;
|
||||
import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService;
|
||||
import org.dspace.xmlworkflow.storedcomponents.service.XmlWorkflowItemService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -34,13 +34,13 @@ import org.springframework.stereotype.Component;
|
||||
/**
|
||||
* An authenticated user is allowed to interact with workflow item only if they belong to a task that they own or could
|
||||
* claim.
|
||||
*
|
||||
*
|
||||
* @author Andrea Bollini (andrea.bollini at 4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class WorkflowRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(WorkflowRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -99,7 +99,7 @@ public class WorkflowRestPermissionEvaluatorPlugin extends RestObjectPermissionE
|
||||
}
|
||||
|
||||
} catch (SQLException | AuthorizeException | IOException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import java.io.Serializable;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.WorkspaceItemRest;
|
||||
import org.dspace.app.rest.utils.ContextUtil;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
@@ -21,21 +23,19 @@ import org.dspace.eperson.EPerson;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.Request;
|
||||
import org.dspace.supervision.service.SupervisionOrderService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a WorkspaceItem
|
||||
*
|
||||
* {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a WorkspaceItem.
|
||||
*
|
||||
* @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it)
|
||||
*/
|
||||
@Component
|
||||
public class WorkspaceItemRestPermissionEvaluatorPlugin extends RestObjectPermissionEvaluatorPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(WorkspaceItemRestPermissionEvaluatorPlugin.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private RequestService requestService;
|
||||
@@ -100,7 +100,7 @@ public class WorkspaceItemRestPermissionEvaluatorPlugin extends RestObjectPermis
|
||||
}
|
||||
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@@ -12,10 +12,10 @@ import java.text.ParseException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.nimbusds.jwt.JWTClaimsSet;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authenticate.service.AuthenticationService;
|
||||
import org.dspace.core.Context;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -27,15 +27,17 @@ public class AuthenticationMethodClaimProvider implements JWTClaimProvider {
|
||||
|
||||
public static final String AUTHENTICATION_METHOD = "authenticationMethod";
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AuthenticationMethodClaimProvider.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private AuthenticationService authenticationService;
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return AUTHENTICATION_METHOD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue(final Context context, final HttpServletRequest request) {
|
||||
if (context.getAuthenticationMethod() != null) {
|
||||
return context.getAuthenticationMethod();
|
||||
@@ -43,12 +45,13 @@ public class AuthenticationMethodClaimProvider implements JWTClaimProvider {
|
||||
return authenticationService.getAuthenticationMethod(context, request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parseClaim(final Context context, final HttpServletRequest request, final JWTClaimsSet jwtClaimsSet)
|
||||
throws SQLException {
|
||||
try {
|
||||
context.setAuthenticationMethod(jwtClaimsSet.getStringClaim(AUTHENTICATION_METHOD));
|
||||
} catch (ParseException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -33,14 +33,14 @@ import com.nimbusds.jwt.SignedJWT;
|
||||
import com.nimbusds.jwt.util.DateUtils;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.dspace.service.ClientInfoService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.AccessDeniedException;
|
||||
import org.springframework.security.crypto.keygen.BytesKeyGenerator;
|
||||
@@ -59,7 +59,7 @@ public abstract class JWTTokenHandler {
|
||||
private static final int MAX_CLOCK_SKEW_SECONDS = 60;
|
||||
private static final String AUTHORIZATION_TOKEN_PARAMETER = "authentication-token";
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(JWTTokenHandler.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private List<JWTClaimProvider> jwtClaimProviders;
|
||||
@@ -135,7 +135,7 @@ public abstract class JWTTokenHandler {
|
||||
// As long as the JWT is valid, parse all claims and return the EPerson
|
||||
if (isValidToken(request, signedJWT, jwtClaimsSet, ePerson)) {
|
||||
|
||||
log.debug("Received valid token for username: " + ePerson.getEmail());
|
||||
log.debug("Received valid token for username: {}", ePerson::getEmail);
|
||||
|
||||
for (JWTClaimProvider jwtClaimProvider : jwtClaimProviders) {
|
||||
jwtClaimProvider.parseClaim(context, request, jwtClaimsSet);
|
||||
@@ -143,7 +143,7 @@ public abstract class JWTTokenHandler {
|
||||
|
||||
return ePerson;
|
||||
} else {
|
||||
log.warn(getIpAddress(request) + " tried to use an expired or non-valid token");
|
||||
log.warn("{} tried to use an expired or non-valid token", getIpAddress(request));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -155,7 +155,8 @@ public abstract class JWTTokenHandler {
|
||||
* @param request current Request
|
||||
* @param previousLoginDate date of last login (before this one)
|
||||
* @return string version of signed JWT
|
||||
* @throws JOSEException
|
||||
* @throws JOSEException passed through.
|
||||
* @throws SQLException passed through.
|
||||
*/
|
||||
public String createTokenForEPerson(Context context, HttpServletRequest request, Date previousLoginDate)
|
||||
throws JOSEException, SQLException {
|
||||
|
@@ -18,6 +18,8 @@ import javax.ws.rs.core.HttpHeaders;
|
||||
|
||||
import com.nimbusds.jose.JOSEException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.model.wrapper.AuthenticationToken;
|
||||
import org.dspace.app.rest.security.DSpaceAuthentication;
|
||||
import org.dspace.app.rest.security.RestAuthenticationService;
|
||||
@@ -27,8 +29,6 @@ import org.dspace.authenticate.service.AuthenticationService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.eperson.EPerson;
|
||||
import org.dspace.eperson.service.EPersonService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
@@ -47,7 +47,7 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class JWTTokenRestAuthenticationServiceImpl implements RestAuthenticationService, InitializingBean {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(RestAuthenticationService.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
private static final String AUTHORIZATION_COOKIE = "Authorization-cookie";
|
||||
private static final String AUTHORIZATION_HEADER = "Authorization";
|
||||
private static final String AUTHORIZATION_TYPE = "Bearer";
|
||||
|
@@ -17,11 +17,11 @@ import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.nimbusds.jwt.JWTClaimsSet;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authenticate.service.AuthenticationService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.eperson.Group;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -34,17 +34,19 @@ import org.springframework.stereotype.Component;
|
||||
@Component
|
||||
public class SpecialGroupClaimProvider implements JWTClaimProvider {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(SpecialGroupClaimProvider.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String SPECIAL_GROUPS = "sg";
|
||||
|
||||
@Autowired
|
||||
private AuthenticationService authenticationService;
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return SPECIAL_GROUPS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue(Context context, HttpServletRequest request) {
|
||||
List<Group> groups = new ArrayList<>();
|
||||
try {
|
||||
@@ -57,6 +59,7 @@ public class SpecialGroupClaimProvider implements JWTClaimProvider {
|
||||
return groupIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parseClaim(Context context, HttpServletRequest request, JWTClaimsSet jwtClaimsSet) {
|
||||
try {
|
||||
List<String> groupIds = jwtClaimsSet.getStringListClaim(SPECIAL_GROUPS);
|
||||
|
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* The contents of this file are subject to the license and copyright
|
||||
* detailed in the LICENSE and NOTICE files at the root of the source
|
||||
* tree and available online at
|
||||
*
|
||||
* http://www.dspace.org/license/
|
||||
*/
|
||||
/**
|
||||
* DSpace-specific concepts and behaviors to support Spring Security.
|
||||
* These may be used by Spring EL expressions in Spring Security annotations.
|
||||
*
|
||||
* <p>{@code hasPermission} terms are evaluated by
|
||||
* {@link DSpacePermissionEvaluator}, an implementation of Spring's
|
||||
* {@link PermissionEvaluator}. It tests access to specific model objects
|
||||
* (Item, EPerson etc.) using those objects' policies. It is injected with a
|
||||
* collection of {@link RestPermissionEvaluatorPlugin}s which do the work.
|
||||
*
|
||||
* <p>{@code hasAuthority} terms are implemented by {@link GrantedAuthority}
|
||||
* implementations such as {@link EPersonRestAuthenticationProvider}. These
|
||||
* test for authorization properties of the session itself, such as membership
|
||||
* in the site administrators group.
|
||||
*
|
||||
* <p>{@code *PermissionEvaluatorPlugin} classes test permission for specific
|
||||
* types of objects. They implement {@link RestPermissionEvaluatorPlugin}.
|
||||
*
|
||||
* <p>Other classes TBD:
|
||||
* <ul>
|
||||
* <li>*Filter</li>
|
||||
* <li>*Configuration</li>
|
||||
* </ul>
|
||||
*/
|
||||
package org.dspace.app.rest.security;
|
||||
|
||||
import org.springframework.security.access.PermissionEvaluator;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
@@ -17,6 +17,8 @@ import java.util.Objects;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.app.rest.exception.UnprocessableEntityException;
|
||||
import org.dspace.app.rest.model.AccessConditionDTO;
|
||||
import org.dspace.app.rest.model.patch.JsonValueEvaluator;
|
||||
@@ -31,8 +33,6 @@ import org.dspace.submit.model.AccessConditionConfiguration;
|
||||
import org.dspace.submit.model.AccessConditionConfigurationService;
|
||||
import org.dspace.submit.model.AccessConditionOption;
|
||||
import org.dspace.util.TimeHelpers;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -42,7 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
*/
|
||||
public class AccessConditionReplacePatchOperation extends ReplacePatchOperation<AccessConditionDTO> {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AccessConditionReplacePatchOperation.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
@Autowired
|
||||
private ResourcePolicyService resourcePolicyService;
|
||||
@@ -157,7 +157,7 @@ public class AccessConditionReplacePatchOperation extends ReplacePatchOperation<
|
||||
try {
|
||||
return pattern.parse(date);
|
||||
} catch (ParseException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
log.error(e::getMessage, e);
|
||||
}
|
||||
}
|
||||
throw new UnprocessableEntityException("Provided format of date:" + date + " is not supported!");
|
||||
|
@@ -11,8 +11,6 @@ import org.apache.commons.configuration2.Configuration;
|
||||
import org.apache.commons.configuration2.spring.ConfigurationPropertySource;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.ApplicationContextInitializer;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
||||
@@ -29,8 +27,6 @@ import org.springframework.context.ConfigurableApplicationContext;
|
||||
*/
|
||||
public class DSpaceConfigurationInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DSpaceConfigurationInitializer.class);
|
||||
|
||||
@Override
|
||||
public void initialize(final ConfigurableApplicationContext applicationContext) {
|
||||
// Load DSpace Configuration service (requires kernel already initialized)
|
||||
|
@@ -12,13 +12,13 @@ import javax.naming.Context;
|
||||
import javax.naming.InitialContext;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.kernel.DSpaceKernel;
|
||||
import org.dspace.kernel.DSpaceKernelManager;
|
||||
import org.dspace.servicemanager.DSpaceKernelImpl;
|
||||
import org.dspace.servicemanager.DSpaceKernelInit;
|
||||
import org.dspace.servicemanager.config.DSpaceConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.ApplicationContextInitializer;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
@@ -31,7 +31,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
|
||||
*/
|
||||
public class DSpaceKernelInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DSpaceKernelInitializer.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private transient DSpaceKernel dspaceKernel;
|
||||
|
||||
@@ -119,6 +119,7 @@ public class DSpaceKernelInitializer implements ApplicationContextInitializer<Co
|
||||
this.kernel = kernel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onApplicationEvent(final ContextClosedEvent event) {
|
||||
if (this.kernel != null) {
|
||||
this.kernel.destroy();
|
||||
|
@@ -19,9 +19,9 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.tomcat.util.http.FastHttpDateFormat;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,7 @@ import org.springframework.http.HttpHeaders;
|
||||
*/
|
||||
public class HttpHeadersInitializer {
|
||||
|
||||
protected final Logger log = LoggerFactory.getLogger(this.getClass());
|
||||
protected final Logger log = LogManager.getLogger();
|
||||
|
||||
private static final String MULTIPART_BOUNDARY = "MULTIPART_BYTERANGES";
|
||||
private static final String CONTENT_TYPE_MULTITYPE_WITH_BOUNDARY = "multipart/byteranges; boundary=" +
|
||||
|
29
dspace-server-webapp/src/main/javadoc/overview.html
Normal file
29
dspace-server-webapp/src/main/javadoc/overview.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!--
|
||||
|
||||
The contents of this file are subject to the license and copyright
|
||||
detailed in the LICENSE and NOTICE files at the root of the source
|
||||
tree and available online at
|
||||
|
||||
http://www.dspace.org/license/
|
||||
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>The DSpace Web API</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
The REST back-end of DSpace. A front-end program such as
|
||||
<a href='https://github.com/DSpace/dspace-angular/'>dspace-angular</a>
|
||||
can use this to query, fetch and manipulate DSpace objects and related
|
||||
data. The REST layer sits between front-ends and the DSpace business
|
||||
logic (chiefly in {@code dspace-api}).
|
||||
</p>
|
||||
|
||||
<p>Where To Find It:</p>
|
||||
<ul>
|
||||
<li>Endpoint access authorization: {@link org.dspace.app.rest.security}</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
@@ -79,6 +79,11 @@
|
||||
</profiles>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${log4j.version}</version>
|
||||
</dependency>
|
||||
<!-- spring service manager -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
@@ -22,8 +22,8 @@ import javax.management.ObjectName;
|
||||
import javax.management.ReflectionException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
|
||||
/**
|
||||
@@ -32,11 +32,11 @@ import org.slf4j.LoggerFactory;
|
||||
* @author Aaron Zeckoski (azeckoski @ gmail.com)
|
||||
*/
|
||||
public final class DSpaceKernelManager {
|
||||
private static Logger log = LoggerFactory.getLogger(DSpaceKernelManager.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
private static DSpaceKernel defaultKernel = null;
|
||||
|
||||
private static Map<String, DSpaceKernel> namedKernelMap = new HashMap<String, DSpaceKernel>();
|
||||
private static final Map<String, DSpaceKernel> namedKernelMap = new HashMap<>();
|
||||
|
||||
|
||||
public static DSpaceKernel getDefaultKernel() {
|
||||
@@ -50,7 +50,7 @@ public final class DSpaceKernelManager {
|
||||
/**
|
||||
* A lock on the kernel to handle multiple threads getting the first item.
|
||||
*/
|
||||
private Object lock = new Object();
|
||||
private final Object lock = new Object();
|
||||
|
||||
/**
|
||||
* Get the kernel. This will be a single instance for the JVM, but
|
||||
@@ -126,7 +126,7 @@ public final class DSpaceKernelManager {
|
||||
/**
|
||||
* Static initialized random default Kernel name
|
||||
*/
|
||||
private static String defaultKernelName = UUID.randomUUID().toString();
|
||||
private static final String defaultKernelName = UUID.randomUUID().toString();
|
||||
|
||||
/**
|
||||
* Ensure that we have a name suitable for an mbean.
|
||||
@@ -162,7 +162,8 @@ public final class DSpaceKernelManager {
|
||||
if (!mbs.isRegistered(name)) {
|
||||
// register the MBean
|
||||
mbs.registerMBean(kernel, name);
|
||||
log.info("Registered new Kernel MBEAN: " + checkedMBeanName + " [" + kernel + "]");
|
||||
log.info("Registered new Kernel MBEAN: {} [{}]",
|
||||
checkedMBeanName, kernel);
|
||||
}
|
||||
} catch (MalformedObjectNameException e) {
|
||||
throw new IllegalStateException(e);
|
||||
@@ -197,7 +198,7 @@ public final class DSpaceKernelManager {
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
//log this issue as a System Warning. Also log the underlying error message.
|
||||
log.warn("Failed to unregister the MBean: " + checkedMBeanName, e);
|
||||
log.warn("Failed to unregister the MBean: {}", checkedMBeanName, e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -23,6 +23,8 @@ import javax.management.modelmbean.ModelMBeanAttributeInfo;
|
||||
import javax.management.modelmbean.ModelMBeanInfoSupport;
|
||||
import javax.management.modelmbean.ModelMBeanOperationInfo;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.kernel.DSpaceKernel;
|
||||
import org.dspace.kernel.DSpaceKernelManager;
|
||||
import org.dspace.kernel.ServiceManager;
|
||||
@@ -30,15 +32,13 @@ import org.dspace.servicemanager.config.DSpaceConfigurationService;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.KernelStartupCallbackService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* This is the kernel implementation which starts up the core of DSpace,
|
||||
* registers the mbean, and initializes the DSpace object.
|
||||
* It also loads up the configuration. Sets a JRE shutdown hook.
|
||||
* <p>
|
||||
* Note that this does not start itself and calling the constuctor does
|
||||
* Note that this does not start itself and calling the constructor does
|
||||
* not actually start it up either. It has to be explicitly started by
|
||||
* calling the start method so something in the system needs to do that.
|
||||
* If the bean is already started then calling start on it again has no
|
||||
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(DSpaceKernelImpl.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Creates a DSpace Kernel, does not do any checks though.
|
||||
@@ -75,7 +75,7 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
synchronized (lock) {
|
||||
// No shutdown hook registered yet
|
||||
this.shutdownHook = new Thread() {
|
||||
public void run() {
|
||||
@Override public void run() {
|
||||
doDestroy();
|
||||
}
|
||||
};
|
||||
@@ -86,12 +86,14 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
|
||||
private ConfigurationService configurationService;
|
||||
|
||||
@Override
|
||||
public ConfigurationService getConfigurationService() {
|
||||
return configurationService;
|
||||
}
|
||||
|
||||
private ServiceManagerSystem serviceManagerSystem;
|
||||
|
||||
@Override
|
||||
public ServiceManager getServiceManager() {
|
||||
return serviceManagerSystem;
|
||||
}
|
||||
@@ -99,6 +101,7 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
/* (non-Javadoc)
|
||||
* @see org.dspace.kernel.DSpaceKernel#getMBeanName()
|
||||
*/
|
||||
@Override
|
||||
public String getMBeanName() {
|
||||
return mBeanName;
|
||||
}
|
||||
@@ -106,6 +109,7 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
/* (non-Javadoc)
|
||||
* @see org.dspace.kernel.DSpaceKernel#isRunning()
|
||||
*/
|
||||
@Override
|
||||
public boolean isRunning() {
|
||||
synchronized (lock) {
|
||||
return running;
|
||||
@@ -115,6 +119,7 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
/* (non-Javadoc)
|
||||
* @see org.dspace.kernel.CommonLifecycle#getManagedBean()
|
||||
*/
|
||||
@Override
|
||||
public DSpaceKernel getManagedBean() {
|
||||
synchronized (lock) {
|
||||
return kernel;
|
||||
@@ -124,6 +129,7 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
/* (non-Javadoc)
|
||||
* @see org.dspace.kernel.CommonLifecycle#start()
|
||||
*/
|
||||
@Override
|
||||
public void start() {
|
||||
start(null);
|
||||
}
|
||||
@@ -170,12 +176,14 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
// add in the shutdown hook
|
||||
registerShutdownHook();
|
||||
}
|
||||
log.info("DSpace kernel startup completed in " + loadTime + " ms and registered as MBean: " + mBeanName);
|
||||
log.info("DSpace kernel startup completed in {} ms and registered as MBean: {}",
|
||||
loadTime, mBeanName);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.dspace.kernel.CommonLifecycle#stop()
|
||||
*/
|
||||
@Override
|
||||
public void stop() {
|
||||
if (!running) {
|
||||
//log.warn("Kernel ("+this+") is already stopped");
|
||||
@@ -251,7 +259,8 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
try {
|
||||
doDestroy();
|
||||
} catch (Exception e) {
|
||||
log.error("WARN Failure attempting to cleanup the DSpace kernel: " + e.getMessage(), e);
|
||||
log.error("WARN Failure attempting to cleanup the DSpace kernel: {}",
|
||||
e.getMessage(), e);
|
||||
}
|
||||
super.finalize();
|
||||
}
|
||||
@@ -287,11 +296,13 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
return loadTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object invoke(String actionName, Object[] params, String[] signature)
|
||||
throws MBeanException, ReflectionException {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MBeanInfo getMBeanInfo() {
|
||||
Descriptor lastLoadDateDesc = new DescriptorSupport(new String[] {"name=LastLoadDate",
|
||||
"descriptorType=attribute", "default=0", "displayName=Last Load Date",
|
||||
@@ -319,6 +330,7 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
return new ModelMBeanInfoSupport(this.getClass().getName(), "DSpace Kernel", mmbai, null, mmboi, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getAttribute(String attribute)
|
||||
throws AttributeNotFoundException, MBeanException, ReflectionException {
|
||||
if ("LastLoadDate".equals(attribute)) {
|
||||
@@ -329,16 +341,19 @@ public final class DSpaceKernelImpl implements DSpaceKernel, DynamicMBean {
|
||||
throw new AttributeNotFoundException("invalid attribute: " + attribute);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AttributeList getAttributes(String[] attributes) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAttribute(Attribute attribute) throws AttributeNotFoundException,
|
||||
InvalidAttributeValueException, MBeanException, ReflectionException {
|
||||
throw new InvalidAttributeValueException("Cannot set attribute: " + attribute);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AttributeList setAttributes(AttributeList attributes) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
|
@@ -7,10 +7,10 @@
|
||||
*/
|
||||
package org.dspace.servicemanager;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.kernel.DSpaceKernel;
|
||||
import org.dspace.kernel.DSpaceKernelManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* This class simplifies the handling of lookup, registration, and
|
||||
@@ -21,7 +21,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class DSpaceKernelInit {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(DSpaceKernelInit.class);
|
||||
private static final Logger log = LogManager.getLogger(DSpaceKernelInit.class);
|
||||
|
||||
private static final Object staticLock = new Object();
|
||||
|
||||
@@ -57,7 +57,7 @@ public class DSpaceKernelInit {
|
||||
|
||||
synchronized (staticLock) {
|
||||
DSpaceKernelImpl kernelImpl = new DSpaceKernelImpl(name);
|
||||
log.info("Created new kernel: " + kernelImpl);
|
||||
log.info("Created new kernel: {}", kernelImpl);
|
||||
|
||||
if (name != null) {
|
||||
DSpaceKernelManager.registerMBean(kernelImpl.getMBeanName(), kernelImpl);
|
||||
|
@@ -30,9 +30,9 @@ import org.apache.commons.configuration2.builder.fluent.Parameters;
|
||||
import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
|
||||
import org.apache.commons.configuration2.event.Event;
|
||||
import org.apache.commons.configuration2.ex.ConfigurationException;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.SimpleTypeConverter;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
||||
@@ -47,7 +47,7 @@ import org.springframework.core.io.ClassPathResource;
|
||||
*/
|
||||
public final class DSpaceConfigurationService implements ConfigurationService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DSpaceConfigurationService.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String DSPACE = "dspace";
|
||||
public static final String EXT_CONFIG = "cfg";
|
||||
@@ -153,7 +153,7 @@ public final class DSpaceConfigurationService implements ConfigurationService {
|
||||
try {
|
||||
return this.configurationBuilder.getConfiguration();
|
||||
} catch (ConfigurationException ce) {
|
||||
log.error("Unable to get configuration object based on definition at " + this.configDefinition);
|
||||
log.error("Unable to get configuration object based on definition at {}", this.configDefinition);
|
||||
System.err.println("Unable to get configuration object based on definition at " + this.configDefinition);
|
||||
throw new RuntimeException(ce);
|
||||
}
|
||||
@@ -385,7 +385,7 @@ public final class DSpaceConfigurationService implements ConfigurationService {
|
||||
if (value == null && oldValue != null) {
|
||||
changed = true;
|
||||
getConfiguration().clearProperty(name);
|
||||
log.info("Cleared the configuration setting for name (" + name + ")");
|
||||
log.info("Cleared the configuration setting for name ({})", name);
|
||||
} else if (value != null && !value.equals(oldValue)) {
|
||||
changed = true;
|
||||
getConfiguration().setProperty(name, value);
|
||||
@@ -527,7 +527,8 @@ public final class DSpaceConfigurationService implements ConfigurationService {
|
||||
(Event e) -> this.configurationBuilder.getReloadingController()
|
||||
.checkForReloading(null));
|
||||
} catch (ConfigurationException ce) {
|
||||
log.error("Unable to load configurations based on definition at " + this.configDefinition);
|
||||
log.error("Unable to load configurations based on definition at {}",
|
||||
this.configDefinition);
|
||||
System.err.println("Unable to load configurations based on definition at " + this.configDefinition);
|
||||
throw new RuntimeException(ce);
|
||||
}
|
||||
@@ -535,7 +536,7 @@ public final class DSpaceConfigurationService implements ConfigurationService {
|
||||
// Finally, set any dynamic, default properties
|
||||
setDynamicProperties();
|
||||
|
||||
log.info("Started up configuration service and loaded settings: " + toString());
|
||||
log.info("Started up configuration service and loaded settings: {}", this::toString);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -557,9 +558,10 @@ public final class DSpaceConfigurationService implements ConfigurationService {
|
||||
// Finally, (re)set any dynamic, default properties
|
||||
setDynamicProperties();
|
||||
} catch (ConfigurationException ce) {
|
||||
log.error("Unable to reload configurations based on definition at " + this.configDefinition, ce);
|
||||
log.error("Unable to reload configurations based on definition at {}",
|
||||
this.configDefinition, ce);
|
||||
}
|
||||
log.info("Reloaded configuration service: " + toString());
|
||||
log.info("Reloaded configuration service: {}", this::toString);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -12,8 +12,8 @@ import java.util.Map;
|
||||
|
||||
import org.apache.commons.configuration2.MapConfiguration;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
/**
|
||||
* Bash does not allow environment variables that contain dots in their name.
|
||||
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
public class DSpaceEnvironmentConfiguration extends MapConfiguration {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(DSpaceEnvironmentConfiguration.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Create a Configuration based on the environment variables.
|
||||
@@ -52,12 +52,13 @@ public class DSpaceEnvironmentConfiguration extends MapConfiguration {
|
||||
// replace "__D__" with a single dash.
|
||||
String lookup = StringUtils.replace(key, "__P__", ".");
|
||||
lookup = StringUtils.replace(lookup, "__D__", "-");
|
||||
if (System.getenv(key) != null) {
|
||||
String value = System.getenv(key);
|
||||
if (value != null) {
|
||||
// store the new key with the old value in our new properties map.
|
||||
env.put(lookup, System.getenv(key));
|
||||
log.debug("Found env " + lookup + " = " + System.getenv(key) + ".");
|
||||
env.put(lookup, value);
|
||||
log.debug("Found env {} = {}.", lookup, value);
|
||||
} else {
|
||||
log.debug("Didn't found env " + lookup + ".");
|
||||
log.debug("Didn't find env {}.", lookup);
|
||||
}
|
||||
}
|
||||
return env;
|
||||
|
@@ -7,21 +7,20 @@
|
||||
*/
|
||||
package org.dspace.servicemanager.example;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.services.RequestService;
|
||||
import org.dspace.services.model.RequestInterceptor;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* A sample RequestInterceptor which simply logs request start and end
|
||||
* calls.
|
||||
*
|
||||
* @author Mark Diggory (mdiggory at atmire.com)
|
||||
* @version $Revision$
|
||||
*/
|
||||
public final class RequestInterceptorExample implements RequestInterceptor {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(RequestInterceptorExample.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
/**
|
||||
* Constructor which will inject the instantiated
|
||||
@@ -36,12 +35,12 @@ public final class RequestInterceptorExample implements RequestInterceptor {
|
||||
@Override
|
||||
public void onEnd(String requestId, boolean succeeded,
|
||||
Exception failure) {
|
||||
log.info("Intercepting End of Request: id=" + requestId + ", succeeded=" + succeeded);
|
||||
log.info("Intercepting End of Request: id={}, succeeded={}", requestId, succeeded);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(String requestId) {
|
||||
log.info("Intercepting Start of Request: id=" + requestId);
|
||||
log.info("Intercepting Start of Request: id={}", requestId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -14,9 +14,9 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.servicemanager.config.DSpaceConfigurationService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -26,13 +26,13 @@ import org.springframework.core.io.Resource;
|
||||
* things (file/IS/resource).
|
||||
* This also allows us to look on a relative or absolute path and will
|
||||
* automatically check the typical places one might expect to put DSpace
|
||||
* config files.
|
||||
* configuration files.
|
||||
*
|
||||
* @author Aaron Zeckoski (aaron@caret.cam.ac.uk)
|
||||
*/
|
||||
public class ResourceFinder {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(ResourceFinder.class);
|
||||
private static final Logger log = LogManager.getLogger();
|
||||
|
||||
public static final String relativePath = DSpaceConfigurationService.DSPACE + "/";
|
||||
public static final String environmentPathVariable = DSpaceConfigurationService.DSPACE_HOME;
|
||||
@@ -43,7 +43,7 @@ public class ResourceFinder {
|
||||
private ResourceFinder() { }
|
||||
|
||||
private static List<Resource> makeResources(List<String> paths) {
|
||||
List<Resource> rs = new ArrayList<Resource>();
|
||||
List<Resource> rs = new ArrayList<>();
|
||||
if (paths != null && !paths.isEmpty()) {
|
||||
for (String path : paths) {
|
||||
try {
|
||||
@@ -51,7 +51,7 @@ public class ResourceFinder {
|
||||
rs.add(r);
|
||||
} catch (IllegalArgumentException e) {
|
||||
// do not add if not found, just skip
|
||||
log.error(e.getMessage() + ", continuing...");
|
||||
log.error("{}, continuing...", e::getMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,11 +18,11 @@ import javax.naming.NamingException;
|
||||
import javax.naming.NoInitialContextException;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.services.ConfigurationService;
|
||||
import org.dspace.services.EmailService;
|
||||
import org.dspace.services.factory.DSpaceServicesFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
/**
|
||||
@@ -35,7 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
public class EmailServiceImpl
|
||||
extends Authenticator
|
||||
implements EmailService {
|
||||
private static final Logger logger = LoggerFactory.getLogger(EmailServiceImpl.class);
|
||||
private static final Logger logger = LogManager.getLogger();
|
||||
|
||||
private Session session = null;
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user