Merge pull request #9324 from mwoodiupui/noslf4j

Remove SLF4J direct dependency
This commit is contained in:
Tim Donohue
2024-02-29 13:30:22 -06:00
committed by GitHub
104 changed files with 711 additions and 620 deletions

View File

@@ -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);
}

View File

@@ -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,

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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) {

View File

@@ -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 "";
}

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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));

View File

@@ -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)

View File

@@ -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);
}
}
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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;
}

View File

@@ -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 {

View File

@@ -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);
}
}
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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();

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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();
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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;

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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;

View File

@@ -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() {
}

View File

@@ -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>

View File

@@ -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 -->

View File

@@ -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;

View File

@@ -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.");
}

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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 {

View File

@@ -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;
}

View File

@@ -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");
}
}

View File

@@ -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)

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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);
}
}
}

View File

@@ -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 {

View File

@@ -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";

View File

@@ -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);

View File

@@ -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;

View File

@@ -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!");

View File

@@ -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)

View File

@@ -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();

View File

@@ -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=" +

View 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>

View File

@@ -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>

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);
}
/**

View File

@@ -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;

View File

@@ -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

View File

@@ -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);
}
}
}

View File

@@ -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