From 287cc564767b003ceec56c2fbdf186475643ed62 Mon Sep 17 00:00:00 2001 From: Terry W Brady Date: Fri, 14 Jul 2017 09:46:23 -0700 Subject: [PATCH 001/118] Port 6x to 7x --- .../dspace/util/SolrUpgradeStatistics6.java | 662 ++++++++++++++++++ dspace/config/launcher.xml | 7 + dspace/solr/statistics/conf/schema.xml | 16 +- 3 files changed, 677 insertions(+), 8 deletions(-) create mode 100644 dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java new file mode 100644 index 0000000000..9006dcc018 --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java @@ -0,0 +1,662 @@ +/** + * 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/ + */ +package org.dspace.util; + +import org.apache.commons.cli.*; +import org.apache.commons.cli.ParseException; +import org.apache.log4j.Logger; +import org.apache.solr.client.solrj.SolrQuery; +import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.HttpSolrServer; +import org.apache.solr.client.solrj.response.FacetField; +import org.apache.solr.client.solrj.response.QueryResponse; +import org.apache.solr.client.solrj.util.ClientUtils; +import org.apache.solr.common.SolrDocument; +import org.apache.solr.common.SolrDocumentList; +import org.apache.solr.common.SolrInputDocument; +import org.apache.solr.common.SolrInputField; +import org.dspace.content.Bitstream; +import org.dspace.content.Community; +import org.dspace.content.Item; +import org.dspace.content.factory.ContentServiceFactory; +import org.dspace.content.service.BitstreamService; +import org.dspace.content.service.CollectionService; +import org.dspace.content.service.CommunityService; +import org.dspace.content.service.ItemService; +import org.dspace.core.Constants; +import org.dspace.core.Context; +import org.dspace.eperson.EPerson; +import org.dspace.eperson.Group; +import org.dspace.eperson.factory.EPersonServiceFactory; +import org.dspace.eperson.service.EPersonService; +import org.dspace.eperson.service.GroupService; +import org.dspace.services.ConfigurationService; +import org.dspace.services.factory.DSpaceServicesFactory; + +import java.io.IOException; +import java.sql.SQLException; +import java.util.*; + +/** + * CLI tool to upgrade legacy id references in SOLR statistics to DSpace 6 UUID's. + * + * This command will need to be run iteratively over each statistics shard until all legacy id values have been replaced. + * + * If a legacy id cannot be resolved from the database, the id will remain unchanged. + * "field:* AND NOT(field:*-*)" can be used to locate legacy ids + * + * See DS-3602 for the origin of this issue. This code is targeted for inclusion in the DSpace 6.1 release. + * + * Recommendation: for a large repository, run this command with -Xmx2000m if possible. + * + * To process 1,000,000 statistics records, it took 60 min to complete. + * + * @author Terry Brady, Georgetown University Library + */ +public class SolrUpgradeStatistics6 +{ + //Command line parameter constants + private static final String INDEX_NAME_OPTION = "i"; + private static final String NUMREC_OPTION = "n"; + private static final String BATCH_OPTION = "b"; + private static final String TYPE_OPTION = "t"; + private static final String HELP_OPTION = "h"; + private static final int NUMREC_DEFAULT = 100000; + private static final int BATCH_DEFAULT = 10000; + + //After processing each batch of updates to SOLR, evaulate if the hibernate cache needs to be cleared + private static final int CACHE_LIMIT = 20000; + + //Maximum number of solr ids to pull in a facet query... when processing infrequently accessed ids, the + //facet size may grow. + private static final int FACET_LIMIT = 1000; + //Once the number of records returned from a facet is smaller than this number, process all items for a query + private static final int FACET_CUTOFF = 10; + + private static final String INDEX_DEFAULT = "statistics"; + private static final String MIGQUERY = "NOT(dspaceMig:*)"; + + + //Counters to determine the number of items to process + private int numRec = NUMREC_DEFAULT; + private int batchSize = BATCH_DEFAULT; + + //Cache management + private int numProcessed = 0; + private long totalCache = 0; + private long numUncache = 0; + private List docs = new ArrayList(); + private Context context; + + + //Enum to identify the named SOLR statistics fields to update + private enum FIELD{ + id, + scopeId, + owningComm, + owningColl, + owningItem, + epersonid, + owner, + submitter, + actor; + } + + //Logger + private static final Logger log = Logger.getLogger(SolrUpgradeStatistics6.class); + + //DSpace Servcies + private ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); + protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); + protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); + protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); + protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); + protected EPersonService epersonService = EPersonServiceFactory.getInstance().getEPersonService(); + protected GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); + + // This code will operate on one shard at a time, therefore the SOLR web service will be accessed directly rather + // than make use of the DSpace Solr Logger which only writes to the current shard + private HttpSolrServer server; + + //Allows for smart use of hibernate cache + private Item lastItem = null; + private Bitstream lastBitstream = null; + + //Report on process times + private long startTime = -1; + private long lastTime = -1; + + + /** + * Construct the utility class from the command line options + * @param indexName name of the statistics shard to update + * @param numRec maximum number of records to process + * @throws IOException + * @throws SolrServerException + */ + public SolrUpgradeStatistics6(String indexName, int numRec, int batchSize) throws SolrServerException, IOException { + String serverPath = configurationService.getProperty("solr-statistics.server"); + serverPath = serverPath.replaceAll("statistics$", indexName); + System.out.println("Connecting to " + serverPath); + server = new HttpSolrServer(serverPath); + server.setMaxTotalConnections(1); + this.numRec = numRec; + this.batchSize = batchSize; + refreshContext(); + } + + /* + * Process a batch of updates to SOLR + */ + private void batchUpdateStats() throws SolrServerException, IOException { + if (docs.size() > 0) { + server.add(docs); + server.commit(true, true); + docs.clear(); + } + + } + + /** + * Refresh the DSpace Context object in order to periodically release objects from memory + * @throws IOException + * @throws SolrServerException + */ + private void refreshContext() throws SolrServerException, IOException { + if (context != null) { + try { + totalCache += numUncache + context.getCacheSize(); + } catch (SQLException e) { + } + } + this.context = new Context(Context.Mode.READ_ONLY); + lastItem = null; + lastBitstream = null; + numUncache = 0; + } + + /* + * Compute the number of items that were cached by hibernate since the context was cleared. + */ + private long getCacheCounts(boolean fromStart) { + long count = 0; + try { + count = context.getCacheSize(); + } catch (Exception e) { + //no action + } + count += this.numUncache; + if (fromStart) { + count += totalCache; + } + return count; + } + + /** + * Compute the time since the last batch was processed + * @param fromStart if true, report on processing time since the start of the program + * @return the time in ms since the start time + */ + private long logTime(boolean fromStart) { + long ret = 0; + long cur = new Date().getTime(); + if (lastTime == -1) { + startTime = cur; + } else if (fromStart){ + ret = cur - startTime; + } else { + ret = cur - lastTime; + } + lastTime = cur; + return ret; + } + + /* + * Format ms count as h:mm:ss + * @param dur Duration in ms + * @return duration formatted as h:mm:ss + */ + private String duration(long dur) { + long sec = dur / 1000; + long hh = sec / 3600; + long mm = (sec % 3600) / 60; + long ss = (sec % 60); + return String.format("%d:%02d:%02d", hh,mm,ss); + } + + /** + * Print a status message appended with the processing time for the operation + * @param header Message to display + * @param fromStart if true, report on processing time since the start of the program + */ + private void printTime(int numProcessed, boolean fromStart) { + long dur = logTime(fromStart); + long totalDur = logTime(true); + String stotalDur = duration(totalDur); + long cacheSize = 0; + try { + cacheSize = context.getCacheSize(); + } catch (SQLException e) { + log.error("Cannot get cache size", e); + } + String label = fromStart ? "TOTAL" : "Processed"; + System.out.println(String.format("%s (%s; %s; %s)", + String.format("\t%,12d %10s...", numProcessed, label), + String.format("%,6d sec; %s", dur/1000, stotalDur), + String.format("DB cache: %,6d/%,8d", cacheSize, getCacheCounts(fromStart)), + String.format("Docs: %,6d", docs.size()) + )); + } + + /* + * Create command line option processor + */ + private static Options makeOptions() { + Options options = new Options(); + options.addOption(HELP_OPTION, "help", false, "Get help on options for this command."); + options.addOption(INDEX_NAME_OPTION, "index-name", true, + "The names of the indexes to process. At least one is required (default=statistics)"); + options.addOption(NUMREC_OPTION, "num-rec", true, "Total number of records to update (defaut=100,000)."); + options.addOption(BATCH_OPTION, "batch-size", true, "Number of records to batch update to SOLR at one time (default=10,000)."); + options.addOption(TYPE_OPTION, "type", true, "(4) Communities, (3) Collections, (2) Items (0) Bitstreams (default=all)"); + return options; + } + + /** + * A utility method to print out all available command-line options and exit given the specified code. + * + * @param options the supported options. + * @param exitCode the exit code to use. The method will call System#exit(int) with the given code. + */ + private static void printHelpAndExit(Options options, int exitCode) + { + HelpFormatter myhelp = new HelpFormatter(); + myhelp.printHelp(SolrUpgradeStatistics6.class.getSimpleName() + "\n", options); + System.out.println("\n\nCommand Defaults"); + System.out.println("\tsolr-upgradeD6-statistics [-i statistics] [-n num_recs_to_process] [-b num_rec_to_update_at_once]"); + System.out.println(""); + System.out.println("\tAfter upgrading to DSpace 6, this process should be run iteratively over every statistics shard "); + System.out.println("\t\tuntil there are no remaining records with legacy ids present."); + System.out.println("\t\tThis process can be run while the system is in use."); + System.out.println(""); + System.out.println("\tIt will take 20-30 min to process 1,000,000 legacy records. "); + System.out.println(""); + System.out.println("\tUse the -n option to manage the workload on your server. "); + System.out.println("\t\tTo process all records, set -n to 10000000 or to 100000000 (10M or 100M)"); + System.out.println("\tIf possible, please allocate 2GB of memory to this process (e.g. -Xmx2000m)"); + System.out.println(""); + System.out.println("\tThis process will rewrite most solr statistics records and may temporarily double "); + System.out.println("\t\tthe size of your statistics repositories. Consider optimizing your solr repos when complete."); + + System.exit(exitCode); + } + + /** + * Entry point for command-line invocation + * @param args command-line arguments; see help for description + * @throws ParseException if the command-line arguments cannot be parsed + */ + public static void main(String[] args) throws ParseException + { + CommandLineParser parser = new PosixParser(); + Options options = makeOptions(); + + System.out.println(" * This process should be run iteratively over every statistics shard "); + System.out.println(" * until there are no remaining records with legacy ids present."); + System.out.println(" * This process can be run while the system is in use."); + System.out.println(" * It is likely to take 1 hour/1,000,000 legacy records to be udpated."); + System.out.println(" *"); + System.out.println(" * This process will rewrite most solr statistics records and may temporarily double "); + System.out.println(" *\tthe size of your statistics repositories. Consider optimizing your solr repos when complete."); + System.out.println(" * -------------------------------------------------------------------"); + + String indexName = INDEX_DEFAULT; + int numrec = NUMREC_DEFAULT; + int batchSize = BATCH_DEFAULT; + try + { + CommandLine line = parser.parse(options, args); + if (line.hasOption(HELP_OPTION)) + { + printHelpAndExit(options, 0); + } + + if (line.hasOption(INDEX_NAME_OPTION)) + { + indexName = line.getOptionValue(INDEX_NAME_OPTION, INDEX_DEFAULT); + } + else + { + System.err.println("No index name provided, defaulting to : "+ INDEX_DEFAULT); + } + + if (line.hasOption(NUMREC_OPTION)) { + numrec = Integer.parseInt(line.getOptionValue(NUMREC_OPTION,""+NUMREC_DEFAULT)); + } + if (line.hasOption(BATCH_OPTION)) { + batchSize = Integer.parseInt(line.getOptionValue(BATCH_OPTION,""+BATCH_DEFAULT)); + } + + } + catch (ParseException e) + { + System.err.println("Cannot read command options"); + printHelpAndExit(options, 1); + } + + try { + SolrUpgradeStatistics6 upgradeStats = new SolrUpgradeStatistics6(indexName, numrec, batchSize); + upgradeStats.run(); + } catch (SolrServerException e) { + log.error("Error querying stats", e); + } catch (SQLException e) { + log.error("Error querying stats", e); + } catch (IOException e) { + log.error("Error querying stats", e); + } + } + + + /* + * Report on the existence of legacy id records within a shard + */ + private void runReport() throws SolrServerException { + System.out.println(); + System.out.println("================================================================="); + System.out.println("\t*** Statistics Records with Legacy Id ***\n"); + long total = runReportQuery(); + System.out.println("\t--------------------------------------"); + System.out.println(String.format("\t%,12d\t%s", total, "TOTAL")); + System.out.println("================================================================="); + System.out.println(); + } + /* + * Report on the existence of specific legacy id records within a shard + */ + private long runReportQuery() throws SolrServerException { + StringBuilder sb = new StringBuilder(MIGQUERY); + SolrQuery sQ = new SolrQuery(); + sQ.setQuery(sb.toString()); + sQ.setFacet(true); + sQ.addFacetField("type"); + sQ.addFacetField("scopeType"); + QueryResponse sr = server.query(sQ); + + long total = 0; + long unexpected = 0; + for(FacetField ff: sr.getFacetFields()) { + String s = ff.getName().equals("type") ? "View" : "Search"; + for(FacetField.Count count: ff.getValues()) { + String name = count.getName(); + int id = Integer.parseInt(name); + if (id == Constants.COMMUNITY) { + name = "Community " + s; + } else if (id == Constants.COLLECTION) { + name = "Collection " + s; + } else if (id == Constants.ITEM) { + name = "Item " + s; + } else if (id == Constants.BITSTREAM) { + name = "Bistream " + s; + } else { + /* + * In testing, I discovered some unexpected values in the scopeType field. + * It looks like they may have been a result of a CSV import/export error. + * This will group any unexpected values into one report line. + */ + unexpected += count.getCount(); + continue; + } + System.out.println(String.format("\t%,12d\t%s", count.getCount(), name)); + total += count.getCount(); + } + } + if (unexpected > 0) { + System.out.println(String.format("\t%,12d\t%s", unexpected, "Unexpected Type & Full Site")); + total += unexpected; + } + long rem = sr.getResults().getNumFound() - total; + if (rem > 0) { + System.out.println(String.format("\t%,12d\t%s", rem, "Other Records")); + total += rem; + } + return total; + } + + /* + * Process records with a legacy id. + * From the command line, the user may specify records of a specific type to update + * Otherwise, the following sequence will be applied in order to optimize hibernate caching. + * + * Communities and Collections - retain in the cache since each is likely to be re-used + * Items - retain in the cache until a new item is processed + * Bitstreams - retain in the cache until a new bitstream is processed + */ + private void run() throws SolrServerException, SQLException, IOException { + runReport(); + logTime(false); + for(int processed = updateRecords(MIGQUERY); (processed != 0) && (numProcessed < numRec); processed = updateRecords(MIGQUERY)){ + printTime(numProcessed, false); + batchUpdateStats(); + if (context.getCacheSize() > CACHE_LIMIT) { + refreshContext(); + } + } + printTime(numProcessed, true); + + if (numProcessed > 0) { + runReport(); + } + } + + + + /* + * Update records associated with a particular object id + * @param query Query to retrieve all of the statistics records associated with a particular object + * @param field Field to use for grouping records + * @return number of items processed. 0 indicates that no more work is available (or the max processed has been reached). + */ + private int updateRecords(String query) throws SolrServerException, SQLException, IOException { + int initNumProcessed = numProcessed; + SolrQuery sQ = new SolrQuery(); + sQ.setQuery(query); + sQ.setRows(batchSize); + + //Ensure that items are grouped by id + //Sort by id fails due to presense of id and string fields. The ord function seems to help + sQ.addSort("type", SolrQuery.ORDER.desc); + sQ.addSort("scopeType", SolrQuery.ORDER.desc); + sQ.addSort("ord(owningItem)", SolrQuery.ORDER.desc); + sQ.addSort("id", SolrQuery.ORDER.asc); + sQ.addSort("scopeId", SolrQuery.ORDER.asc); + + QueryResponse sr = server.query(sQ); + SolrDocumentList sdl = sr.getResults(); + + for(int i=0; i vals = ifield.getValues(); + ArrayList newvals = new ArrayList<>(); + for(Object oval: vals) { + try { + UUID uuid = null; + if (col == FIELD.owner) { + if (oval.toString().length() > 1) { + String owntype = oval.toString().substring(0, 1); + int legacy = Integer.parseInt(oval.toString().substring(1)); + uuid = mapOwner(owntype, legacy); + } + } else { + int legacy = Integer.parseInt(oval.toString()); + if (col == FIELD.id) { + Object otype = input.getFieldValue("type"); + if (otype != null) { + int type = Integer.parseInt(otype.toString()); + uuid = mapType(type, legacy); + } + } else if (col == FIELD.scopeId) { + Object otype = input.getFieldValue("scopeType"); + if (otype != null) { + int type = Integer.parseInt(otype.toString()); + uuid = mapType(type, legacy); + } + } else { + uuid = mapId(col, legacy); + } + } + if (uuid != null) { + newvals.add(uuid.toString()); + } + } catch (NumberFormatException e) { + log.warn("Non numeric legacy id "+ col.name() +":" + oval.toString()); + } + } + if (newvals.size() > 0) { + input.removeField(col.name()); + for(String nv: newvals) { + input.addField(col.name(), nv); + } + + } + } + } + + /* + * Determine if the last processed item should be cleared from the hibernate cache + * @param item Current item being processed + */ + private void checkLastItem(Item item) throws SQLException { + if (item != null) { + if (lastItem == null) { + lastItem = item; + } else if (!lastItem.getID().equals(item.getID())) { + numUncache++; + context.uncacheEntity(lastItem); + lastItem = item; + } + } + } + + /* + * Determine if the last processed bitstream should be cleared from the hibernate cache + * @param bitstream Current bitstream being processed + */ + private void checkLastBitstream(Bitstream bitstream) throws SQLException { + if (bitstream != null) { + if (lastBitstream == null) { + lastBitstream = bitstream; + } else if (!lastBitstream.getID().equals(bitstream.getID())) { + numUncache++; + context.uncacheEntity(lastBitstream); + lastBitstream = bitstream; + } + } + } + + /* + * Retrieve the UUID corresponding to a legacy id found in a SOLR statistics record + * @param col Solr Statistic Field being processed + * @param val Value to lookup as a legacy id + */ + private UUID mapId(FIELD col, int val) throws SQLException { + + if (col == FIELD.owningComm) { + Community comm = communityService.findByLegacyId(context, val); + return comm == null ? null : comm.getID(); + } + if (col == FIELD.owningColl) { + org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); + return coll == null ? null : coll.getID(); + } + if (col == FIELD.owningItem) { + Item item = itemService.findByLegacyId(context, val); + checkLastItem(item); + return item == null ? null : item.getID(); + } + if (col == FIELD.epersonid || col == FIELD.actor || col == FIELD.submitter) { + EPerson per = epersonService.findByLegacyId(context, val); + return per == null ? null : per.getID(); + } + return null; + } + + /* + * Retrieve the UUID corresponding to a legacy id found in a SOLR statistics record + * @param type Identifying type field for id OR scopeType field for scopeId + * @param val Value to lookup as a legacy id + */ + private UUID mapType(int type, int val) throws SQLException { + if (type == Constants.COMMUNITY) { + Community comm = communityService.findByLegacyId(context, val); + return comm == null ? null : comm.getID(); + } + if (type == Constants.COLLECTION) { + org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); + return coll == null ? null : coll.getID(); + } + if (type == Constants.ITEM) { + Item item = itemService.findByLegacyId(context, val); + checkLastItem(item); + return item == null ? null : item.getID(); + } + if (type == Constants.BITSTREAM) { + Bitstream bit = bitstreamService.findByLegacyId(context, val); + UUID uuid = bit == null ? null : bit.getID(); + //A bitstream is unlikely to be processed more than once, to clear immediately + checkLastBitstream(bit); + return uuid; + } + return null; + } + + /* + * Retrieve the UUID corresponding to a legacy owner found in a SOLR statistics record + * Legacy owner fields are prefixed in solr with "e" or "g" + * @param owntype Identifying type field (e - eperson, g - group) + * @param val Value to lookup as a legacy id + */ + private UUID mapOwner(String owntype, int val) throws SQLException { + if (owntype.equals("e")) { + EPerson per = epersonService.findByLegacyId(context, val); + return per == null ? null : per.getID(); + } else if (owntype.equals("g")) { + Group perg = groupService.findByLegacyId(context, val); + return perg == null ? null : perg.getID(); + } + return null; + } + +} \ No newline at end of file diff --git a/dspace/config/launcher.xml b/dspace/config/launcher.xml index bf2c22618c..ab337941eb 100644 --- a/dspace/config/launcher.xml +++ b/dspace/config/launcher.xml @@ -242,6 +242,13 @@ reindex + + solr-upgradeD6-statistics + Upgrade statistics (integer to UUID) to DSpace 6 + + org.dspace.util.SolrUpgradeStatistics6 + + stat-general Compile the general statistics diff --git a/dspace/solr/statistics/conf/schema.xml b/dspace/solr/statistics/conf/schema.xml index 6386beee53..1f34744821 100644 --- a/dspace/solr/statistics/conf/schema.xml +++ b/dspace/solr/statistics/conf/schema.xml @@ -286,19 +286,19 @@ --> - + - + - - - + + + @@ -313,7 +313,7 @@ - + @@ -323,8 +323,8 @@ - - + + From 07c7fee64f065c49afe8690fc481b9174c9e0c59 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 13 Aug 2018 12:55:13 -0400 Subject: [PATCH 002/118] [DS-3970] Remove confusing log message. --- .../main/java/org/dspace/statistics/SolrLoggerServiceImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java index e6c09ea32b..007b4defaa 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java @@ -151,7 +151,6 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea @Override public void afterPropertiesSet() throws Exception { - log.info("solr-statistics.spidersfile:" + configurationService.getProperty("solr-statistics.spidersfile")); log.info("solr-statistics.server:" + configurationService.getProperty("solr-statistics.server")); log.info("usage-statistics.dbfile:" + configurationService.getProperty("usage-statistics.dbfile")); From 81b41a2b781e36ba661fbb4f20deec993daaf9fb Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 13 Aug 2018 14:42:56 -0400 Subject: [PATCH 003/118] [DS-3980] Replace absurd MIME types with 'application/octet-stream'. --- .../src/main/java/org/dspace/core/Email.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/core/Email.java b/dspace-api/src/main/java/org/dspace/core/Email.java index 0ce631e6b8..6f6a8a7a2a 100644 --- a/dspace-api/src/main/java/org/dspace/core/Email.java +++ b/dspace-api/src/main/java/org/dspace/core/Email.java @@ -32,10 +32,12 @@ import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; +import javax.mail.internet.ContentType; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; +import javax.mail.internet.ParseException; import org.apache.log4j.Logger; import org.dspace.services.ConfigurationService; @@ -103,7 +105,6 @@ import org.dspace.services.factory.DSpaceServicesFactory; * @author Robert Tansley * @author Jim Downing - added attachment handling code * @author Adan Roman Ruiz at arvo.es - added inputstream attachment handling code - * @version $Revision: 5844 $ */ public class Email { /** @@ -207,7 +208,24 @@ public class Email { attachments.add(new FileAttachment(f, name)); } + /** When given a bad MIME type for an attachment, use this instead. */ + private static final String DEFAULT_ATTACHMENT_TYPE = "application/octet-stream"; + public void addAttachment(InputStream is, String name, String mimetype) { + if (null == mimetype) { + log.error("Null MIME type replaced with '" + DEFAULT_ATTACHMENT_TYPE + + "' for attachment '" + name + "'"); + mimetype = DEFAULT_ATTACHMENT_TYPE; + } else { + try { new ContentType(mimetype); } // Just try to parse it. + catch (ParseException ex) { + log.error("Bad MIME type '" + mimetype + + "' replaced with '" + DEFAULT_ATTACHMENT_TYPE + + "' for attachment '" + name + "'", ex); + mimetype = DEFAULT_ATTACHMENT_TYPE; + } + } + moreAttachments.add(new InputStreamAttachment(is, name, mimetype)); } From 7bb8a8e9c464a5ee175f7d40568e1d840b47977a Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 13 Aug 2018 15:23:18 -0400 Subject: [PATCH 004/118] [DS-3980] Conform to coding standard. --- dspace-api/src/main/java/org/dspace/core/Email.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/core/Email.java b/dspace-api/src/main/java/org/dspace/core/Email.java index 6f6a8a7a2a..a5163350e1 100644 --- a/dspace-api/src/main/java/org/dspace/core/Email.java +++ b/dspace-api/src/main/java/org/dspace/core/Email.java @@ -217,8 +217,9 @@ public class Email { + "' for attachment '" + name + "'"); mimetype = DEFAULT_ATTACHMENT_TYPE; } else { - try { new ContentType(mimetype); } // Just try to parse it. - catch (ParseException ex) { + try { + new ContentType(mimetype); // Just try to parse it. + } catch (ParseException ex) { log.error("Bad MIME type '" + mimetype + "' replaced with '" + DEFAULT_ATTACHMENT_TYPE + "' for attachment '" + name + "'", ex); From 173b7f4fce5d95b8bd957e167b4e6b0ee43f5a8d Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 28 Aug 2018 10:46:00 -0400 Subject: [PATCH 005/118] [DS-3990] Invent curation run parameters. --- .../dspace/curate/AbstractCurationTask.java | 35 +++++++++++++------ .../main/java/org/dspace/curate/Curator.java | 20 +++++++++++ 2 files changed, 45 insertions(+), 10 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java index cf9c9fe9de..8515372638 100644 --- a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java +++ b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java @@ -198,14 +198,17 @@ public abstract class AbstractCurationTask implements CurationTask { /** * Returns task configuration property value for passed name, else * null if no properties defined or no value for passed key. + * If a taskID/Name is specified, prepend it on the configuration name. * * @param name the property name * @return value * the property value, or null */ protected String taskProperty(String name) { - // If a taskID/Name is specified, prepend it on the configuration name - if (StringUtils.isNotBlank(taskId)) { + String parameter = curator.getRunParameter(name); + if (null != parameter) { + return parameter; + } else if (StringUtils.isNotBlank(taskId)) { return configurationService.getProperty(taskId + "." + name); } else { return configurationService.getProperty(name); @@ -215,6 +218,7 @@ public abstract class AbstractCurationTask implements CurationTask { /** * Returns task configuration integer property value for passed name, else * passed default value if no properties defined or no value for passed key. + * If a taskID/Name is specified, prepend it on the configuration name. * * @param name the property name * @param defaultValue value @@ -223,8 +227,10 @@ public abstract class AbstractCurationTask implements CurationTask { * the property value, or default value */ protected int taskIntProperty(String name, int defaultValue) { - // If a taskID/Name is specified, prepend it on the configuration name - if (StringUtils.isNotBlank(taskId)) { + String parameter = curator.getRunParameter(name); + if (null != parameter) { + return Integer.valueOf(parameter); + } else if (StringUtils.isNotBlank(taskId)) { return configurationService.getIntProperty(taskId + "." + name, defaultValue); } else { return configurationService.getIntProperty(name, defaultValue); @@ -234,6 +240,7 @@ public abstract class AbstractCurationTask implements CurationTask { /** * Returns task configuration long property value for passed name, else * passed default value if no properties defined or no value for passed key. + * If a taskID/Name is specified, prepend it on the configuration name. * * @param name the property name * @param defaultValue value @@ -242,8 +249,10 @@ public abstract class AbstractCurationTask implements CurationTask { * the property value, or default */ protected long taskLongProperty(String name, long defaultValue) { - // If a taskID/Name is specified, prepend it on the configuration name - if (StringUtils.isNotBlank(taskId)) { + String parameter = curator.getRunParameter(name); + if (null != parameter) { + return Long.valueOf(parameter); + } else if (StringUtils.isNotBlank(taskId)) { return configurationService.getLongProperty(taskId + "." + name, defaultValue); } else { return configurationService.getLongProperty(name, defaultValue); @@ -253,6 +262,7 @@ public abstract class AbstractCurationTask implements CurationTask { /** * Returns task configuration boolean property value for passed name, else * passed default value if no properties defined or no value for passed key. + * If a taskID/Name is specified, prepend it on the configuration name. * * @param name the property name * @param defaultValue value @@ -261,8 +271,10 @@ public abstract class AbstractCurationTask implements CurationTask { * the property value, or default */ protected boolean taskBooleanProperty(String name, boolean defaultValue) { - // If a taskID/Name is specified, prepend it on the configuration name - if (StringUtils.isNotBlank(taskId)) { + String parameter = curator.getRunParameter(name); + if (null != parameter) { + return Boolean.valueOf(parameter); + } else if (StringUtils.isNotBlank(taskId)) { return configurationService.getBooleanProperty(taskId + "." + name, defaultValue); } else { return configurationService.getBooleanProperty(name, defaultValue); @@ -272,14 +284,17 @@ public abstract class AbstractCurationTask implements CurationTask { /** * Returns task configuration Array property value for passed name, else * null if no properties defined or no value for passed key. + * If a taskID/Name is specified, prepend it on the configuration name. * * @param name the property name * @return value * the property value, or null */ protected String[] taskArrayProperty(String name) { - // If a taskID/Name is specified, prepend it on the configuration name - if (StringUtils.isNotBlank(taskId)) { + String parameter = curator.getRunParameter(name); + if (null != parameter) { + return new String[] { parameter }; + } else if (StringUtils.isNotBlank(taskId)) { return configurationService.getArrayProperty(taskId + "." + name); } else { return configurationService.getArrayProperty(name); diff --git a/dspace-api/src/main/java/org/dspace/curate/Curator.java b/dspace-api/src/main/java/org/dspace/curate/Curator.java index 55d9843cb3..f54d8a4ecd 100644 --- a/dspace-api/src/main/java/org/dspace/curate/Curator.java +++ b/dspace-api/src/main/java/org/dspace/curate/Curator.java @@ -10,6 +10,7 @@ package org.dspace.curate; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -82,6 +83,7 @@ public class Curator { protected static final ThreadLocal curationCtx = new ThreadLocal<>(); + protected final Map runParameters = new HashMap<>(); protected Map trMap = new HashMap<>(); protected List perfList = new ArrayList<>(); protected TaskQueue taskQ = null; @@ -102,6 +104,24 @@ public class Curator { handleService = HandleServiceFactory.getInstance().getHandleService(); } + /** + * Set a parameter visible to all tasks in this Curator instance. + * @param name the parameter's name. + * @param value the parameter's value. + */ + public void addParameter(String name, String value) { + runParameters.put(name, value); + } + + /** + * Look up a run parameter. + * @param name the name of the desired parameter. + * @return the value of the named parameter. + */ + public String getRunParameter(String name) { + return runParameters.get(name); + } + /** * Add a task to the set to be performed. Caller should make no assumptions * on execution ordering. From e980811d4e51ac0b55d4583400180b543f97cfeb Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 6 Sep 2018 07:01:46 -0400 Subject: [PATCH 006/118] [DS-3990] CLI access to task run parameters. --- .../java/org/dspace/curate/CurationCli.java | 19 +++++++++++++++++++ .../main/java/org/dspace/curate/Curator.java | 8 ++++++++ 2 files changed, 27 insertions(+) diff --git a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java index c0b206abfc..16ecb7e8a0 100644 --- a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java +++ b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java @@ -9,7 +9,9 @@ package org.dspace.curate; import java.io.BufferedReader; import java.io.FileReader; +import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -48,6 +50,8 @@ public class CurationCli { "file containing curation task names"); options.addOption("i", "id", true, "Id (handle) of object to perform task on, or 'all' to perform on whole repository"); + options.addOption("p", "parameter", true, + "a task parameter 'NAME=VALUE'"); options.addOption("q", "queue", true, "name of task queue to process"); options.addOption("e", "eperson", true, @@ -71,6 +75,7 @@ public class CurationCli { String reporterName = null; String scope = null; boolean verbose = false; + final Map parameters = new HashMap<>(); if (line.hasOption('h')) { HelpFormatter help = new HelpFormatter(); @@ -104,6 +109,19 @@ public class CurationCli { ePersonName = line.getOptionValue('e'); } + if (line.hasOption('p')) { // parameter + for (String parameter : line.getOptionValues('p')) { + String[] parts = parameter.split("=", 2); + String name = parts[0]; + String value; + if (parts.length > 1) { + value = parts[1]; + } else { + value = "true"; + } + parameters.put(name, value); + } + } if (line.hasOption('r')) { // report file reporterName = line.getOptionValue('r'); } @@ -154,6 +172,7 @@ public class CurationCli { Curator.TxScope txScope = Curator.TxScope.valueOf(scope.toUpperCase()); curator.setTransactionScope(txScope); } + curator.addParameters(parameters); // we are operating in batch mode, if anyone cares. curator.setInvoked(Curator.Invoked.BATCH); // load curation tasks diff --git a/dspace-api/src/main/java/org/dspace/curate/Curator.java b/dspace-api/src/main/java/org/dspace/curate/Curator.java index f54d8a4ecd..af6ac1d16a 100644 --- a/dspace-api/src/main/java/org/dspace/curate/Curator.java +++ b/dspace-api/src/main/java/org/dspace/curate/Curator.java @@ -113,6 +113,14 @@ public class Curator { runParameters.put(name, value); } + /** + * Set many parameters visible to all tasks in this Curator instance. + * @param parameters parameter name/value pairs. + */ + public void addParameters(Map parameters) { + runParameters.putAll(parameters); + } + /** * Look up a run parameter. * @param name the name of the desired parameter. From af27fde95b6e8e2c441c43327cc0a1983cfac5bc Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 6 Sep 2018 08:42:13 -0400 Subject: [PATCH 007/118] [DS-3990] Satisfy Checkstyle. --- dspace-api/src/main/java/org/dspace/curate/CurationCli.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java index 16ecb7e8a0..036c75af15 100644 --- a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java +++ b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java @@ -51,7 +51,7 @@ public class CurationCli { options.addOption("i", "id", true, "Id (handle) of object to perform task on, or 'all' to perform on whole repository"); options.addOption("p", "parameter", true, - "a task parameter 'NAME=VALUE'"); + "a task parameter 'NAME=VALUE'"); options.addOption("q", "queue", true, "name of task queue to process"); options.addOption("e", "eperson", true, @@ -117,8 +117,8 @@ public class CurationCli { if (parts.length > 1) { value = parts[1]; } else { - value = "true"; - } + value = "true"; + } parameters.put(name, value); } } From 2c47e9b1494e3ff8043149e2dd0305d2a231970c Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 6 Sep 2018 08:44:06 -0400 Subject: [PATCH 008/118] [DS-3990] Satisfy Checkstyle (tested this time)-: --- dspace-api/src/main/java/org/dspace/curate/Curator.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/curate/Curator.java b/dspace-api/src/main/java/org/dspace/curate/Curator.java index af6ac1d16a..eb91dc9b7e 100644 --- a/dspace-api/src/main/java/org/dspace/curate/Curator.java +++ b/dspace-api/src/main/java/org/dspace/curate/Curator.java @@ -10,7 +10,6 @@ package org.dspace.curate; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; From 43d01f283f1f1bccbb0f23c9987e2cd0ffae53b4 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 9 Sep 2018 12:37:07 -0400 Subject: [PATCH 009/118] [DS-3990] Dummy task to test properties and parameters. --- .../testing/PropertyParameterTestingTask.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 dspace-api/src/main/java/org/dspace/ctask/testing/PropertyParameterTestingTask.java diff --git a/dspace-api/src/main/java/org/dspace/ctask/testing/PropertyParameterTestingTask.java b/dspace-api/src/main/java/org/dspace/ctask/testing/PropertyParameterTestingTask.java new file mode 100644 index 0000000000..279204cf57 --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/ctask/testing/PropertyParameterTestingTask.java @@ -0,0 +1,61 @@ +/** + * 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/ + */ + +package org.dspace.ctask.testing; + +import java.io.IOException; + +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 + * properties, making no changes to the repository. For testing. + * + *

+ * To test parameters and properties, set a value for the run parameter + * "runParameter" or the task property "taskProperty". + * + *

+ * This is a debugging tool, NOT a regression test. + * + * @author mhwood + */ +public class PropertyParameterTestingTask + extends AbstractCurationTask { + private static final Logger LOG + = LoggerFactory.getLogger(PropertyParameterTestingTask.class); + + @Override + public void init(Curator curator, String taskId) + throws IOException { + super.init(curator, taskId); + LOG.info("Received 'init' on task {}", taskId); + // Display some properties. + LOG.info("taskProperty = '{}'; runParameter = '{}'", + taskProperty("taskProperty"), taskProperty("runParameter")); + } + + @Override + public int perform(DSpaceObject dso) + throws IOException { + LOG.info("Received 'perform' on {}", dso); + return Curator.CURATE_SUCCESS; + } + + @Override + public int perform(Context ctx, String id) + throws IOException { + LOG.info("Received 'perform' on object ID {}", id); + return Curator.CURATE_SUCCESS; + } +} From 0340cd73ad0f35528c6058e3a9880d51c3834319 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 9 Sep 2018 17:19:39 -0400 Subject: [PATCH 010/118] [DS-3990] Add simple unit test. --- .../java/org/dspace/curate/CuratorTest.java | 413 ++++++++++++++++++ .../java/org/dspace/curate/DummyTask.java | 30 ++ 2 files changed, 443 insertions(+) create mode 100644 dspace-api/src/test/java/org/dspace/curate/CuratorTest.java create mode 100644 dspace-api/src/test/java/org/dspace/curate/DummyTask.java diff --git a/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java b/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java new file mode 100644 index 0000000000..7652caade0 --- /dev/null +++ b/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java @@ -0,0 +1,413 @@ +/** + * 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/ + */ +package org.dspace.curate; + +import static org.junit.Assert.assertEquals; + +import java.util.HashMap; +import java.util.Map; + +import org.dspace.AbstractUnitTest; +import org.dspace.content.DSpaceObject; +import org.dspace.content.factory.ContentServiceFactory; +import org.dspace.content.service.SiteService; +import org.dspace.services.ConfigurationService; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * + * @author mhwood + */ +public class CuratorTest + extends AbstractUnitTest { + private static final SiteService SITE_SERVICE = ContentServiceFactory.getInstance().getSiteService(); + + static final String RUN_PARAMETER_NAME = "runParameter"; + static final String RUN_PARAMETER_VALUE = "a parameter"; + static final String TASK_PROPERTY_NAME = "taskProperty"; + static final String TASK_PROPERTY_VALUE = "a property"; + + /** Value of a known runtime parameter, if any. */ + static String runParameter; + + /** Value of a known task property, if any. */ + static String taskProperty; + + public CuratorTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of addParameter method, of class Curator. + */ +/* + @Test + public void testAddParameter() { + System.out.println("addParameter"); + String name = ""; + String value = ""; + Curator instance = new Curator(); + instance.addParameter(name, value); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of addParameters method, of class Curator. + */ +/* + @Test + public void testAddParameters() { + System.out.println("addParameters"); + Map parameters = null; + Curator instance = new Curator(); + instance.addParameters(parameters); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of getRunParameter method, of class Curator. + */ +/* + @Test + public void testGetRunParameter() { + System.out.println("getRunParameter"); + String name = ""; + Curator instance = new Curator(); + String expResult = ""; + String result = instance.getRunParameter(name); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of addTask method, of class Curator. + */ +/* + @Test + public void testAddTask() { + System.out.println("addTask"); + String taskName = ""; + Curator instance = new Curator(); + Curator expResult = null; + Curator result = instance.addTask(taskName); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of hasTask method, of class Curator. + */ +/* + @Test + public void testHasTask() { + System.out.println("hasTask"); + String taskName = ""; + Curator instance = new Curator(); + boolean expResult = false; + boolean result = instance.hasTask(taskName); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of removeTask method, of class Curator. + */ +/* + @Test + public void testRemoveTask() { + System.out.println("removeTask"); + String taskName = ""; + Curator instance = new Curator(); + Curator expResult = null; + Curator result = instance.removeTask(taskName); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of setInvoked method, of class Curator. + */ +/* + @Test + public void testSetInvoked() { + System.out.println("setInvoked"); + Curator.Invoked mode = null; + Curator instance = new Curator(); + Curator expResult = null; + Curator result = instance.setInvoked(mode); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of setReporter method, of class Curator. + */ +/* + @Test + public void testSetReporter() { + System.out.println("setReporter"); + String reporter = ""; + Curator instance = new Curator(); + Curator expResult = null; + Curator result = instance.setReporter(reporter); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of setTransactionScope method, of class Curator. + */ +/* + @Test + public void testSetTransactionScope() { + System.out.println("setTransactionScope"); + Curator.TxScope scope = null; + Curator instance = new Curator(); + Curator expResult = null; + Curator result = instance.setTransactionScope(scope); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of curate method, of class Curator. + */ +/* + @Test + public void testCurate_Context_String() throws Exception { + System.out.println("curate"); + String id = ""; + Curator instance = new Curator(); + instance.curate(context, id); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of curate method, of class Curator. + * Currently this just tests task properties and run parameters. + * @throws java.lang.Exception passed through. + */ + @Test + public void testCurate_DSpaceObject() + throws Exception { + System.out.println("curate"); + + final String TASK_NAME = "dummyTask"; + + // Configure the task to be run. + ConfigurationService cfg = kernelImpl.getConfigurationService(); + cfg.setProperty("plugin.named.org.dspace.curate.CurationTask", + DummyTask.class.getName() + " = " + TASK_NAME); + cfg.setProperty(TASK_NAME + '.' + TASK_PROPERTY_NAME, TASK_PROPERTY_VALUE); + + // Get and configure a Curator. + Curator instance = new Curator(); + instance.setReporter("-"); // Send any report to standard out. FIXME when DS-3989 is merged + instance.addTask(TASK_NAME); + + // Configure the run. + Map parameters = new HashMap<>(); + parameters.put(RUN_PARAMETER_NAME, RUN_PARAMETER_VALUE); + instance.addParameters(parameters); + + // Curate the site. + DSpaceObject dso = SITE_SERVICE.findSite(context); + instance.curate(context, dso); + + // Check the result. + System.out.format("Task %s result was '%s'%n", + TASK_NAME, instance.getResult(TASK_NAME)); + System.out.format("Task %s status was %d%n", + TASK_NAME, instance.getStatus(TASK_NAME)); + assertEquals("Unexpected task status", + Curator.CURATE_SUCCESS, instance.getStatus(TASK_NAME)); + assertEquals("Wrong run parameter", RUN_PARAMETER_VALUE, runParameter); + assertEquals("Wrong task property", TASK_PROPERTY_VALUE, taskProperty); + } + + /** + * Test of curate method, of class Curator. + */ +/* + @Test + public void testCurate_Context_DSpaceObject() throws Exception { + System.out.println("curate"); + DSpaceObject dso = null; + Curator instance = new Curator(); + instance.curate(context, dso); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of queue method, of class Curator. + */ +/* + @Test + public void testQueue() throws Exception { + System.out.println("queue"); + Context c = null; + String id = ""; + String queueId = ""; + Curator instance = new Curator(); + instance.queue(c, id, queueId); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of clear method, of class Curator. + */ +/* + @Test + public void testClear() { + System.out.println("clear"); + Curator instance = new Curator(); + instance.clear(); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of report method, of class Curator. + */ +/* + @Test + public void testReport() { + System.out.println("report"); + String message = ""; + Curator instance = new Curator(); + instance.report(message); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of getStatus method, of class Curator. + */ +/* + @Test + public void testGetStatus() { + System.out.println("getStatus"); + String taskName = ""; + Curator instance = new Curator(); + int expResult = 0; + int result = instance.getStatus(taskName); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of getResult method, of class Curator. + */ +/* + @Test + public void testGetResult() { + System.out.println("getResult"); + String taskName = ""; + Curator instance = new Curator(); + String expResult = ""; + String result = instance.getResult(taskName); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of setResult method, of class Curator. + */ +/* + @Test + public void testSetResult() { + System.out.println("setResult"); + String taskName = ""; + String result_2 = ""; + Curator instance = new Curator(); + instance.setResult(taskName, result_2); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of curationContext method, of class Curator. + */ +/* + @Test + public void testCurationContext() throws Exception { + System.out.println("curationContext"); + Context expResult = null; + Context result = Curator.curationContext(); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ + + /** + * Test of isContainer method, of class Curator. + */ +/* + @Test + public void testIsContainer() { + System.out.println("isContainer"); + DSpaceObject dso = null; + boolean expResult = false; + boolean result = Curator.isContainer(dso); + assertEquals(expResult, result); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } +*/ +} diff --git a/dspace-api/src/test/java/org/dspace/curate/DummyTask.java b/dspace-api/src/test/java/org/dspace/curate/DummyTask.java new file mode 100644 index 0000000000..22492a1e16 --- /dev/null +++ b/dspace-api/src/test/java/org/dspace/curate/DummyTask.java @@ -0,0 +1,30 @@ +/** + * 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/ + */ +package org.dspace.curate; + +import java.io.IOException; + +import org.dspace.content.DSpaceObject; + +/** + * Makes no model changes, but records certain property values for inspection. + */ +public class DummyTask + extends AbstractCurationTask { + public DummyTask() { + // This constructor intentionally left blank. + } + + @Override + public int perform(DSpaceObject dso) + throws IOException { + CuratorTest.runParameter = taskProperty(CuratorTest.RUN_PARAMETER_NAME); + CuratorTest.taskProperty = taskProperty(CuratorTest.TASK_PROPERTY_NAME); + return Curator.CURATE_SUCCESS; + } +} From b3abd7743c1c6eb67844bc1f14dd8ad9110dd440 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Mon, 17 Sep 2018 15:58:11 +0200 Subject: [PATCH 011/118] [DS-4010] Removed the escaping on the query parameter for the discover endpoint --- .../java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java index 3de1ad2e53..28d15c5844 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java @@ -183,7 +183,7 @@ public class DiscoverQueryBuilder implements InitializingBean { if (StringUtils.isNotBlank(query)) { //Note that these quotes are needed incase we try to query OR for example. //If the quotes aren't present, it'll crash. - queryArgs.setQuery("\"" + searchService.escapeQueryChars(query) + "\""); + queryArgs.setQuery(query); } //Limit results to DSO type From a73b98095584c32388a4cfd8fe23cb454ab314a8 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Mon, 17 Sep 2018 16:50:01 +0200 Subject: [PATCH 012/118] [DS-4010] removed the comments that don't represent the code anymore --- .../java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java index 28d15c5844..6d82c8cc39 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java @@ -181,8 +181,6 @@ public class DiscoverQueryBuilder implements InitializingBean { //Set search query if (StringUtils.isNotBlank(query)) { - //Note that these quotes are needed incase we try to query OR for example. - //If the quotes aren't present, it'll crash. queryArgs.setQuery(query); } From 26a55312b3744c1e175668b2694cc6649e4757ac Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Tue, 18 Sep 2018 08:49:38 +0200 Subject: [PATCH 013/118] [DS-4010] Fixed the tests --- .../org/dspace/app/rest/utils/DiscoverQueryBuilderTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/DiscoverQueryBuilderTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/DiscoverQueryBuilderTest.java index bfc846fa74..75a22bf141 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/DiscoverQueryBuilderTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/DiscoverQueryBuilderTest.java @@ -168,7 +168,7 @@ public class DiscoverQueryBuilderTest { Arrays.asList(searchFilter), "item", page); assertThat(discoverQuery.getFilterQueries(), containsInAnyOrder("archived:true", "subject:\"Java\"")); - assertThat(discoverQuery.getQuery(), is("\"" + query + "\"")); + assertThat(discoverQuery.getQuery(), is(query)); assertThat(discoverQuery.getDSpaceObjectFilter(), is(Constants.ITEM)); assertThat(discoverQuery.getSortField(), is("dc.title_sort")); assertThat(discoverQuery.getSortOrder(), is(DiscoverQuery.SORT_ORDER.asc)); @@ -293,7 +293,7 @@ public class DiscoverQueryBuilderTest { "subject"); assertThat(discoverQuery.getFilterQueries(), containsInAnyOrder("archived:true", "subject:\"Java\"")); - assertThat(discoverQuery.getQuery(), is("\"" + query + "\"")); + assertThat(discoverQuery.getQuery(), is(query)); assertThat(discoverQuery.getDSpaceObjectFilter(), is(Constants.ITEM)); assertThat(discoverQuery.getSortField(), isEmptyOrNullString()); assertThat(discoverQuery.getMaxResults(), is(0)); From aa4f3bb60b8e910b0587ef6af20831d78dc029c5 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Wed, 19 Sep 2018 10:56:19 +0200 Subject: [PATCH 014/118] [Task 55655] set the status to Bad Request if the query entered wasn't valid and the searchservice threw an exception --- .../org/dspace/app/rest/DiscoveryRestController.java | 12 ++++++++++-- .../app/rest/repository/DiscoveryRestRepository.java | 5 ++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 85c7a1e098..041768f29e 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -10,6 +10,7 @@ package org.dspace.app.rest; import java.util.Arrays; import java.util.List; import java.util.Objects; +import javax.ws.rs.BadRequestException; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -34,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.hateoas.Link; import org.springframework.hateoas.ResourceSupport; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -142,8 +145,13 @@ public class DiscoveryRestController implements InitializingBean { } //Get the Search results in JSON format - SearchResultsRest searchResultsRest = discoveryRestRepository - .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); + SearchResultsRest searchResultsRest = null; + try { + searchResultsRest = discoveryRestRepository + .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); + } catch (BadRequestException badRequestException) { + new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } //Convert the Search JSON results to paginated HAL resources SearchResultsResource searchResultsResource = new SearchResultsResource(searchResultsRest, utils, page); diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index 4ccfc51ae6..50880e98d8 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -9,6 +9,8 @@ package org.dspace.app.rest.repository; import java.util.List; +import javax.ws.rs.BadRequestException; + import org.apache.log4j.Logger; import org.dspace.app.rest.converter.DiscoverConfigurationConverter; import org.dspace.app.rest.converter.DiscoverFacetConfigurationConverter; @@ -91,7 +93,7 @@ public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { public SearchResultsRest getSearchObjects(final String query, final String dsoType, final String dsoScope, final String configurationName, final List searchFilters, final Pageable page) - throws InvalidRequestException { + throws InvalidRequestException, BadRequestException { Context context = obtainContext(); DSpaceObject scopeObject = scopeResolver.resolveScope(context, dsoScope); @@ -108,6 +110,7 @@ public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { } catch (SearchServiceException e) { log.error("Error while searching with Discovery", e); + throw new BadRequestException(); } return discoverResultConverter From b192552888518fd955b99f791229ad3da889e572 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Fri, 21 Sep 2018 14:07:01 +0200 Subject: [PATCH 015/118] [DS-4010] added a catch for the search error and throw illegalarguement instead so that the exception handling picks it up easily and returns a proper error response with headers included --- .../org/dspace/app/rest/DiscoveryRestController.java | 11 ++--------- .../exception/DSpaceApiExceptionControllerAdvice.java | 8 ++++++++ .../app/rest/repository/DiscoveryRestRepository.java | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 041768f29e..227f3edfee 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -10,7 +10,6 @@ package org.dspace.app.rest; import java.util.Arrays; import java.util.List; import java.util.Objects; -import javax.ws.rs.BadRequestException; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -35,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.hateoas.Link; import org.springframework.hateoas.ResourceSupport; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -146,12 +143,8 @@ public class DiscoveryRestController implements InitializingBean { //Get the Search results in JSON format SearchResultsRest searchResultsRest = null; - try { - searchResultsRest = discoveryRestRepository - .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); - } catch (BadRequestException badRequestException) { - new ResponseEntity<>(HttpStatus.BAD_REQUEST); - } + searchResultsRest = discoveryRestRepository + .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); //Convert the Search JSON results to paginated HAL resources SearchResultsResource searchResultsResource = new SearchResultsResource(searchResultsRest, utils, page); diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java index 161c0cf403..2dcc620942 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java @@ -20,6 +20,7 @@ import org.dspace.authorize.AuthorizeException; import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.support.QueryMethodParameterConversionException; +import org.springframework.data.rest.webmvc.ResourceNotFoundException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -38,6 +39,7 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExcep */ @ControllerAdvice public class DSpaceApiExceptionControllerAdvice extends ResponseEntityExceptionHandler { + @Autowired private RestAuthenticationService restAuthenticationService; @@ -51,6 +53,12 @@ public class DSpaceApiExceptionControllerAdvice extends ResponseEntityExceptionH } } + @ExceptionHandler(IllegalArgumentException.class) + protected void handleIllegalArgumentException(HttpServletRequest request, HttpServletResponse response, + Exception ex) throws IOException { + sendErrorResponse(request, response, ex, ex.getMessage(), HttpServletResponse.SC_BAD_REQUEST); + } + @ExceptionHandler(SQLException.class) protected void handleSQLException(HttpServletRequest request, HttpServletResponse response, Exception ex) throws IOException { diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index 50880e98d8..83707c06dc 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -110,7 +110,7 @@ public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { } catch (SearchServiceException e) { log.error("Error while searching with Discovery", e); - throw new BadRequestException(); + throw new IllegalArgumentException(); } return discoverResultConverter From ea42765849ff0ba1e9d7d1c45011ac53d4ee7c03 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Fri, 21 Sep 2018 14:38:55 +0200 Subject: [PATCH 016/118] Revert "[DS-4010] added a catch for the search error and throw illegalarguement instead so that the exception handling picks it up easily and returns a proper error response with headers included" This reverts commit b192552888518fd955b99f791229ad3da889e572. --- .../org/dspace/app/rest/DiscoveryRestController.java | 11 +++++++++-- .../exception/DSpaceApiExceptionControllerAdvice.java | 8 -------- .../app/rest/repository/DiscoveryRestRepository.java | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 227f3edfee..041768f29e 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -10,6 +10,7 @@ package org.dspace.app.rest; import java.util.Arrays; import java.util.List; import java.util.Objects; +import javax.ws.rs.BadRequestException; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -34,6 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.hateoas.Link; import org.springframework.hateoas.ResourceSupport; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -143,8 +146,12 @@ public class DiscoveryRestController implements InitializingBean { //Get the Search results in JSON format SearchResultsRest searchResultsRest = null; - searchResultsRest = discoveryRestRepository - .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); + try { + searchResultsRest = discoveryRestRepository + .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); + } catch (BadRequestException badRequestException) { + new ResponseEntity<>(HttpStatus.BAD_REQUEST); + } //Convert the Search JSON results to paginated HAL resources SearchResultsResource searchResultsResource = new SearchResultsResource(searchResultsRest, utils, page); diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java index 2dcc620942..161c0cf403 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java @@ -20,7 +20,6 @@ import org.dspace.authorize.AuthorizeException; import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.support.QueryMethodParameterConversionException; -import org.springframework.data.rest.webmvc.ResourceNotFoundException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -39,7 +38,6 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExcep */ @ControllerAdvice public class DSpaceApiExceptionControllerAdvice extends ResponseEntityExceptionHandler { - @Autowired private RestAuthenticationService restAuthenticationService; @@ -53,12 +51,6 @@ public class DSpaceApiExceptionControllerAdvice extends ResponseEntityExceptionH } } - @ExceptionHandler(IllegalArgumentException.class) - protected void handleIllegalArgumentException(HttpServletRequest request, HttpServletResponse response, - Exception ex) throws IOException { - sendErrorResponse(request, response, ex, ex.getMessage(), HttpServletResponse.SC_BAD_REQUEST); - } - @ExceptionHandler(SQLException.class) protected void handleSQLException(HttpServletRequest request, HttpServletResponse response, Exception ex) throws IOException { diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index 83707c06dc..50880e98d8 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -110,7 +110,7 @@ public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { } catch (SearchServiceException e) { log.error("Error while searching with Discovery", e); - throw new IllegalArgumentException(); + throw new BadRequestException(); } return discoverResultConverter From df5816dff93c4ec26ba325e8d9eb8c384f7d7825 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Fri, 21 Sep 2018 15:25:24 +0200 Subject: [PATCH 017/118] Revert "Revert "[DS-4010] added a catch for the search error and throw illegalarguement instead so that the exception handling picks it up easily and returns a proper error response with headers included"" This reverts commit ea42765849ff0ba1e9d7d1c45011ac53d4ee7c03. --- .../org/dspace/app/rest/DiscoveryRestController.java | 11 ++--------- .../exception/DSpaceApiExceptionControllerAdvice.java | 8 ++++++++ .../app/rest/repository/DiscoveryRestRepository.java | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 041768f29e..227f3edfee 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -10,7 +10,6 @@ package org.dspace.app.rest; import java.util.Arrays; import java.util.List; import java.util.Objects; -import javax.ws.rs.BadRequestException; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -35,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.hateoas.Link; import org.springframework.hateoas.ResourceSupport; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -146,12 +143,8 @@ public class DiscoveryRestController implements InitializingBean { //Get the Search results in JSON format SearchResultsRest searchResultsRest = null; - try { - searchResultsRest = discoveryRestRepository - .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); - } catch (BadRequestException badRequestException) { - new ResponseEntity<>(HttpStatus.BAD_REQUEST); - } + searchResultsRest = discoveryRestRepository + .getSearchObjects(query, dsoType, dsoScope, configurationName, searchFilters, page); //Convert the Search JSON results to paginated HAL resources SearchResultsResource searchResultsResource = new SearchResultsResource(searchResultsRest, utils, page); diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java index 161c0cf403..2dcc620942 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java @@ -20,6 +20,7 @@ import org.dspace.authorize.AuthorizeException; import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.support.QueryMethodParameterConversionException; +import org.springframework.data.rest.webmvc.ResourceNotFoundException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -38,6 +39,7 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExcep */ @ControllerAdvice public class DSpaceApiExceptionControllerAdvice extends ResponseEntityExceptionHandler { + @Autowired private RestAuthenticationService restAuthenticationService; @@ -51,6 +53,12 @@ public class DSpaceApiExceptionControllerAdvice extends ResponseEntityExceptionH } } + @ExceptionHandler(IllegalArgumentException.class) + protected void handleIllegalArgumentException(HttpServletRequest request, HttpServletResponse response, + Exception ex) throws IOException { + sendErrorResponse(request, response, ex, ex.getMessage(), HttpServletResponse.SC_BAD_REQUEST); + } + @ExceptionHandler(SQLException.class) protected void handleSQLException(HttpServletRequest request, HttpServletResponse response, Exception ex) throws IOException { diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index 50880e98d8..83707c06dc 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -110,7 +110,7 @@ public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { } catch (SearchServiceException e) { log.error("Error while searching with Discovery", e); - throw new BadRequestException(); + throw new IllegalArgumentException(); } return discoverResultConverter From 47dc9482c6a8bea494b6f2c3296bee3e1f8c849f Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Tue, 25 Sep 2018 14:14:51 +0200 Subject: [PATCH 018/118] [DS-4010] added IT test for the discoverQuery with a query parameter containing dc.date.issued --- .../DSpaceApiExceptionControllerAdvice.java | 1 - .../app/rest/DiscoveryRestControllerIT.java | 95 +++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java index 2dcc620942..ac68d0ffdb 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/exception/DSpaceApiExceptionControllerAdvice.java @@ -20,7 +20,6 @@ import org.dspace.authorize.AuthorizeException; import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.support.QueryMethodParameterConversionException; -import org.springframework.data.rest.webmvc.ResourceNotFoundException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java index 56d25ecf8c..7b3a8392e0 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java @@ -2678,4 +2678,99 @@ public class DiscoveryRestControllerIT extends AbstractControllerIntegrationTest ; } + + @Test + public void discoverSearchObjectsTestWithDateIssuedQuery() throws Exception { + //We turn off the authorization system in order to create the structure as defined below + context.turnOffAuthorisationSystem(); + + //** GIVEN ** + //1. A community-collection structure with one parent community with sub-community and two collections. + parentCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) + .withName("Sub Community") + .build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); + + //2. Three public items that are readable by Anonymous with different subjects + Item publicItem1 = ItemBuilder.createItem(context, col1) + .withTitle("Test") + .withIssueDate("2010-10-17") + .withAuthor("Smith, Donald") + .withSubject("ExtraEntry") + .build(); + + Item publicItem2 = ItemBuilder.createItem(context, col2) + .withTitle("Test 2") + .withIssueDate("1990-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane") + .withSubject("TestingForMore").withSubject("ExtraEntry") + .build(); + + Item publicItem3 = ItemBuilder.createItem(context, col2) + .withTitle("Public item 2") + .withIssueDate("2010-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane").withAuthor("test,test") + .withAuthor("test2, test2").withAuthor("Maybe, Maybe") + .withSubject("AnotherTest").withSubject("TestingForMore") + .withSubject("ExtraEntry") + .build(); + String bitstreamContent = "ThisIsSomeDummyText"; + //Add a bitstream to an item + try (InputStream is = IOUtils.toInputStream(bitstreamContent, CharEncoding.UTF_8)) { + Bitstream bitstream = BitstreamBuilder. + createBitstream(context, publicItem1, is) + .withName("Bitstream") + .withMimeType("text/plain") + .build(); + } + + //Run the filter media to make the text in the bitstream searchable through the query + runDSpaceScript("filter-media", "-f", "-i", publicItem1.getHandle()); + + //** WHEN ** + getClient().perform(get("/api/discover/search/objects") + .param("query", "dc.date.issued:2010-02-13")) + + //** THEN ** + //The status has to be 200 OK + .andExpect(status().isOk()) + //The type has to be 'discover' + .andExpect(jsonPath("$.type", is("discover"))) + //The page object needs to look like this + .andExpect(jsonPath("$._embedded.searchResult.page", is( + PageMatcher.pageEntryWithTotalPagesAndElements(0, 20, 1, 1) + ))) + //This is the only item that should be returned with the query given + .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", Matchers.contains( + SearchResultMatcher.matchOnItemName("item", "items", "Public item 2") + ))) + + //There always needs to be a self link available + .andExpect(jsonPath("$._links.self.href", containsString("/api/discover/search/objects"))) + ; + + + //** WHEN ** + getClient().perform(get("/api/discover/search/objects") + .param("query", "dc.date.issued:2013-02-13")) + + //** THEN ** + //The status has to be 200 OK + .andExpect(status().isOk()) + //The type has to be 'discover' + .andExpect(jsonPath("$.type", is("discover"))) + //The page object needs to look like this + .andExpect(jsonPath("$._embedded.searchResult.page", is( + PageMatcher.pageEntryWithTotalPagesAndElements(0, 20, 0, 0) + ))) + + //There always needs to be a self link available + .andExpect(jsonPath("$._links.self.href", containsString("/api/discover/search/objects"))) + ; + + } } From bd464e03f51311af705ed3ac58f83b0399416fc9 Mon Sep 17 00:00:00 2001 From: Tom Desair Date: Thu, 23 Aug 2018 13:59:21 +0200 Subject: [PATCH 019/118] DS-3542: Only trust X-Forwared-For headers from trusted proxies --- .../dspace/authenticate/IPAuthentication.java | 18 +-- .../core/factory/CoreServiceFactory.java | 3 + .../core/factory/CoreServiceFactoryImpl.java | 8 ++ .../google/GoogleRecorderEventListener.java | 27 ++-- .../org/dspace/service/ClientInfoService.java | 37 +++++ .../service/impl/ClientInfoServiceImpl.java | 129 ++++++++++++++++++ .../statistics/SolrLoggerServiceImpl.java | 120 ++++++---------- .../util/SpiderDetectorServiceImpl.java | 17 +-- .../statistics/MockSolrLoggerServiceImpl.java | 1 - .../util/SpiderDetectorServiceImplTest.java | 13 +- .../rest/security/jwt/JWTTokenHandler.java | 10 +- .../security/jwt/JWTTokenHandlerTest.java | 5 + .../statistics/MockSolrLoggerServiceImpl.java | 1 - dspace/config/dspace.cfg | 14 +- dspace/config/spring/api/core-services.xml | 1 + 15 files changed, 269 insertions(+), 135 deletions(-) create mode 100644 dspace-api/src/main/java/org/dspace/service/ClientInfoService.java create mode 100644 dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java index 9a8dcf7d55..a36c7dbb00 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java @@ -18,13 +18,14 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; import org.dspace.core.LogManager; +import org.dspace.core.factory.CoreServiceFactory; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.eperson.factory.EPersonServiceFactory; import org.dspace.eperson.service.GroupService; +import org.dspace.service.ClientInfoService; import org.dspace.services.factory.DSpaceServicesFactory; /** @@ -67,6 +68,7 @@ public class IPAuthentication implements AuthenticationMethod { protected List ipNegativeMatchers; protected GroupService groupService; + protected ClientInfoService clientInfoService; /** @@ -91,6 +93,7 @@ public class IPAuthentication implements AuthenticationMethod { ipMatcherGroupIDs = new HashMap<>(); ipMatcherGroupNames = new HashMap<>(); groupService = EPersonServiceFactory.getInstance().getGroupService(); + clientInfoService = CoreServiceFactory.getInstance().getClientInfoService(); List propNames = DSpaceServicesFactory.getInstance().getConfigurationService() .getPropertyKeys("authentication-ip"); @@ -169,18 +172,7 @@ public class IPAuthentication implements AuthenticationMethod { List groups = new ArrayList(); // Get the user's IP address - String addr = request.getRemoteAddr(); - if (useProxies == null) { - useProxies = ConfigurationManager.getBooleanProperty("useProxies", false); - } - if (useProxies && request.getHeader("X-Forwarded-For") != null) { - /* This header is a comma delimited list */ - for (String xfip : request.getHeader("X-Forwarded-For").split(",")) { - if (!request.getHeader("X-Forwarded-For").contains(addr)) { - addr = xfip.trim(); - } - } - } + String addr = clientInfoService.getClientIp(request); for (IPMatcher ipm : ipMatchers) { try { diff --git a/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactory.java b/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactory.java index 888cd21764..e7260fc2b4 100644 --- a/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactory.java +++ b/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactory.java @@ -10,6 +10,7 @@ package org.dspace.core.factory; import org.dspace.core.service.LicenseService; import org.dspace.core.service.NewsService; import org.dspace.core.service.PluginService; +import org.dspace.service.ClientInfoService; import org.dspace.services.factory.DSpaceServicesFactory; /** @@ -26,6 +27,8 @@ public abstract class CoreServiceFactory { public abstract PluginService getPluginService(); + public abstract ClientInfoService getClientInfoService(); + public static CoreServiceFactory getInstance() { return DSpaceServicesFactory.getInstance().getServiceManager() .getServiceByName("coreServiceFactory", CoreServiceFactory.class); diff --git a/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactoryImpl.java b/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactoryImpl.java index 4beb47f2c0..7db3ad24d7 100644 --- a/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/core/factory/CoreServiceFactoryImpl.java @@ -10,6 +10,7 @@ package org.dspace.core.factory; import org.dspace.core.service.LicenseService; import org.dspace.core.service.NewsService; import org.dspace.core.service.PluginService; +import org.dspace.service.ClientInfoService; import org.springframework.beans.factory.annotation.Autowired; /** @@ -29,6 +30,9 @@ public class CoreServiceFactoryImpl extends CoreServiceFactory { @Autowired(required = true) private PluginService pluginService; + @Autowired(required = true) + private ClientInfoService clientInfoService; + @Override public LicenseService getLicenseService() { return licenseService; @@ -43,4 +47,8 @@ public class CoreServiceFactoryImpl extends CoreServiceFactory { public PluginService getPluginService() { return pluginService; } + + public ClientInfoService getClientInfoService() { + return clientInfoService; + } } diff --git a/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java b/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java index f7ebaebb4d..a2ba14f6be 100644 --- a/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java +++ b/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java @@ -25,8 +25,8 @@ import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.log4j.Logger; import org.dspace.content.factory.ContentServiceFactory; -import org.dspace.core.ConfigurationManager; import org.dspace.core.Constants; +import org.dspace.service.ClientInfoService; import org.dspace.services.ConfigurationService; import org.dspace.services.model.Event; import org.dspace.usage.AbstractUsageEventListener; @@ -50,6 +50,7 @@ public class GoogleRecorderEventListener extends AbstractUsageEventListener { protected ContentServiceFactory contentServiceFactory; protected ConfigurationService configurationService; + protected ClientInfoService clientInfoService; public GoogleRecorderEventListener() { // httpclient is threadsafe so we only need one. @@ -62,10 +63,15 @@ public class GoogleRecorderEventListener extends AbstractUsageEventListener { } @Autowired - public void setConfigurationService(final ConfigurationService configurationService) { + public void setConfigurationService(ConfigurationService configurationService) { this.configurationService = configurationService; } + @Autowired + public void setClientInfoService(ClientInfoService clientInfoService) { + this.clientInfoService = clientInfoService; + } + @Override public void receiveEvent(Event event) { if ((event instanceof UsageEvent)) { @@ -187,22 +193,7 @@ public class GoogleRecorderEventListener extends AbstractUsageEventListener { } private String getIPAddress(HttpServletRequest request) { - String clientIP = request.getRemoteAddr(); - if (ConfigurationManager.getBooleanProperty("useProxies", false) && request - .getHeader("X-Forwarded-For") != null) { - /* This header is a comma delimited list */ - for (String xfip : request.getHeader("X-Forwarded-For").split(",")) { - /* proxy itself will sometime populate this header with the same value in - remote address. ordering in spec is vague, we'll just take the last - not equal to the proxy - */ - if (!request.getHeader("X-Forwarded-For").contains(clientIP)) { - clientIP = xfip.trim(); - } - } - } - - return clientIP; + return clientInfoService.getClientIp(request); } } diff --git a/dspace-api/src/main/java/org/dspace/service/ClientInfoService.java b/dspace-api/src/main/java/org/dspace/service/ClientInfoService.java new file mode 100644 index 0000000000..68fb5b7f43 --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/service/ClientInfoService.java @@ -0,0 +1,37 @@ +/** + * 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/ + */ +package org.dspace.service; + +import javax.servlet.http.HttpServletRequest; + +/** + * Service that can be used to retrieve information about DSpace clients + */ +public interface ClientInfoService { + + /** + * Get the client IP of this request taking into account the X-Forwarded-For header and the "useProxies" setting + * @param request The client HTTP request + * @return The IP address of the originating client + */ + String getClientIp(HttpServletRequest request); + + /** + * Get the client IP of this request taking into account the X-Forwarded-For header and the "useProxies" setting + * @param remoteIp the remote address of the current request + * @param xForwardedForHeaderValue The value of the X-Forwarded-For header + * @return The IP address of the originating client + */ + String getClientIp(String remoteIp, String xForwardedForHeaderValue); + + /** + * Does DSpace take into account HTTP proxy headers or not + * @return true if this is the case, false otherwise + */ + boolean isUseProxiesEnabled(); +} diff --git a/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java b/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java new file mode 100644 index 0000000000..771374299c --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java @@ -0,0 +1,129 @@ +/** + * 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/ + */ +package org.dspace.service.impl; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +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; + +/** + * Implementation of {@link ClientInfoService} that can provide information on DSpace client requests + */ +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 Boolean useProxiesEnabled; + + private ConfigurationService configurationService; + + /** + * Sparse HashTable structure to hold IP address ranges of trusted proxies + */ + private IPTable trustedProxies; + + @Autowired(required = true) + public ClientInfoServiceImpl(ConfigurationService configurationService) { + this.configurationService = configurationService; + this.trustedProxies = parseTrustedProxyRanges( + configurationService.getArrayProperty("proxies.trusted.ipranges")); + } + + @Override + public String getClientIp(HttpServletRequest request) { + return getClientIp(request.getRemoteAddr(), request.getHeader(X_FORWARDED_FOR_HEADER)); + } + + @Override + public String getClientIp(String remoteIp, String xForwardedForHeaderValue) { + String ip = remoteIp; + + if (isUseProxiesEnabled()) { + String xForwardedForIp = getXForwardedForIpValue(remoteIp, xForwardedForHeaderValue); + + if (StringUtils.isNotBlank(xForwardedForIp) && isRequestFromTrustedProxy(ip)) { + ip = xForwardedForIp; + } + + } else if (StringUtils.isNotBlank(xForwardedForHeaderValue)) { + log.warn( + "X-Forwarded-For header detected but useProxiesEnabled is not enabled. " + + "If your dspace is behind a proxy set it to true"); + } + + return ip; + } + + @Override + public boolean isUseProxiesEnabled() { + if (useProxiesEnabled == null) { + useProxiesEnabled = configurationService.getBooleanProperty("useProxies", true); + log.info("useProxies=" + useProxiesEnabled); + } + + return useProxiesEnabled; + } + + private IPTable parseTrustedProxyRanges(String[] proxyProperty) { + if (ArrayUtils.isEmpty(proxyProperty)) { + return null; + } else { + //Load all supplied proxy IP ranges into the IP table + IPTable ipTable = new IPTable(); + try { + for (String proxyRange : proxyProperty) { + ipTable.add(proxyRange); + } + } catch (IPTable.IPFormatException e) { + log.error("Property proxies.trusted.ipranges contains an invalid IP range", e); + ipTable = null; + } + + return ipTable; + } + } + + private boolean isRequestFromTrustedProxy(String ipAddress) { + try { + return trustedProxies == null || trustedProxies.contains(ipAddress); + } catch (IPTable.IPFormatException e) { + log.error("Request contains invalid remote address", e); + return false; + } + } + + private String getXForwardedForIpValue(String remoteIp, String xForwardedForValue) { + String ip = null; + + /* This header is a comma delimited list */ + String headerValue = StringUtils.trimToEmpty(xForwardedForValue); + for (String xfip : headerValue.split(",")) { + /* proxy itself will sometime populate this header with the same value in + remote address. ordering in spec is vague, we'll just take the last + not equal to the proxy + */ + if (!StringUtils.equals(remoteIp, xfip) && StringUtils.isNotBlank(xfip) + //if we have trusted proxies, we'll assume that they are not the client IP + && (trustedProxies == null || !isRequestFromTrustedProxy(xfip))) { + + ip = xfip.trim(); + } + } + + return ip; + } +} diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java index e6c09ea32b..59641865f3 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java @@ -82,6 +82,7 @@ import org.dspace.core.Constants; import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.dspace.service.ClientInfoService; import org.dspace.services.ConfigurationService; import org.dspace.statistics.service.SolrLoggerService; import org.dspace.statistics.util.DnsLookup; @@ -115,8 +116,6 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea protected DatabaseReader locationService; - protected boolean useProxies; - private static List statisticYearCores = new ArrayList(); private static boolean statisticYearCoresInit = false; @@ -126,6 +125,8 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea protected ContentServiceFactory contentServiceFactory; @Autowired(required = true) private ConfigurationService configurationService; + @Autowired(required = true) + private ClientInfoService clientInfoService; public static enum StatisticsType { VIEW("view"), @@ -192,9 +193,6 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea log.error("The required 'dbfile' configuration is missing in solr-statistics.cfg!"); } locationService = service; - - useProxies = configurationService.getBooleanProperty("useProxies"); - log.info("useProxies=" + useProxies); } @Override @@ -296,26 +294,7 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea // Save our basic info that we already have if (request != null) { - String ip = request.getRemoteAddr(); - - if (isUseProxies() && request.getHeader("X-Forwarded-For") != null) { - /* This header is a comma delimited list */ - for (String xfip : request.getHeader("X-Forwarded-For").split(",")) { - /* proxy itself will sometime populate this header with the same value in - remote address. ordering in spec is vague, we'll just take the last - not equal to the proxy - */ - if (!request.getHeader("X-Forwarded-For").contains(ip)) { - ip = xfip.trim(); - } - } - } - if (!isUseProxies() && request.getHeader("X-Forwarded-For") != null) { - log.warn( - "X-Forwarded-For header detected but useProxies is not enabled. If your dspace is behind a proxy " + - "set it to true"); - } - + String ip = clientInfoService.getClientIp(request); doc1.addField("ip", ip); //Also store the referrer @@ -391,65 +370,48 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea SolrInputDocument doc1 = new SolrInputDocument(); // Save our basic info that we already have - if (!isUseProxies() && xforwardedfor != null) { - log.warn( - "X-Forwarded-For header detected but useProxies is not enabled. If your dspace is behind a proxy set " + - "it to true"); + ip = clientInfoService.getClientIp(ip, xforwardedfor); + doc1.addField("ip", ip); + + try { + String dns = DnsLookup.reverseDns(ip); + doc1.addField("dns", dns.toLowerCase()); + } catch (Exception e) { + log.info("Failed DNS Lookup for IP:" + ip); + log.debug(e.getMessage(), e); } - if (isUseProxies() && xforwardedfor != null) { - /* This header is a comma delimited list */ - for (String xfip : xforwardedfor.split(",")) { - /* proxy itself will sometime populate this header with the same value in - remote address. ordering in spec is vague, we'll just take the last - not equal to the proxy - */ - if (!xforwardedfor.contains(ip)) { - ip = xfip.trim(); - } - } - - doc1.addField("ip", ip); - + if (userAgent != null) { + doc1.addField("userAgent", userAgent); + } + doc1.addField("isBot", isSpiderBot); + // Save the location information if valid, save the event without + // location information if not valid + if (locationService != null) { try { - String dns = DnsLookup.reverseDns(ip); - doc1.addField("dns", dns.toLowerCase()); - } catch (Exception e) { - log.info("Failed DNS Lookup for IP:" + ip); - log.debug(e.getMessage(), e); - } - if (userAgent != null) { - doc1.addField("userAgent", userAgent); - } - doc1.addField("isBot", isSpiderBot); - // Save the location information if valid, save the event without - // location information if not valid - if (locationService != null) { - try { - InetAddress ipAddress = InetAddress.getByName(ip); - CityResponse location = locationService.city(ipAddress); - String countryCode = location.getCountry().getIsoCode(); - double latitude = location.getLocation().getLatitude(); - double longitude = location.getLocation().getLongitude(); - if (!( - "--".equals(countryCode) - && latitude == -180 - && longitude == -180) - ) { - try { - doc1.addField("continent", LocationUtils + InetAddress ipAddress = InetAddress.getByName(ip); + CityResponse location = locationService.city(ipAddress); + String countryCode = location.getCountry().getIsoCode(); + double latitude = location.getLocation().getLatitude(); + double longitude = location.getLocation().getLongitude(); + if (!( + "--".equals(countryCode) + && latitude == -180 + && longitude == -180) + ) { + try { + doc1.addField("continent", LocationUtils .getContinentCode(countryCode)); - } catch (Exception e) { - System.out + } catch (Exception e) { + System.out .println("COUNTRY ERROR: " + countryCode); - } - doc1.addField("countryCode", countryCode); - doc1.addField("city", location.getCity().getName()); - doc1.addField("latitude", latitude); - doc1.addField("longitude", longitude); } - } catch (GeoIp2Exception | IOException e) { - log.error("Unable to get location of request: {}", e.getMessage()); + doc1.addField("countryCode", countryCode); + doc1.addField("city", location.getCity().getName()); + doc1.addField("latitude", latitude); + doc1.addField("longitude", longitude); } + } catch (GeoIp2Exception | IOException e) { + log.error("Unable to get location of request: {}", e.getMessage()); } } @@ -604,7 +566,7 @@ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBea @Override public boolean isUseProxies() { - return useProxies; + return clientInfoService.isUseProxiesEnabled(); } @Override diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java index 7939db3a12..508f6ffe64 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java @@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.configuration.ConversionException; import org.apache.commons.lang.StringUtils; +import org.dspace.service.ClientInfoService; import org.dspace.services.ConfigurationService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,8 +41,6 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService { private static final Logger log = LoggerFactory.getLogger(SpiderDetectorServiceImpl.class); - private Boolean useProxies; - private Boolean useCaseInsensitiveMatching; private final List agents @@ -51,6 +50,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService { = Collections.synchronizedList(new ArrayList()); private ConfigurationService configurationService; + private ClientInfoService clientInfoService; /** * Sparse HashTable structure to hold IP address ranges. @@ -58,8 +58,9 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService { private IPTable table = null; @Autowired(required = true) - public SpiderDetectorServiceImpl(ConfigurationService configurationService) { + public SpiderDetectorServiceImpl(ConfigurationService configurationService, ClientInfoService clientInfoService) { this.configurationService = configurationService; + this.clientInfoService = clientInfoService; } public IPTable getTable() { @@ -104,7 +105,7 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService { } // No. See if any IP addresses match - if (isUseProxies() && proxyIPs != null) { + if (clientInfoService.isUseProxiesEnabled() && proxyIPs != null) { /* This header is a comma delimited list */ for (String xfip : proxyIPs.split(",")) { if (isSpider(xfip)) { @@ -306,12 +307,4 @@ public class SpiderDetectorServiceImpl implements SpiderDetectorService { return useCaseInsensitiveMatching; } - private boolean isUseProxies() { - if (useProxies == null) { - useProxies = configurationService.getBooleanProperty("useProxies"); - } - - return useProxies; - } - } diff --git a/dspace-api/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java b/dspace-api/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java index 9716fc8892..0c02c0a100 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java +++ b/dspace-api/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java @@ -38,7 +38,6 @@ public class MockSolrLoggerServiceImpl File locationDb = new File(locationDbPath); locationDb.createNewFile(); locationService = new DatabaseReader.Builder(locationDb).build(); - useProxies = configurationService.getBooleanProperty("useProxies"); } } diff --git a/dspace-api/src/test/java/org/dspace/statistics/util/SpiderDetectorServiceImplTest.java b/dspace-api/src/test/java/org/dspace/statistics/util/SpiderDetectorServiceImplTest.java index 5566562580..6abda2b13e 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/util/SpiderDetectorServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/statistics/util/SpiderDetectorServiceImplTest.java @@ -13,6 +13,8 @@ import static org.junit.Assert.assertTrue; import mockit.Mock; import mockit.MockUp; import org.dspace.AbstractDSpaceTest; +import org.dspace.core.factory.CoreServiceFactory; +import org.dspace.service.ClientInfoService; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; import org.dspace.statistics.SolrLoggerServiceImpl; @@ -32,14 +34,15 @@ public class SpiderDetectorServiceImplTest extends AbstractDSpaceTest { private ConfigurationService configurationService; + private ClientInfoService clientInfoService; private SpiderDetectorService spiderDetectorService; @Before public void init() { configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - spiderDetectorService = new SpiderDetectorServiceImpl(configurationService); - + clientInfoService = CoreServiceFactory.getInstance().getClientInfoService(); + spiderDetectorService = new SpiderDetectorServiceImpl(configurationService, clientInfoService); } @Test @@ -60,7 +63,7 @@ public class SpiderDetectorServiceImplTest extends AbstractDSpaceTest { @Test public void testCaseInsensitiveMatching() throws Exception { configurationService.setProperty("usage-statistics.bots.case-insensitive", true); - spiderDetectorService = new SpiderDetectorServiceImpl(configurationService); + spiderDetectorService = new SpiderDetectorServiceImpl(configurationService, clientInfoService); DummyHttpServletRequest req = new DummyHttpServletRequest(); req.setAddress(NOT_A_BOT_ADDRESS); // avoid surprises @@ -265,7 +268,7 @@ public class SpiderDetectorServiceImplTest extends AbstractDSpaceTest { public void testBothLowerAndUpperCaseGetMatched() { configurationService.setProperty("usage-statistics.bots.case-insensitive", true); - spiderDetectorService = new SpiderDetectorServiceImpl(configurationService); + spiderDetectorService = new SpiderDetectorServiceImpl(configurationService, clientInfoService); DummyHttpServletRequest req = new DummyHttpServletRequest(); req.setAddress(NOT_A_BOT_ADDRESS); // avoid surprises @@ -297,7 +300,7 @@ public class SpiderDetectorServiceImplTest extends AbstractDSpaceTest { @Test public void testNonBooleanConfig() { configurationService.setProperty("usage-statistics.bots.case-insensitive", "RandomNonBooleanString"); - spiderDetectorService = new SpiderDetectorServiceImpl(configurationService); + spiderDetectorService = new SpiderDetectorServiceImpl(configurationService, clientInfoService); DummyHttpServletRequest req = new DummyHttpServletRequest(); req.setAddress(NOT_A_BOT_ADDRESS); // avoid surprises diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenHandler.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenHandler.java index 15f73b1be6..50801bf13b 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenHandler.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenHandler.java @@ -38,6 +38,7 @@ import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.eperson.service.EPersonService; +import org.dspace.service.ClientInfoService; import org.dspace.services.ConfigurationService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -71,6 +72,9 @@ public class JWTTokenHandler implements InitializingBean { @Autowired private EPersonService ePersonService; + @Autowired + private ClientInfoService clientInfoService; + private String jwtKey; private long expirationTime; private boolean includeIP; @@ -276,11 +280,7 @@ public class JWTTokenHandler implements InitializingBean { } private String getIpAddress(HttpServletRequest request) { - String ipAddress = request.getHeader("X-FORWARDED-FOR"); - if (ipAddress == null) { - ipAddress = request.getRemoteAddr(); - } - return ipAddress; + return clientInfoService.getClientIp(request); } private EPerson updateSessionSalt(final Context context, final Date previousLoginDate) throws SQLException { diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/security/jwt/JWTTokenHandlerTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/security/jwt/JWTTokenHandlerTest.java index 75a930aa61..a67f747b62 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/security/jwt/JWTTokenHandlerTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/security/jwt/JWTTokenHandlerTest.java @@ -23,6 +23,7 @@ import com.nimbusds.jwt.SignedJWT; import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.service.EPersonService; +import org.dspace.service.ClientInfoService; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -62,6 +63,9 @@ public class JWTTokenHandlerTest { @Mock private EPersonClaimProvider ePersonClaimProvider; + @Mock + private ClientInfoService clientInfoService; + @Spy private List jwtClaimProviders = new ArrayList<>(); @@ -71,6 +75,7 @@ public class JWTTokenHandlerTest { when(ePerson.getSessionSalt()).thenReturn("01234567890123456789012345678901"); when(ePerson.getLastActive()).thenReturn(new Date()); when(context.getCurrentUser()).thenReturn(ePerson); + when(clientInfoService.getClientIp(any())).thenReturn("123.123.123.123"); when(ePersonClaimProvider.getKey()).thenReturn("eid"); when(ePersonClaimProvider.getValue(any(), Mockito.any(HttpServletRequest.class))).thenReturn("epersonID"); jwtClaimProviders.add(ePersonClaimProvider); diff --git a/dspace-spring-rest/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java b/dspace-spring-rest/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java index 543146ff36..8cb60ae780 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java +++ b/dspace-spring-rest/src/test/java/org/dspace/statistics/MockSolrLoggerServiceImpl.java @@ -42,7 +42,6 @@ public class MockSolrLoggerServiceImpl File locationDb = new File(locationDbPath); locationDb.createNewFile(); locationService = new DatabaseReader.Builder(locationDb).build(); - useProxies = configurationService.getBooleanProperty("useProxies"); } @Override diff --git a/dspace/config/dspace.cfg b/dspace/config/dspace.cfg index c38847ac07..3810060406 100644 --- a/dspace/config/dspace.cfg +++ b/dspace/config/dspace.cfg @@ -326,7 +326,19 @@ http.proxy.port = # If enabled, the logging and the Solr statistics system will look for # an X-Forwarded-For header. If it finds it, it will use this for the user IP address -useProxies = false +# Note that server-side rendered Angular UI requests always present the X-Forwarded-For header +# with the original client IP address. +useProxies = true + +# If "useProxies" is enabled, the authentication and statistics logging code will read the X-Forwarded-For header in +# order to determine the correct client IP address. But they will only use that header value when the request is coming +# from a trusted proxy server location (e.g. HTTPD on localhost). Leave this property empty to trust X-Forwarded-For +# values of all requests. You can specify a range by only listing the first three ip-address blocks, e.g. 128.177.243 +# You can list multiple IP addresses or ranges by comma-separating them. +# If you are running REST & UI on different servers, you should add the UI servers (range) as a proxy. +# For example : proxies.trusted.ipranges = 127.0.0.1, 192.168.2 +# This is necessary because Angular Universal will also behave as a proxy server. +proxies.trusted.ipranges = 127.0.0.1 #### Media Filter / Format Filter plugins (through PluginService) #### # Media/Format Filters help to full-text index content or diff --git a/dspace/config/spring/api/core-services.xml b/dspace/config/spring/api/core-services.xml index f25cb5ea20..6886a73507 100644 --- a/dspace/config/spring/api/core-services.xml +++ b/dspace/config/spring/api/core-services.xml @@ -93,6 +93,7 @@ + From 06b4e5d12a1895757d86750255ab8c5b8f461506 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Mon, 1 Oct 2018 13:59:29 +0200 Subject: [PATCH 020/118] [DS-4010] added IT tests for the query functionality on the discover endpoint --- .../app/rest/DiscoveryRestControllerIT.java | 186 +++++++++++++++++- 1 file changed, 185 insertions(+), 1 deletion(-) diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java index 7b3a8392e0..8aafbc915b 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java @@ -2680,7 +2680,7 @@ public class DiscoveryRestControllerIT extends AbstractControllerIntegrationTest } @Test - public void discoverSearchObjectsTestWithDateIssuedQuery() throws Exception { + public void discoverSearchObjectsTestWithDateIssuedQueryTest() throws Exception { //We turn off the authorization system in order to create the structure as defined below context.turnOffAuthorisationSystem(); @@ -2773,4 +2773,188 @@ public class DiscoveryRestControllerIT extends AbstractControllerIntegrationTest ; } + + @Test + public void discoverSearchObjectsTestWithLuceneSyntaxQueryTest() throws Exception { + //We turn off the authorization system in order to create the structure as defined below + context.turnOffAuthorisationSystem(); + + //** GIVEN ** + //1. A community-collection structure with one parent community with sub-community and two collections. + parentCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) + .withName("Sub Community") + .build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); + + //2. Three public items that are readable by Anonymous with different subjects + Item publicItem1 = ItemBuilder.createItem(context, col1) + .withTitle("Test") + .withIssueDate("2010-10-17") + .withAuthor("Smith, Donald") + .withSubject("ExtraEntry") + .build(); + + Item publicItem2 = ItemBuilder.createItem(context, col2) + .withTitle("TestItem2") + .withIssueDate("1990-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane") + .withSubject("TestingForMore").withSubject("ExtraEntry") + .build(); + + Item publicItem3 = ItemBuilder.createItem(context, col2) + .withTitle("azeazeazeazeazeaze") + .withIssueDate("2010-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane").withAuthor("test,test") + .withAuthor("test2, test2").withAuthor("Maybe, Maybe") + .withSubject("AnotherTest").withSubject("TestingForMore") + .withSubject("ExtraEntry") + .build(); + //** WHEN ** + getClient().perform(get("/api/discover/search/objects") + .param("query", "((dc.date.issued:2010 OR dc.date.issued:1990-02-13)" + + " AND (dc.title:Test OR dc.title:TestItem2))")) + + //** THEN ** + //The status has to be 200 OK + .andExpect(status().isOk()) + //The type has to be 'discover' + .andExpect(jsonPath("$.type", is("discover"))) + //The page object needs to look like this + .andExpect(jsonPath("$._embedded.searchResult.page", is( + PageMatcher.pageEntryWithTotalPagesAndElements(0, 20, 1, 2) + ))) + //This is the only item that should be returned with the query given + .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", Matchers.containsInAnyOrder( + SearchResultMatcher.matchOnItemName("item", "items", "Test"), + SearchResultMatcher.matchOnItemName("item", "items", "TestItem2") + ))) + .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", Matchers.not(Matchers.contains( + SearchResultMatcher.matchOnItemName("item", "items", "azeazeazeazeazeaze") + )))) + + //There always needs to be a self link available + .andExpect(jsonPath("$._links.self.href", containsString("/api/discover/search/objects"))) + ; + + } + + @Test + public void discoverSearchObjectsTestWithEscapedLuceneCharactersTest() throws Exception { + //We turn off the authorization system in order to create the structure as defined below + context.turnOffAuthorisationSystem(); + + //** GIVEN ** + //1. A community-collection structure with one parent community with sub-community and two collections. + parentCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) + .withName("Sub Community") + .build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); + + //2. Three public items that are readable by Anonymous with different subjects + Item publicItem1 = ItemBuilder.createItem(context, col1) + .withTitle("Faithful Infidel: Exploring Conformity (2nd edition)") + .withIssueDate("2010-10-17") + .withAuthor("Smith, Donald") + .withSubject("ExtraEntry") + .build(); + + Item publicItem2 = ItemBuilder.createItem(context, col2) + .withTitle("Test") + .withIssueDate("1990-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane") + .withSubject("TestingForMore").withSubject("ExtraEntry") + .build(); + + Item publicItem3 = ItemBuilder.createItem(context, col2) + .withTitle("NotAProperTestTitle") + .withIssueDate("2010-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane").withAuthor("test,test") + .withAuthor("test2, test2").withAuthor("Maybe, Maybe") + .withSubject("AnotherTest").withSubject("TestingForMore") + .withSubject("ExtraEntry") + .build(); + //** WHEN ** + getClient().perform(get("/api/discover/search/objects") + .param("query", "Faithful Infidel\\: Exploring Conformity \\(2nd edition\\)")) + + //** THEN ** + //The status has to be 200 OK + .andExpect(status().isOk()) + //The type has to be 'discover' + .andExpect(jsonPath("$.type", is("discover"))) + //The page object needs to look like this + .andExpect(jsonPath("$._embedded.searchResult.page", is( + PageMatcher.pageEntryWithTotalPagesAndElements(0, 20, 1, 1) + ))) + //This is the only item that should be returned with the query given + .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", Matchers.contains( + SearchResultMatcher.matchOnItemName + ("item", "items", "Faithful Infidel: Exploring Conformity (2nd edition)") + ))) + .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", + Matchers.not(Matchers.containsInAnyOrder( + SearchResultMatcher.matchOnItemName("item", "items", "Test"), + SearchResultMatcher.matchOnItemName("item", "items", "NotAProperTestTitle") + )))) + + //There always needs to be a self link available + .andExpect(jsonPath("$._links.self.href", containsString("/api/discover/search/objects"))) + ; + + } + @Test + public void discoverSearchObjectsTestWithUnEscapedLuceneCharactersTest() throws Exception { + //We turn off the authorization system in order to create the structure as defined below + context.turnOffAuthorisationSystem(); + + //** GIVEN ** + //1. A community-collection structure with one parent community with sub-community and two collections. + parentCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) + .withName("Sub Community") + .build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); + + //2. Three public items that are readable by Anonymous with different subjects + Item publicItem1 = ItemBuilder.createItem(context, col1) + .withTitle("Faithful Infidel: Exploring Conformity (2nd edition)") + .withIssueDate("2010-10-17") + .withAuthor("Smith, Donald") + .withSubject("ExtraEntry") + .build(); + + Item publicItem2 = ItemBuilder.createItem(context, col2) + .withTitle("Test") + .withIssueDate("1990-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane") + .withSubject("TestingForMore").withSubject("ExtraEntry") + .build(); + + Item publicItem3 = ItemBuilder.createItem(context, col2) + .withTitle("NotAProperTestTitle") + .withIssueDate("2010-02-13") + .withAuthor("Smith, Maria").withAuthor("Doe, Jane").withAuthor("test,test") + .withAuthor("test2, test2").withAuthor("Maybe, Maybe") + .withSubject("AnotherTest").withSubject("TestingForMore") + .withSubject("ExtraEntry") + .build(); + //** WHEN ** + getClient().perform(get("/api/discover/search/objects") + .param("query", "OR")) + + .andExpect(status().isBadRequest()) + ; + + } } From 7e1ca49bcf31addbecedb432ed7185572056a5f7 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Mon, 1 Oct 2018 15:15:31 +0200 Subject: [PATCH 021/118] [DS-4010] fixed test case --- .../org/dspace/app/rest/DiscoveryRestControllerIT.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java index 8aafbc915b..f09663f4be 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/DiscoveryRestControllerIT.java @@ -2881,9 +2881,8 @@ public class DiscoveryRestControllerIT extends AbstractControllerIntegrationTest .withSubject("AnotherTest").withSubject("TestingForMore") .withSubject("ExtraEntry") .build(); - //** WHEN ** getClient().perform(get("/api/discover/search/objects") - .param("query", "Faithful Infidel\\: Exploring Conformity \\(2nd edition\\)")) + .param("query", "\"Faithful Infidel: Exploring Conformity (2nd edition)\"")) //** THEN ** //The status has to be 200 OK @@ -2901,9 +2900,9 @@ public class DiscoveryRestControllerIT extends AbstractControllerIntegrationTest ))) .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", Matchers.not(Matchers.containsInAnyOrder( - SearchResultMatcher.matchOnItemName("item", "items", "Test"), - SearchResultMatcher.matchOnItemName("item", "items", "NotAProperTestTitle") - )))) + SearchResultMatcher.matchOnItemName("item", "items", "Test"), + SearchResultMatcher.matchOnItemName("item", "items", "NotAProperTestTitle") + )))) //There always needs to be a self link available .andExpect(jsonPath("$._links.self.href", containsString("/api/discover/search/objects"))) From 754915b8aa1b0bcbb83f89560c2155432e0e753a Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 26 Sep 2018 13:40:58 -0500 Subject: [PATCH 022/118] Remove duplicate dependency in dspace-api --- dspace-api/pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index fb6a90d965..3c197da796 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -364,10 +364,6 @@ org.apache.commons commons-collections4 - - org.apache.commons - commons-collections4 - org.apache.commons commons-dbcp2 From 447bea2921e6bd1a6e7f1f97ac9199841cbafdb8 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 8 Oct 2018 17:11:37 +0000 Subject: [PATCH 023/118] Update to using Servlet API spec 3.1.0 in all modules --- dspace-api/pom.xml | 2 +- dspace-oai/pom.xml | 2 +- dspace-rdf/pom.xml | 2 +- dspace-rest/pom.xml | 1 - dspace-services/pom.xml | 2 +- dspace-solr/pom.xml | 2 +- dspace-sword/pom.xml | 2 +- dspace-swordv2/pom.xml | 2 +- dspace/modules/additions/pom.xml | 2 +- dspace/modules/oai/pom.xml | 2 +- dspace/modules/rdf/pom.xml | 2 +- dspace/modules/rest/pom.xml | 2 +- dspace/modules/sword/pom.xml | 2 +- dspace/modules/swordv2/pom.xml | 2 +- dspace/pom.xml | 2 +- pom.xml | 4 ++-- 16 files changed, 16 insertions(+), 17 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 3c197da796..3597126c94 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -395,7 +395,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index 77472986e4..cb44500437 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -185,7 +185,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace-rdf/pom.xml b/dspace-rdf/pom.xml index 5a7eeca9ab..6e5284b85c 100644 --- a/dspace-rdf/pom.xml +++ b/dspace-rdf/pom.xml @@ -64,7 +64,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace-rest/pom.xml b/dspace-rest/pom.xml index ba7a990095..b4f54dbd32 100644 --- a/dspace-rest/pom.xml +++ b/dspace-rest/pom.xml @@ -220,7 +220,6 @@ javax.servlet javax.servlet-api - 3.1.0 provided diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index 3d82e158fd..a2c99e39bc 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -108,7 +108,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace-solr/pom.xml b/dspace-solr/pom.xml index 42797d4740..f8e825bd13 100644 --- a/dspace-solr/pom.xml +++ b/dspace-solr/pom.xml @@ -249,7 +249,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace-sword/pom.xml b/dspace-sword/pom.xml index fb26286f27..d93519952d 100644 --- a/dspace-sword/pom.xml +++ b/dspace-sword/pom.xml @@ -112,7 +112,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace-swordv2/pom.xml b/dspace-swordv2/pom.xml index 46d9c57f03..4ac9511e58 100644 --- a/dspace-swordv2/pom.xml +++ b/dspace-swordv2/pom.xml @@ -81,7 +81,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/modules/additions/pom.xml b/dspace/modules/additions/pom.xml index ebc3963a0a..d02b33a8b9 100644 --- a/dspace/modules/additions/pom.xml +++ b/dspace/modules/additions/pom.xml @@ -58,7 +58,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/modules/oai/pom.xml b/dspace/modules/oai/pom.xml index 2dc97f96bc..d6af3a4a24 100644 --- a/dspace/modules/oai/pom.xml +++ b/dspace/modules/oai/pom.xml @@ -127,7 +127,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/modules/rdf/pom.xml b/dspace/modules/rdf/pom.xml index 5a5ab808bf..297d165a6d 100644 --- a/dspace/modules/rdf/pom.xml +++ b/dspace/modules/rdf/pom.xml @@ -104,7 +104,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/modules/rest/pom.xml b/dspace/modules/rest/pom.xml index 636adc7e18..4b9c4a2a24 100644 --- a/dspace/modules/rest/pom.xml +++ b/dspace/modules/rest/pom.xml @@ -143,7 +143,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/modules/sword/pom.xml b/dspace/modules/sword/pom.xml index 3ed2e4cc10..a8498483ce 100644 --- a/dspace/modules/sword/pom.xml +++ b/dspace/modules/sword/pom.xml @@ -121,7 +121,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/modules/swordv2/pom.xml b/dspace/modules/swordv2/pom.xml index 63ef48427d..11f0b684b5 100644 --- a/dspace/modules/swordv2/pom.xml +++ b/dspace/modules/swordv2/pom.xml @@ -135,7 +135,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/dspace/pom.xml b/dspace/pom.xml index 3780d02fa0..9c22c27523 100644 --- a/dspace/pom.xml +++ b/dspace/pom.xml @@ -321,7 +321,7 @@ command. --> javax.servlet - servlet-api + javax.servlet-api diff --git a/pom.xml b/pom.xml index 88dfeec6d0..1bdfe1dcae 100644 --- a/pom.xml +++ b/pom.xml @@ -1236,8 +1236,8 @@ javax.servlet - servlet-api - 2.5 + javax.servlet-api + 3.1.0 From d3ee089d2e1c435413173a811dbe0e00066716bc Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 8 Oct 2018 12:40:07 -0500 Subject: [PATCH 024/118] Update our DummyHttpServletRequest to Servlet Spec 3.1.0 --- .../util/DummyHttpServletRequest.java | 137 +++++++++++++++++- 1 file changed, 135 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java b/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java index 447e2c7728..7ebf4305f6 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java +++ b/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java @@ -10,16 +10,25 @@ package org.dspace.statistics.util; import java.io.BufferedReader; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.security.Principal; +import java.util.Collection; import java.util.Enumeration; import java.util.Locale; import java.util.Map; +import javax.servlet.AsyncContext; +import javax.servlet.DispatcherType; import javax.servlet.RequestDispatcher; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; import javax.servlet.ServletInputStream; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpUpgradeHandler; +import javax.servlet.http.Part; /** * A mock request for testing. @@ -45,6 +54,15 @@ class DummyHttpServletRequest implements HttpServletRequest { this.remoteHost = host; } + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#changeSessionId + */ + @Override + public String changeSessionId() { + // TODO Auto-generated method stub + return null; + } + /* (non-Javadoc) * @see javax.servlet.http.HttpServletRequest#getAuthType() */ @@ -81,6 +99,15 @@ class DummyHttpServletRequest implements HttpServletRequest { return 0; } + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#getDispatcherType() + */ + @Override + public DispatcherType getDispatcherType() { + // TODO Auto-generated method stub + return null; + } + /* (non-Javadoc) * @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String) */ @@ -255,6 +282,55 @@ class DummyHttpServletRequest implements HttpServletRequest { return false; } + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#authenticate(javax.servlet.http.HttpServletResponse) + */ + @Override + public boolean authenticate(HttpServletResponse httpServletResponse) { + return false; + } + + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#login(java.lang.String,java.lang.String) + */ + @Override + public void login(String s, String s1) { + return; + } + + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#logout() + */ + @Override + public void logout() { + return; + } + + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#getPart(java.lang.String) + */ + @Override + public Part getPart(String arg0) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#getParts() + */ + @Override + public Collection getParts() { + return null; + } + + /* (non-Javadoc) + * @see javax.servlet.http.HttpServletRequest#upgrade(java.lang.Class) + */ + @Override + public T upgrade(Class aClass) throws IOException, ServletException { + return null; + } + /* (non-Javadoc) * @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid() */ @@ -309,6 +385,14 @@ class DummyHttpServletRequest implements HttpServletRequest { return 0; } + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#getContentLengthLong() + */ + @Override + public long getContentLengthLong() { + return 0; + } + /* (non-Javadoc) * @see javax.servlet.ServletRequest#getContentType() */ @@ -490,10 +574,51 @@ class DummyHttpServletRequest implements HttpServletRequest { */ @Override public void setCharacterEncoding(String arg0) - throws UnsupportedEncodingException { + throws UnsupportedOperationException { throw new UnsupportedOperationException("Not supported yet."); } + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#startAsync + */ + @Override + public AsyncContext startAsync() throws IllegalStateException { + throw new IllegalStateException("Not supported yet."); + } + + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#startAsync(javax.servlet.ServletRequest,javax.servlet.ServletResponse) + */ + @Override + public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) + throws IllegalStateException { + throw new IllegalStateException("Not supported yet."); + } + + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#isAsyncStarted + */ + @Override + public boolean isAsyncStarted() { + return false; + } + + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#isAsyncSupported + */ + @Override + public boolean isAsyncSupported() { + return false; + } + + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#getAsyncContext + */ + @Override + public AsyncContext getAsyncContext() { + return null; + } + @Override public int getRemotePort() { throw new UnsupportedOperationException("Not supported yet."); @@ -514,4 +639,12 @@ class DummyHttpServletRequest implements HttpServletRequest { throw new UnsupportedOperationException("Not supported yet."); } + /* (non-Javadoc) + * @see javax.servlet.ServletRequest#getServletContext + */ + @Override + public ServletContext getServletContext() { + return null; + } + } From 3fd7cc903dd88766deada750582189746850aee1 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 8 Oct 2018 20:07:44 +0000 Subject: [PATCH 025/118] Fix dependency convergence errors with OAI and SWORDv2 --- dspace-oai/pom.xml | 4 ++++ dspace-swordv2/pom.xml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index cb44500437..a1611abc2c 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -160,6 +160,10 @@ org.apache.commons commons-lang3 + + javax.servlet + servlet-api + diff --git a/dspace-swordv2/pom.xml b/dspace-swordv2/pom.xml index 4ac9511e58..2d923f69d8 100644 --- a/dspace-swordv2/pom.xml +++ b/dspace-swordv2/pom.xml @@ -95,6 +95,10 @@ org.apache.abdera abdera-client + + javax.servlet + servlet-api + From 4652bb8cab304b0c038cd13d97faa18ef5891b47 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 10 Oct 2018 18:32:18 +0000 Subject: [PATCH 026/118] Dependency fixes for OAI-PMH using Servlet API 3.1 --- dspace-oai/pom.xml | 9 +++------ dspace/modules/oai/pom.xml | 8 ++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index a1611abc2c..136b8fc1dc 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -16,7 +16,6 @@ ${basedir}/.. - 3.2.5.RELEASE 3.2.10 2.0.1 @@ -144,10 +143,6 @@ jtwig-spring ${jtwig.version} - - org.ow2.asm - asm - com.google.guava guava @@ -228,10 +223,12 @@ junit test + + org.hamcrest hamcrest-all - test + compile org.mockito diff --git a/dspace/modules/oai/pom.xml b/dspace/modules/oai/pom.xml index d6af3a4a24..441846e8ce 100644 --- a/dspace/modules/oai/pom.xml +++ b/dspace/modules/oai/pom.xml @@ -146,6 +146,14 @@ + + + + + org.hamcrest + hamcrest-all + compile + From 6dc6102325457031efefc1f62215223abde08f71 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 17 Oct 2018 09:53:46 -0500 Subject: [PATCH 027/118] Update all web.xml files to use Servlet 3.1. Requires minor reorg in older webapps. --- dspace-oai/src/main/webapp/WEB-INF/web.xml | 4 +- dspace-rdf/src/main/webapp/WEB-INF/web.xml | 7 ++- dspace-rest/src/main/webapp/WEB-INF/web.xml | 9 ++-- dspace-sword/src/main/webapp/WEB-INF/web.xml | 18 +++----- .../src/main/webapp/WEB-INF/web.xml | 43 ++++++------------- 5 files changed, 27 insertions(+), 54 deletions(-) diff --git a/dspace-oai/src/main/webapp/WEB-INF/web.xml b/dspace-oai/src/main/webapp/WEB-INF/web.xml index 33d3c2c31b..54d207c099 100644 --- a/dspace-oai/src/main/webapp/WEB-INF/web.xml +++ b/dspace-oai/src/main/webapp/WEB-INF/web.xml @@ -8,9 +8,9 @@ http://www.dspace.org/license/ --> - + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> XOAI Data Provider diff --git a/dspace-rdf/src/main/webapp/WEB-INF/web.xml b/dspace-rdf/src/main/webapp/WEB-INF/web.xml index 222e17de2c..65f22b637b 100644 --- a/dspace-rdf/src/main/webapp/WEB-INF/web.xml +++ b/dspace-rdf/src/main/webapp/WEB-INF/web.xml @@ -8,10 +8,9 @@ http://www.dspace.org/license/ --> - + RDF Data Provider diff --git a/dspace-rest/src/main/webapp/WEB-INF/web.xml b/dspace-rest/src/main/webapp/WEB-INF/web.xml index 90d68ac6a2..df639b9b08 100644 --- a/dspace-rest/src/main/webapp/WEB-INF/web.xml +++ b/dspace-rest/src/main/webapp/WEB-INF/web.xml @@ -8,10 +8,9 @@ http://www.dspace.org/license/ --> - + dspace.request @@ -109,4 +108,4 @@ - \ No newline at end of file + diff --git a/dspace-sword/src/main/webapp/WEB-INF/web.xml b/dspace-sword/src/main/webapp/WEB-INF/web.xml index 733de69745..3d721e9744 100644 --- a/dspace-sword/src/main/webapp/WEB-INF/web.xml +++ b/dspace-sword/src/main/webapp/WEB-INF/web.xml @@ -8,35 +8,29 @@ http://www.dspace.org/license/ --> - - + DSpace SWORD Server + The location of the DSpace home directory dspace.dir ${dspace.dir} - - The location of the DSpace home directory - + The SWORDServer class name sword-server-class org.dspace.sword.DSpaceSWORDServer - - The SWORDServer class name - + The type of authentication used : [Basic|None] authentication-method Basic - - The type of authentication used : [Basic|None] - - - - + DSpace SWORD 2.0 Server + The location of the DSpace home directory dspace.dir ${dspace.dir} - - The location of the DSpace home directory - + The ServiceDocumentManager server implementation class name service-document-impl org.dspace.sword2.ServiceDocumentManagerDSpace - - The ServiceDocumentManager server implementation class name - + The CollectionListManager server implementation class name collection-list-impl org.dspace.sword2.CollectionListManagerDSpace - - The CollectionListManager server implementation class name - + The CollectionDepositManager server implementation class name collection-deposit-impl org.dspace.sword2.CollectionDepositManagerDSpace - - The CollectionDepositManager server implementation class name - + The MediaResourceManager server implementation class name media-resource-impl org.dspace.sword2.MediaResourceManagerDSpace - - The MediaResourceManager server implementation class name - + The ContainerManager server implementation class name container-impl org.dspace.sword2.ContainerManagerDSpace - - The ContainerManager server implementation class name - + The StatementManager server implementation class name statement-impl org.dspace.sword2.StatementManagerDSpace - - The StatementManager server implementation class name - + The SwordConfiguration server implementation class name config-impl org.dspace.sword2.SwordConfigurationDSpace - - The SwordConfiguration server implementation class name - + The type of authentication used : [Basic|None] authentication-method Basic - - The type of authentication used : [Basic|None] - - + - + - - - + + + @@ -313,7 +313,7 @@ - + @@ -323,8 +323,8 @@ - - + + From b622781f5d1a0914539779bf6a757f9d912684df Mon Sep 17 00:00:00 2001 From: Tom Desair Date: Mon, 29 Oct 2018 23:02:34 +0100 Subject: [PATCH 030/118] DS-3542: Added unit tests for ClientInfoServiceImpl --- .../service/impl/ClientInfoServiceImpl.java | 2 + .../impl/ClientInfoServiceImplTest.java | 165 ++++++++++++++++++ .../util/DummyHttpServletRequest.java | 31 +++- 3 files changed, 190 insertions(+), 8 deletions(-) create mode 100644 dspace-api/src/test/java/org/dspace/service/impl/ClientInfoServiceImplTest.java diff --git a/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java b/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java index 771374299c..76874908d7 100644 --- a/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/service/impl/ClientInfoServiceImpl.java @@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired; /** * Implementation of {@link ClientInfoService} that can provide information on DSpace client requests + * + * @author tom dot desair at gmail dot com */ public class ClientInfoServiceImpl implements ClientInfoService { diff --git a/dspace-api/src/test/java/org/dspace/service/impl/ClientInfoServiceImplTest.java b/dspace-api/src/test/java/org/dspace/service/impl/ClientInfoServiceImplTest.java new file mode 100644 index 0000000000..42c78944e1 --- /dev/null +++ b/dspace-api/src/test/java/org/dspace/service/impl/ClientInfoServiceImplTest.java @@ -0,0 +1,165 @@ +/** + * 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/ + */ +package org.dspace.service.impl; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.dspace.AbstractDSpaceTest; +import org.dspace.service.ClientInfoService; +import org.dspace.services.ConfigurationService; +import org.dspace.services.factory.DSpaceServicesFactory; +import org.dspace.statistics.util.DummyHttpServletRequest; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.runners.MockitoJUnitRunner; + +/** + * Unit test class for the {@link ClientInfoServiceImpl} class which implements + * the {@link ClientInfoService} interface + * + * @author tom dot desair at gmail dot com + */ +@RunWith(MockitoJUnitRunner.class) +public class ClientInfoServiceImplTest extends AbstractDSpaceTest { + + private ClientInfoService clientInfoService; + + private ConfigurationService configurationService; + + @Before + public void init() { + configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); + } + + @Test + public void getClientIpFromRequest() { + configurationService.setProperty("useProxies", true); + configurationService.setProperty("proxies.trusted.ipranges", "127.0.0"); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + DummyHttpServletRequest req = new DummyHttpServletRequest(); + req.setAddress("127.0.0.1"); + req.addHeader("X-Forwarded-For", "192.168.1.24"); + + assertEquals("192.168.1.24", clientInfoService.getClientIp(req)); + } + + @Test + public void getClientIpWithTrustedProxy() { + configurationService.setProperty("useProxies", true); + configurationService.setProperty("proxies.trusted.ipranges", "127.0.0"); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + String remoteIp = "127.0.0.1"; + String xForwardedFor = "192.168.1.24"; + + assertEquals("192.168.1.24", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + } + + + @Test + public void getClientIpWithUntrustedProxy() { + configurationService.setProperty("useProxies", true); + configurationService.setProperty("proxies.trusted.ipranges", "192.168.1.1"); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + String remoteIp = "10.24.64.14"; + String xForwardedFor = "192.168.1.24"; + + assertEquals("10.24.64.14", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + } + + @Test + public void getClientIpWithMultipleTrustedProxies() { + configurationService.setProperty("useProxies", true); + configurationService.setProperty("proxies.trusted.ipranges", "127.0.0,192.168.1"); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + String remoteIp = "127.0.0.1"; + String xForwardedFor = "10.24.64.14,192.168.1.24"; + + assertEquals("10.24.64.14", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + + xForwardedFor = "192.168.1.24,10.24.64.14"; + + assertEquals("10.24.64.14", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + } + + @Test + public void getClientIpWithoutTrustedProxies() { + configurationService.setProperty("useProxies", true); + configurationService.setProperty("proxies.trusted.ipranges", ""); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + String remoteIp = "127.0.0.1"; + String xForwardedFor = "10.24.64.14"; + + assertEquals("10.24.64.14", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + + xForwardedFor = "127.0.0.1,10.24.64.14"; + + assertEquals("10.24.64.14", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + + xForwardedFor = "10.24.64.14,127.0.0.1"; + + assertEquals("10.24.64.14", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + } + + @Test + public void getClientIpWithoutUseProxies() { + configurationService.setProperty("useProxies", false); + configurationService.setProperty("proxies.trusted.ipranges", ""); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + String remoteIp = "127.0.0.1"; + String xForwardedFor = "10.24.64.14"; + + assertEquals("127.0.0.1", + clientInfoService.getClientIp(remoteIp, xForwardedFor)); + + assertEquals("127.0.0.1", + clientInfoService.getClientIp(remoteIp, null)); + + assertEquals("127.0.0.1", + clientInfoService.getClientIp(remoteIp, "")); + } + + @Test + public void isUseProxiesEnabledTrue() { + configurationService.setProperty("useProxies", true); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + assertTrue(clientInfoService.isUseProxiesEnabled()); + } + + @Test + public void isUseProxiesEnabledFalse() { + configurationService.setProperty("useProxies", false); + + clientInfoService = new ClientInfoServiceImpl(configurationService); + + assertFalse(clientInfoService.isUseProxiesEnabled()); + } +} \ No newline at end of file diff --git a/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java b/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java index 447e2c7728..a4e26b6fb3 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java +++ b/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java @@ -12,7 +12,11 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.Principal; +import java.util.Collections; import java.util.Enumeration; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; import java.util.Locale; import java.util.Map; import javax.servlet.RequestDispatcher; @@ -21,18 +25,23 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.collections.CollectionUtils; +import org.dspace.core.Utils; + /** * A mock request for testing. * * @author mwood */ -class DummyHttpServletRequest implements HttpServletRequest { +public class DummyHttpServletRequest implements HttpServletRequest { private String agent = null; private String address = null; private String remoteHost = null; + private Map> headers = new HashMap<>(); + public void setAgent(String agent) { this.agent = agent; } @@ -81,6 +90,15 @@ class DummyHttpServletRequest implements HttpServletRequest { return 0; } + /** + * Add a request header to this dummy request + * @param headerName The name of the header to add + * @param headerValue The value of the header + */ + public void addHeader(String headerName, String headerValue) { + List values = headers.computeIfAbsent(headerName, k -> new LinkedList<>()); + values.add(headerValue); + } /* (non-Javadoc) * @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String) */ @@ -89,7 +107,7 @@ class DummyHttpServletRequest implements HttpServletRequest { if ("User-Agent".equals(key)) { return agent; } else { - return null; + return CollectionUtils.isEmpty(headers.get(key)) ? null : headers.get(key).get(0); } } @@ -98,8 +116,7 @@ class DummyHttpServletRequest implements HttpServletRequest { */ @Override public Enumeration getHeaderNames() { - // TODO Auto-generated method stub - return null; + return Collections.enumeration(headers.keySet()); } /* (non-Javadoc) @@ -107,8 +124,7 @@ class DummyHttpServletRequest implements HttpServletRequest { */ @Override public Enumeration getHeaders(String arg0) { - // TODO Auto-generated method stub - return null; + return Collections.enumeration(Utils.emptyIfNull(headers.get(arg0))); } /* (non-Javadoc) @@ -116,8 +132,7 @@ class DummyHttpServletRequest implements HttpServletRequest { */ @Override public int getIntHeader(String arg0) { - // TODO Auto-generated method stub - return 0; + return headers.containsKey(arg0) ? Integer.parseInt(getHeader(arg0)) : -1; } /* (non-Javadoc) From 3c10296d0c4a94ceeaebcf7ba78cfc0599ae9e76 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Wed, 31 Oct 2018 10:17:48 +0100 Subject: [PATCH 031/118] [Task 57063] made the REST URL configurable instead of relying on the request.getUrl method to return the correct information --- .../app/rest/RootRestResourceController.java | 8 +--- .../app/rest/converter/RootConverter.java | 4 +- .../rest/repository/RootRestRepository.java | 4 +- .../rest/RootRestResourceControllerIT.java | 38 +++++++++---------- .../app/rest/converter/RootConverterTest.java | 7 ++-- .../AbstractControllerIntegrationTest.java | 1 + dspace/config/dspace.cfg | 4 ++ 7 files changed, 33 insertions(+), 33 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java index 0ba085fab1..18f41310b3 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java @@ -42,17 +42,11 @@ public class RootRestResourceController { @RequestMapping(method = RequestMethod.GET) public RootResource listDefinedEndpoint(HttpServletRequest request) { - String restUrl = getRestURL(request); - - RootRest rootRest = rootRestRepository.getRoot(restUrl); + RootRest rootRest = rootRestRepository.getRoot(); RootResource rootResource = new RootResource(rootRest); halLinkService.addLinks(rootResource); return rootResource; } - private String getRestURL(HttpServletRequest request) { - String url = request.getRequestURL().toString(); - return url.substring(0, url.length() - request.getRequestURI().length()) + request.getContextPath(); - } } \ No newline at end of file diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/RootConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/RootConverter.java index 606f7f28ac..177b2244f7 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/RootConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/RootConverter.java @@ -21,11 +21,11 @@ public class RootConverter { @Autowired private ConfigurationService configurationService; - public RootRest convert(String restUrl) { + public RootRest convert() { RootRest rootRest = new RootRest(); rootRest.setDspaceName(configurationService.getProperty("dspace.name")); rootRest.setDspaceURL(configurationService.getProperty("dspace.url")); - rootRest.setDspaceRest(restUrl); + rootRest.setDspaceRest(configurationService.getProperty("dspace.restUrl")); return rootRest; } } diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/RootRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/RootRestRepository.java index e81a530b5e..54c678c18e 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/RootRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/RootRestRepository.java @@ -21,7 +21,7 @@ public class RootRestRepository { @Autowired RootConverter rootConverter; - public RootRest getRoot(String restUrl) { - return rootConverter.convert(restUrl); + public RootRest getRoot() { + return rootConverter.convert(); } } diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/RootRestResourceControllerIT.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/RootRestResourceControllerIT.java index 48f805bd13..bf19b4b9c5 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/RootRestResourceControllerIT.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/RootRestResourceControllerIT.java @@ -34,25 +34,25 @@ public class RootRestResourceControllerIT extends AbstractControllerIntegrationT //We expect the content type to be "application/hal+json;charset=UTF-8" .andExpect(content().contentType(contentType)) //Check that all required root links are present and that they are absolute - .andExpect(jsonPath("$._links.authorities.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.bitstreamformats.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.bitstreams.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.browses.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.collections.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.communities.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.epersons.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.groups.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.items.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.metadatafields.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.metadataschemas.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.resourcePolicies.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.sites.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.submissiondefinitions.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.submissionforms.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.submissionsections.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.submissionuploads.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.workspaceitems.href", startsWith(REST_SERVER_URL))) - .andExpect(jsonPath("$._links.authn.href", startsWith(REST_SERVER_URL))) + .andExpect(jsonPath("$._links.authorities.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.bitstreamformats.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.bitstreams.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.browses.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.collections.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.communities.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.epersons.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.groups.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.items.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.metadatafields.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.metadataschemas.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.resourcePolicies.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.sites.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.submissiondefinitions.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.submissionforms.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.submissionsections.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.submissionuploads.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.workspaceitems.href", startsWith(BASE_REST_SERVER_URL))) + .andExpect(jsonPath("$._links.authn.href", startsWith(BASE_REST_SERVER_URL))) ; } diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/converter/RootConverterTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/converter/RootConverterTest.java index 5ec396ec81..785e9ac07e 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/converter/RootConverterTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/converter/RootConverterTest.java @@ -36,17 +36,18 @@ public class RootConverterTest { public void setUp() throws Exception { when(configurationService.getProperty("dspace.url")).thenReturn("dspaceurl"); when(configurationService.getProperty("dspace.name")).thenReturn("dspacename"); + when(configurationService.getProperty("dspace.restUrl")).thenReturn("rest"); } @Test public void testReturnCorrectClass() throws Exception { - assertEquals(rootConverter.convert("").getClass(), RootRest.class); + assertEquals(rootConverter.convert().getClass(), RootRest.class); } @Test public void testCorrectPropertiesSetFromConfigurationService() throws Exception { String restUrl = "rest"; - RootRest rootRest = rootConverter.convert(restUrl); + RootRest rootRest = rootConverter.convert(); assertEquals("dspaceurl", rootRest.getDspaceURL()); assertEquals("dspacename", rootRest.getDspaceName()); assertEquals(restUrl, rootRest.getDspaceRest()); @@ -54,6 +55,6 @@ public class RootConverterTest { @Test public void testReturnNotNull() throws Exception { - assertNotNull(rootConverter.convert("")); + assertNotNull(rootConverter.convert()); } } diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractControllerIntegrationTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractControllerIntegrationTest.java index f790aa230a..4240093ba8 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractControllerIntegrationTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractControllerIntegrationTest.java @@ -70,6 +70,7 @@ public class AbstractControllerIntegrationTest extends AbstractIntegrationTestWi protected static final String AUTHORIZATION_TYPE = "Bearer "; public static final String REST_SERVER_URL = "http://localhost/api/"; + public static final String BASE_REST_SERVER_URL = "http://localhost"; protected MediaType contentType = new MediaType(MediaTypes.HAL_JSON.getType(), MediaTypes.HAL_JSON.getSubtype(), Charsets.UTF_8); diff --git a/dspace/config/dspace.cfg b/dspace/config/dspace.cfg index f8a4930e61..590c26cbd6 100644 --- a/dspace/config/dspace.cfg +++ b/dspace/config/dspace.cfg @@ -34,6 +34,10 @@ dspace.baseUrl = http://localhost:8080 # Alternatively, you can use a url redirect or deploy the web application under the servlet container root. dspace.url = ${dspace.baseUrl} +# This is the URL that will be used for the REST endpoints to be served on. +# This will typically be followed by /api to determine the root endpoints. +dspace.restUrl = ${dspace.baseUrl}/rest + # Optional: DSpace URL for mobile access # This #dspace.mobileUrl = http://mobile.example.com From 9e99c911c600d35a3f7ca46e80ade967d99dd17e Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Wed, 31 Oct 2018 15:28:33 +0100 Subject: [PATCH 032/118] Added information into the exception message --- .../org/dspace/app/rest/repository/DiscoveryRestRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index 83707c06dc..fe76178100 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -110,7 +110,7 @@ public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { } catch (SearchServiceException e) { log.error("Error while searching with Discovery", e); - throw new IllegalArgumentException(); + throw new IllegalArgumentException("Error while searching with Discovery: " + e.getMessage()); } return discoverResultConverter From 74149ba2470e42b6204fc259b6670d1c2d5cbe0d Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Wed, 31 Oct 2018 15:29:34 -0500 Subject: [PATCH 033/118] Fix checkstyle failure (after rebase) --- .../org/dspace/statistics/util/DummyHttpServletRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java b/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java index b101fd58b4..b255db3e04 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java +++ b/dspace-api/src/test/java/org/dspace/statistics/util/DummyHttpServletRequest.java @@ -11,8 +11,8 @@ package org.dspace.statistics.util; import java.io.BufferedReader; import java.io.IOException; import java.security.Principal; -import java.util.Collections; import java.util.Collection; +import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.LinkedList; From 6c989433e18e66bfe6287cc156be8d0161e6b0d1 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Wed, 31 Oct 2018 15:03:51 -0700 Subject: [PATCH 034/118] try new query --- ...6.java => SolrUpgradePre6xStatistics.java} | 30 +++++++++++-------- dspace/config/launcher.xml | 4 +-- 2 files changed, 20 insertions(+), 14 deletions(-) rename dspace-api/src/main/java/org/dspace/util/{SolrUpgradeStatistics6.java => SolrUpgradePre6xStatistics.java} (96%) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java similarity index 96% rename from dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java rename to dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 9006dcc018..18b5a8a1f5 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradeStatistics6.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -58,7 +58,7 @@ import java.util.*; * * @author Terry Brady, Georgetown University Library */ -public class SolrUpgradeStatistics6 +public class SolrUpgradePre6xStatistics { //Command line parameter constants private static final String INDEX_NAME_OPTION = "i"; @@ -79,8 +79,15 @@ public class SolrUpgradeStatistics6 private static final int FACET_CUTOFF = 10; private static final String INDEX_DEFAULT = "statistics"; - private static final String MIGQUERY = "NOT(dspaceMig:*)"; + private static final String MIGQUERY = "(id:* AND NOT(id:*-*)) OR (scopeId:* AND NOT(scopeId:*-*)) OR (epersonid:* AND NOT(epersonid:*-*))"; + /* + private static final String MIGQUERYARR[] = { + "id:* AND NOT(id:*-*)", + "scopeId:* AND NOT(scopeId:*-*)", + "epersonid:* AND NOT(epersonid:*-*)" + }; + */ //Counters to determine the number of items to process private int numRec = NUMREC_DEFAULT; @@ -108,7 +115,7 @@ public class SolrUpgradeStatistics6 } //Logger - private static final Logger log = Logger.getLogger(SolrUpgradeStatistics6.class); + private static final Logger log = Logger.getLogger(SolrUpgradePre6xStatistics.class); //DSpace Servcies private ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); @@ -139,7 +146,7 @@ public class SolrUpgradeStatistics6 * @throws IOException * @throws SolrServerException */ - public SolrUpgradeStatistics6(String indexName, int numRec, int batchSize) throws SolrServerException, IOException { + public SolrUpgradePre6xStatistics(String indexName, int numRec, int batchSize) throws SolrServerException, IOException { String serverPath = configurationService.getProperty("solr-statistics.server"); serverPath = serverPath.replaceAll("statistics$", indexName); System.out.println("Connecting to " + serverPath); @@ -276,7 +283,7 @@ public class SolrUpgradeStatistics6 private static void printHelpAndExit(Options options, int exitCode) { HelpFormatter myhelp = new HelpFormatter(); - myhelp.printHelp(SolrUpgradeStatistics6.class.getSimpleName() + "\n", options); + myhelp.printHelp(SolrUpgradePre6xStatistics.class.getSimpleName() + "\n", options); System.out.println("\n\nCommand Defaults"); System.out.println("\tsolr-upgradeD6-statistics [-i statistics] [-n num_recs_to_process] [-b num_rec_to_update_at_once]"); System.out.println(""); @@ -350,7 +357,7 @@ public class SolrUpgradeStatistics6 } try { - SolrUpgradeStatistics6 upgradeStats = new SolrUpgradeStatistics6(indexName, numrec, batchSize); + SolrUpgradePre6xStatistics upgradeStats = new SolrUpgradePre6xStatistics(indexName, numrec, batchSize); upgradeStats.run(); } catch (SolrServerException e) { log.error("Error querying stats", e); @@ -440,11 +447,11 @@ public class SolrUpgradeStatistics6 runReport(); logTime(false); for(int processed = updateRecords(MIGQUERY); (processed != 0) && (numProcessed < numRec); processed = updateRecords(MIGQUERY)){ - printTime(numProcessed, false); - batchUpdateStats(); - if (context.getCacheSize() > CACHE_LIMIT) { - refreshContext(); - } + printTime(numProcessed, false); + batchUpdateStats(); + if (context.getCacheSize() > CACHE_LIMIT) { + refreshContext(); + } } printTime(numProcessed, true); @@ -485,7 +492,6 @@ public class SolrUpgradeStatistics6 for(FIELD col: FIELD.values()) { mapField(input, col); } - input.addField("dspaceMig", "6.1"); docs.add(input); ++numProcessed; diff --git a/dspace/config/launcher.xml b/dspace/config/launcher.xml index ff8839ca08..5e05954fcf 100644 --- a/dspace/config/launcher.xml +++ b/dspace/config/launcher.xml @@ -243,10 +243,10 @@ - solr-upgradeD6-statistics + solr-upgrade-pre6x-statistics Upgrade statistics (integer to UUID) to DSpace 6 - org.dspace.util.SolrUpgradeStatistics6 + org.dspace.util.SolrUpgradePre6xStatistics From 32552062127e41e30b08e25fc7101d9133eb3e99 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Wed, 31 Oct 2018 15:09:17 -0700 Subject: [PATCH 035/118] simplify not queries --- .../java/org/dspace/util/SolrUpgradePre6xStatistics.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 18b5a8a1f5..ce4f224f44 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -79,13 +79,13 @@ public class SolrUpgradePre6xStatistics private static final int FACET_CUTOFF = 10; private static final String INDEX_DEFAULT = "statistics"; - private static final String MIGQUERY = "(id:* AND NOT(id:*-*)) OR (scopeId:* AND NOT(scopeId:*-*)) OR (epersonid:* AND NOT(epersonid:*-*))"; + private static final String MIGQUERY = "(id:* AND -(id:*-*)) OR (scopeId:* AND -(scopeId:*-*)) OR (epersonid:* AND -(epersonid:*-*))"; /* private static final String MIGQUERYARR[] = { - "id:* AND NOT(id:*-*)", - "scopeId:* AND NOT(scopeId:*-*)", - "epersonid:* AND NOT(epersonid:*-*)" + "id:* AND -(id:*-*)", + "scopeId:* AND -(scopeId:*-*)", + "epersonid:* AND -(epersonid:*-*)" }; */ From b9b383bb05896007f30d3c7fa15c7e3d6c9e4ea7 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Wed, 31 Oct 2018 15:47:14 -0700 Subject: [PATCH 036/118] rem comment --- .../org/dspace/util/SolrUpgradePre6xStatistics.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index ce4f224f44..0373f8e318 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -81,15 +81,7 @@ public class SolrUpgradePre6xStatistics private static final String INDEX_DEFAULT = "statistics"; private static final String MIGQUERY = "(id:* AND -(id:*-*)) OR (scopeId:* AND -(scopeId:*-*)) OR (epersonid:* AND -(epersonid:*-*))"; - /* - private static final String MIGQUERYARR[] = { - "id:* AND -(id:*-*)", - "scopeId:* AND -(scopeId:*-*)", - "epersonid:* AND -(epersonid:*-*)" - }; - */ - - //Counters to determine the number of items to process + //Counters to determine the number of items to process private int numRec = NUMREC_DEFAULT; private int batchSize = BATCH_DEFAULT; From fed22f30bfcd3b7782125184530ae2551a8720c3 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Wed, 31 Oct 2018 16:10:53 -0700 Subject: [PATCH 037/118] add unmigrated --- .../main/java/org/dspace/util/SolrUpgradePre6xStatistics.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 0373f8e318..19dcb927f5 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -537,6 +537,8 @@ public class SolrUpgradePre6xStatistics } if (uuid != null) { newvals.add(uuid.toString()); + } else { + newvals.add(oval+"-unmigrated"); } } catch (NumberFormatException e) { log.warn("Non numeric legacy id "+ col.name() +":" + oval.toString()); @@ -547,7 +549,6 @@ public class SolrUpgradePre6xStatistics for(String nv: newvals) { input.addField(col.name(), nv); } - } } } From ed94b9ce9eb5277ea2465c4ec48a4d934a31aec6 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Thu, 1 Nov 2018 09:04:18 -0700 Subject: [PATCH 038/118] Update dspace/config/launcher.xml upgrade launcher labels --- dspace/config/launcher.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dspace/config/launcher.xml b/dspace/config/launcher.xml index 5e05954fcf..1b144d33e3 100644 --- a/dspace/config/launcher.xml +++ b/dspace/config/launcher.xml @@ -243,8 +243,8 @@ - solr-upgrade-pre6x-statistics - Upgrade statistics (integer to UUID) to DSpace 6 + solr-upgrade-statistics-6x + Upgrade statistics (integer to UUID) to DSpace 6.x (or above) compatibility org.dspace.util.SolrUpgradePre6xStatistics From a6276da8b00cbdae4b43650ce09841d7081d795d Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Thu, 1 Nov 2018 10:13:20 -0700 Subject: [PATCH 039/118] checkstyle fixes --- .../util/SolrUpgradePre6xStatistics.java | 1182 +++++++++-------- 1 file changed, 605 insertions(+), 577 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 19dcb927f5..2ab84f95a1 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -7,8 +7,20 @@ */ package org.dspace.util; -import org.apache.commons.cli.*; +import java.io.IOException; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; +import org.apache.commons.cli.PosixParser; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; @@ -38,14 +50,11 @@ import org.dspace.eperson.service.GroupService; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; -import java.io.IOException; -import java.sql.SQLException; -import java.util.*; - /** * CLI tool to upgrade legacy id references in SOLR statistics to DSpace 6 UUID's. * - * This command will need to be run iteratively over each statistics shard until all legacy id values have been replaced. + * This command will need to be run iteratively over each statistics shard until all legacy id values have + * been replaced. * * If a legacy id cannot be resolved from the database, the id will remain unchanged. * "field:* AND NOT(field:*-*)" can be used to locate legacy ids @@ -58,604 +67,623 @@ import java.util.*; * * @author Terry Brady, Georgetown University Library */ -public class SolrUpgradePre6xStatistics -{ - //Command line parameter constants - private static final String INDEX_NAME_OPTION = "i"; - private static final String NUMREC_OPTION = "n"; - private static final String BATCH_OPTION = "b"; - private static final String TYPE_OPTION = "t"; - private static final String HELP_OPTION = "h"; - private static final int NUMREC_DEFAULT = 100000; - private static final int BATCH_DEFAULT = 10000; - - //After processing each batch of updates to SOLR, evaulate if the hibernate cache needs to be cleared - private static final int CACHE_LIMIT = 20000; - - //Maximum number of solr ids to pull in a facet query... when processing infrequently accessed ids, the - //facet size may grow. - private static final int FACET_LIMIT = 1000; - //Once the number of records returned from a facet is smaller than this number, process all items for a query - private static final int FACET_CUTOFF = 10; - - private static final String INDEX_DEFAULT = "statistics"; - private static final String MIGQUERY = "(id:* AND -(id:*-*)) OR (scopeId:* AND -(scopeId:*-*)) OR (epersonid:* AND -(epersonid:*-*))"; +public class SolrUpgradePre6xStatistics { + //Command line parameter constants + private static final String INDEX_NAME_OPTION = "i"; + private static final String NUMREC_OPTION = "n"; + private static final String BATCH_OPTION = "b"; + private static final String TYPE_OPTION = "t"; + private static final String HELP_OPTION = "h"; + private static final int NUMREC_DEFAULT = 100000; + private static final int BATCH_DEFAULT = 10000; - //Counters to determine the number of items to process - private int numRec = NUMREC_DEFAULT; - private int batchSize = BATCH_DEFAULT; - - //Cache management - private int numProcessed = 0; - private long totalCache = 0; - private long numUncache = 0; - private List docs = new ArrayList(); - private Context context; + //After processing each batch of updates to SOLR, evaulate if the hibernate cache needs to be cleared + private static final int CACHE_LIMIT = 20000; - - //Enum to identify the named SOLR statistics fields to update - private enum FIELD{ - id, - scopeId, - owningComm, - owningColl, - owningItem, - epersonid, - owner, - submitter, - actor; + private static final String INDEX_DEFAULT = "statistics"; + private static final String MIGQUERY = + "(id:* AND -(id:*-*)) OR (scopeId:* AND -(scopeId:*-*)) OR (epersonid:* AND -(epersonid:*-*))"; + + //Counters to determine the number of items to process + private int numRec = NUMREC_DEFAULT; + private int batchSize = BATCH_DEFAULT; + + //Cache management + private int numProcessed = 0; + private long totalCache = 0; + private long numUncache = 0; + private List docs = new ArrayList(); + private Context context; + + //Enum to identify the named SOLR statistics fields to update + private enum FIELD { + id, + scopeId, + owningComm, + owningColl, + owningItem, + epersonid, + owner, + submitter, + actor; + } + + //Logger + private static final Logger log = Logger.getLogger(SolrUpgradePre6xStatistics.class); + + //DSpace Servcies + private ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); + protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); + protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); + protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); + protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); + protected EPersonService epersonService = EPersonServiceFactory.getInstance().getEPersonService(); + protected GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); + + // This code will operate on one shard at a time, therefore the SOLR web service will be accessed directly rather + // than make use of the DSpace Solr Logger which only writes to the current shard + private HttpSolrServer server; + + //Allows for smart use of hibernate cache + private Item lastItem = null; + private Bitstream lastBitstream = null; + + //Report on process times + private long startTime = -1; + private long lastTime = -1; + + + /** + * Construct the utility class from the command line options + * @param indexName name of the statistics shard to update + * @param numRec maximum number of records to process + * @throws IOException + * @throws SolrServerException + */ + public SolrUpgradePre6xStatistics(String indexName, int numRec, int batchSize) throws SolrServerException, IOException { + String serverPath = configurationService.getProperty("solr-statistics.server"); + serverPath = serverPath.replaceAll("statistics$", indexName); + System.out.println("Connecting to " + serverPath); + server = new HttpSolrServer(serverPath); + server.setMaxTotalConnections(1); + this.numRec = numRec; + this.batchSize = batchSize; + refreshContext(); + } + + /* + * Process a batch of updates to SOLR + */ + private void batchUpdateStats() throws SolrServerException, IOException { + if (docs.size() > 0) { + server.add(docs); + server.commit(true, true); + docs.clear(); } - - //Logger - private static final Logger log = Logger.getLogger(SolrUpgradePre6xStatistics.class); - - //DSpace Servcies - private ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); - protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); - protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); - protected EPersonService epersonService = EPersonServiceFactory.getInstance().getEPersonService(); - protected GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); + } - // This code will operate on one shard at a time, therefore the SOLR web service will be accessed directly rather - // than make use of the DSpace Solr Logger which only writes to the current shard - private HttpSolrServer server; - - //Allows for smart use of hibernate cache - private Item lastItem = null; - private Bitstream lastBitstream = null; - - //Report on process times - private long startTime = -1; - private long lastTime = -1; - + /** + * Refresh the DSpace Context object in order to periodically release objects from memory + * @throws IOException + * @throws SolrServerException + */ + private void refreshContext() throws SolrServerException, IOException { + if (context != null) { + try { + totalCache += numUncache + context.getCacheSize(); + } catch (SQLException e) { + } + } + this.context = new Context(Context.Mode.READ_ONLY); + lastItem = null; + lastBitstream = null; + numUncache = 0; + } - /** - * Construct the utility class from the command line options - * @param indexName name of the statistics shard to update - * @param numRec maximum number of records to process - * @throws IOException - * @throws SolrServerException - */ - public SolrUpgradePre6xStatistics(String indexName, int numRec, int batchSize) throws SolrServerException, IOException { - String serverPath = configurationService.getProperty("solr-statistics.server"); - serverPath = serverPath.replaceAll("statistics$", indexName); - System.out.println("Connecting to " + serverPath); - server = new HttpSolrServer(serverPath); - server.setMaxTotalConnections(1); - this.numRec = numRec; - this.batchSize = batchSize; - refreshContext(); + /* + * Compute the number of items that were cached by hibernate since the context was cleared. + */ + private long getCacheCounts(boolean fromStart) { + long count = 0; + try { + count = context.getCacheSize(); + } catch (Exception e) { + //no action + } + count += this.numUncache; + if (fromStart) { + count += totalCache; + } + return count; + } + + /** + * Compute the time since the last batch was processed + * + * @param fromStart + * if true, report on processing time since the start of the program + * @return the time in ms since the start time + */ + private long logTime(boolean fromStart) { + long ret = 0; + long cur = new Date().getTime(); + if (lastTime == -1) { + startTime = cur; + } else if (fromStart) { + ret = cur - startTime; + } else { + ret = cur - lastTime; + } + lastTime = cur; + return ret; + } + + /* + * Format ms count as h:mm:ss + * + * @param dur Duration in ms + * + * @return duration formatted as h:mm:ss + */ + private String duration(long dur) { + long sec = dur / 1000; + long hh = sec / 3600; + long mm = (sec % 3600) / 60; + long ss = (sec % 60); + return String.format("%d:%02d:%02d", hh, mm, ss); + } + + /** + * Print a status message appended with the processing time for the operation + * + * @param header + * Message to display + * @param fromStart + * if true, report on processing time since the start of the program + */ + private void printTime(int numProcessed, boolean fromStart) { + long dur = logTime(fromStart); + long totalDur = logTime(true); + String stotalDur = duration(totalDur); + long cacheSize = 0; + try { + cacheSize = context.getCacheSize(); + } catch (SQLException e) { + log.error("Cannot get cache size", e); + } + String label = fromStart ? "TOTAL" : "Processed"; + System.out.println(String.format("%s (%s; %s; %s)", + String.format("\t%,12d %10s...", numProcessed, label), + String.format("%,6d sec; %s", dur / 1000, stotalDur), + String.format("DB cache: %,6d/%,8d", cacheSize, getCacheCounts(fromStart)), + String.format("Docs: %,6d", docs.size()))); + } + + /* + * Create command line option processor + */ + private static Options makeOptions() { + Options options = new Options(); + options.addOption(HELP_OPTION, "help", false, "Get help on options for this command."); + options.addOption(INDEX_NAME_OPTION, "index-name", true, + "The names of the indexes to process. At least one is required (default=statistics)"); + options.addOption(NUMREC_OPTION, "num-rec", true, "Total number of records to update (defaut=100,000)."); + options.addOption(BATCH_OPTION, "batch-size", true, + "Number of records to batch update to SOLR at one time (default=10,000)."); + options.addOption(TYPE_OPTION, "type", true, + "(4) Communities, (3) Collections, (2) Items (0) Bitstreams (default=all)"); + return options; + } + + /** + * A utility method to print out all available command-line options and exit + * given the specified code. + * + * @param options + * the supported options. + * @param exitCode + * the exit code to use. The method will call System#exit(int) with + * the given code. + */ + private static void printHelpAndExit(Options options, int exitCode) { + HelpFormatter myhelp = new HelpFormatter(); + myhelp.printHelp(SolrUpgradePre6xStatistics.class.getSimpleName() + "\n", options); + System.out.println("\n\nCommand Defaults"); + System.out.println( + "\tsolr-upgradeD6-statistics [-i statistics] [-n num_recs_to_process] [-b num_rec_to_update_at_once]"); + System.out.println(""); + System.out.println( + "\tAfter upgrading to DSpace 6, this process should be run iteratively over every statistics shard "); + System.out.println("\t\tuntil there are no remaining records with legacy ids present."); + System.out.println("\t\tThis process can be run while the system is in use."); + System.out.println(""); + System.out.println("\tIt will take 20-30 min to process 1,000,000 legacy records. "); + System.out.println(""); + System.out.println("\tUse the -n option to manage the workload on your server. "); + System.out.println("\t\tTo process all records, set -n to 10000000 or to 100000000 (10M or 100M)"); + System.out.println("\tIf possible, please allocate 2GB of memory to this process (e.g. -Xmx2000m)"); + System.out.println(""); + System.out.println("\tThis process will rewrite most solr statistics records and may temporarily double "); + System.out.println( + "\t\tthe size of your statistics repositories. Consider optimizing your solr repos when complete."); + + System.exit(exitCode); + } + + /** + * Entry point for command-line invocation + * + * @param args + * command-line arguments; see help for description + * @throws ParseException + * if the command-line arguments cannot be parsed + */ + public static void main(String[] args) throws ParseException { + CommandLineParser parser = new PosixParser(); + Options options = makeOptions(); + + System.out.println(" * This process should be run iteratively over every statistics shard "); + System.out.println(" * until there are no remaining records with legacy ids present."); + System.out.println(" * This process can be run while the system is in use."); + System.out.println(" * It is likely to take 1 hour/1,000,000 legacy records to be udpated."); + System.out.println(" *"); + System.out.println(" * This process will rewrite most solr statistics records and may temporarily double "); + System.out.println( + " *\tthe size of your statistics repositories. Consider optimizing your solr repos when complete."); + System.out.println(" * -------------------------------------------------------------------"); + + String indexName = INDEX_DEFAULT; + int numrec = NUMREC_DEFAULT; + int batchSize = BATCH_DEFAULT; + try { + CommandLine line = parser.parse(options, args); + if (line.hasOption(HELP_OPTION)) { + printHelpAndExit(options, 0); + } + + if (line.hasOption(INDEX_NAME_OPTION)) { + indexName = line.getOptionValue(INDEX_NAME_OPTION, INDEX_DEFAULT); + } else { + System.err.println("No index name provided, defaulting to : " + INDEX_DEFAULT); + } + + if (line.hasOption(NUMREC_OPTION)) { + numrec = Integer.parseInt(line.getOptionValue(NUMREC_OPTION, "" + NUMREC_DEFAULT)); + } + if (line.hasOption(BATCH_OPTION)) { + batchSize = Integer.parseInt(line.getOptionValue(BATCH_OPTION, "" + BATCH_DEFAULT)); + } + + } catch (ParseException e) { + System.err.println("Cannot read command options"); + printHelpAndExit(options, 1); } - /* - * Process a batch of updates to SOLR - */ - private void batchUpdateStats() throws SolrServerException, IOException { - if (docs.size() > 0) { - server.add(docs); - server.commit(true, true); - docs.clear(); - } - + try { + SolrUpgradePre6xStatistics upgradeStats = new SolrUpgradePre6xStatistics(indexName, numrec, batchSize); + upgradeStats.run(); + } catch (SolrServerException e) { + log.error("Error querying stats", e); + } catch (SQLException e) { + log.error("Error querying stats", e); + } catch (IOException e) { + log.error("Error querying stats", e); } - - /** - * Refresh the DSpace Context object in order to periodically release objects from memory - * @throws IOException - * @throws SolrServerException - */ - private void refreshContext() throws SolrServerException, IOException { - if (context != null) { - try { - totalCache += numUncache + context.getCacheSize(); - } catch (SQLException e) { - } - } - this.context = new Context(Context.Mode.READ_ONLY); - lastItem = null; - lastBitstream = null; - numUncache = 0; - } - - /* - * Compute the number of items that were cached by hibernate since the context was cleared. - */ - private long getCacheCounts(boolean fromStart) { - long count = 0; - try { - count = context.getCacheSize(); - } catch (Exception e) { - //no action - } - count += this.numUncache; - if (fromStart) { - count += totalCache; - } - return count; - } - - /** - * Compute the time since the last batch was processed - * @param fromStart if true, report on processing time since the start of the program - * @return the time in ms since the start time - */ - private long logTime(boolean fromStart) { - long ret = 0; - long cur = new Date().getTime(); - if (lastTime == -1) { - startTime = cur; - } else if (fromStart){ - ret = cur - startTime; + } + + /* + * Report on the existence of legacy id records within a shard + */ + private void runReport() throws SolrServerException { + System.out.println(); + System.out.println("================================================================="); + System.out.println("\t*** Statistics Records with Legacy Id ***\n"); + long total = runReportQuery(); + System.out.println("\t--------------------------------------"); + System.out.println(String.format("\t%,12d\t%s", total, "TOTAL")); + System.out.println("================================================================="); + System.out.println(); + } + + /* + * Report on the existence of specific legacy id records within a shard + */ + private long runReportQuery() throws SolrServerException { + StringBuilder sb = new StringBuilder(MIGQUERY); + SolrQuery sQ = new SolrQuery(); + sQ.setQuery(sb.toString()); + sQ.setFacet(true); + sQ.addFacetField("type"); + sQ.addFacetField("scopeType"); + QueryResponse sr = server.query(sQ); + + long total = 0; + long unexpected = 0; + for (FacetField ff : sr.getFacetFields()) { + String s = ff.getName().equals("type") ? "View" : "Search"; + for (FacetField.Count count : ff.getValues()) { + String name = count.getName(); + int id = Integer.parseInt(name); + if (id == Constants.COMMUNITY) { + name = "Community " + s; + } else if (id == Constants.COLLECTION) { + name = "Collection " + s; + } else if (id == Constants.ITEM) { + name = "Item " + s; + } else if (id == Constants.BITSTREAM) { + name = "Bistream " + s; } else { - ret = cur - lastTime; + /* + * In testing, I discovered some unexpected values in the scopeType field. It + * looks like they may have been a result of a CSV import/export error. This + * will group any unexpected values into one report line. + */ + unexpected += count.getCount(); + continue; } - lastTime = cur; - return ret; + System.out.println(String.format("\t%,12d\t%s", count.getCount(), name)); + total += count.getCount(); + } } + if (unexpected > 0) { + System.out.println(String.format("\t%,12d\t%s", unexpected, "Unexpected Type & Full Site")); + total += unexpected; + } + long rem = sr.getResults().getNumFound() - total; + if (rem > 0) { + System.out.println(String.format("\t%,12d\t%s", rem, "Other Records")); + total += rem; + } + return total; + } - /* - * Format ms count as h:mm:ss - * @param dur Duration in ms - * @return duration formatted as h:mm:ss - */ - private String duration(long dur) { - long sec = dur / 1000; - long hh = sec / 3600; - long mm = (sec % 3600) / 60; - long ss = (sec % 60); - return String.format("%d:%02d:%02d", hh,mm,ss); + /* + * Process records with a legacy id. From the command line, the user may specify + * records of a specific type to update Otherwise, the following sequence will + * be applied in order to optimize hibernate caching. + * + * Communities and Collections - retain in the cache since each is likely to be + * re-used Items - retain in the cache until a new item is processed Bitstreams + * - retain in the cache until a new bitstream is processed + */ + private void run() throws SolrServerException, SQLException, IOException { + runReport(); + logTime(false); + for (int processed = updateRecords(MIGQUERY); (processed != 0) + && (numProcessed < numRec); processed = updateRecords(MIGQUERY)) { + printTime(numProcessed, false); + batchUpdateStats(); + if (context.getCacheSize() > CACHE_LIMIT) { + refreshContext(); + } } - - /** - * Print a status message appended with the processing time for the operation - * @param header Message to display - * @param fromStart if true, report on processing time since the start of the program - */ - private void printTime(int numProcessed, boolean fromStart) { - long dur = logTime(fromStart); - long totalDur = logTime(true); - String stotalDur = duration(totalDur); - long cacheSize = 0; + printTime(numProcessed, true); + + if (numProcessed > 0) { + runReport(); + } + } + + /* + * Update records associated with a particular object id + * + * @param query Query to retrieve all of the statistics records associated with + * a particular object + * + * @param field Field to use for grouping records + * + * @return number of items processed. 0 indicates that no more work is available + * (or the max processed has been reached). + */ + private int updateRecords(String query) throws SolrServerException, SQLException, IOException { + int initNumProcessed = numProcessed; + SolrQuery sQ = new SolrQuery(); + sQ.setQuery(query); + sQ.setRows(batchSize); + + // Ensure that items are grouped by id + // Sort by id fails due to presense of id and string fields. The ord function + // seems to help + sQ.addSort("type", SolrQuery.ORDER.desc); + sQ.addSort("scopeType", SolrQuery.ORDER.desc); + sQ.addSort("ord(owningItem)", SolrQuery.ORDER.desc); + sQ.addSort("id", SolrQuery.ORDER.asc); + sQ.addSort("scopeId", SolrQuery.ORDER.asc); + + QueryResponse sr = server.query(sQ); + SolrDocumentList sdl = sr.getResults(); + + for (int i = 0; i < sdl.size() && (numProcessed < numRec); i++) { + SolrDocument sd = sdl.get(i); + SolrInputDocument input = ClientUtils.toSolrInputDocument(sd); + input.remove("_version_"); + for (FIELD col : FIELD.values()) { + mapField(input, col); + } + + docs.add(input); + ++numProcessed; + } + return numProcessed - initNumProcessed; + } + + /* + * Map solr fields from legacy ids to UUIDs. + * + * The id field is interpreted by the type field. The scopeId field is + * interpreted by scopeType field. + * + * Legacy ids will be unchanged if they cannot be mapped + * + * @param input The SOLR statistics document to be updated + * + * @param col The SOLR field to update (if present) + */ + private void mapField(SolrInputDocument input, FIELD col) throws SQLException { + SolrInputField ifield = input.get(col.name()); + if (ifield != null) { + Collection vals = ifield.getValues(); + ArrayList newvals = new ArrayList<>(); + for (Object oval : vals) { try { - cacheSize = context.getCacheSize(); - } catch (SQLException e) { - log.error("Cannot get cache size", e); - } - String label = fromStart ? "TOTAL" : "Processed"; - System.out.println(String.format("%s (%s; %s; %s)", - String.format("\t%,12d %10s...", numProcessed, label), - String.format("%,6d sec; %s", dur/1000, stotalDur), - String.format("DB cache: %,6d/%,8d", cacheSize, getCacheCounts(fromStart)), - String.format("Docs: %,6d", docs.size()) - )); - } - - /* - * Create command line option processor - */ - private static Options makeOptions() { - Options options = new Options(); - options.addOption(HELP_OPTION, "help", false, "Get help on options for this command."); - options.addOption(INDEX_NAME_OPTION, "index-name", true, - "The names of the indexes to process. At least one is required (default=statistics)"); - options.addOption(NUMREC_OPTION, "num-rec", true, "Total number of records to update (defaut=100,000)."); - options.addOption(BATCH_OPTION, "batch-size", true, "Number of records to batch update to SOLR at one time (default=10,000)."); - options.addOption(TYPE_OPTION, "type", true, "(4) Communities, (3) Collections, (2) Items (0) Bitstreams (default=all)"); - return options; - } - - /** - * A utility method to print out all available command-line options and exit given the specified code. - * - * @param options the supported options. - * @param exitCode the exit code to use. The method will call System#exit(int) with the given code. - */ - private static void printHelpAndExit(Options options, int exitCode) - { - HelpFormatter myhelp = new HelpFormatter(); - myhelp.printHelp(SolrUpgradePre6xStatistics.class.getSimpleName() + "\n", options); - System.out.println("\n\nCommand Defaults"); - System.out.println("\tsolr-upgradeD6-statistics [-i statistics] [-n num_recs_to_process] [-b num_rec_to_update_at_once]"); - System.out.println(""); - System.out.println("\tAfter upgrading to DSpace 6, this process should be run iteratively over every statistics shard "); - System.out.println("\t\tuntil there are no remaining records with legacy ids present."); - System.out.println("\t\tThis process can be run while the system is in use."); - System.out.println(""); - System.out.println("\tIt will take 20-30 min to process 1,000,000 legacy records. "); - System.out.println(""); - System.out.println("\tUse the -n option to manage the workload on your server. "); - System.out.println("\t\tTo process all records, set -n to 10000000 or to 100000000 (10M or 100M)"); - System.out.println("\tIf possible, please allocate 2GB of memory to this process (e.g. -Xmx2000m)"); - System.out.println(""); - System.out.println("\tThis process will rewrite most solr statistics records and may temporarily double "); - System.out.println("\t\tthe size of your statistics repositories. Consider optimizing your solr repos when complete."); - - System.exit(exitCode); - } - - /** - * Entry point for command-line invocation - * @param args command-line arguments; see help for description - * @throws ParseException if the command-line arguments cannot be parsed - */ - public static void main(String[] args) throws ParseException - { - CommandLineParser parser = new PosixParser(); - Options options = makeOptions(); - - System.out.println(" * This process should be run iteratively over every statistics shard "); - System.out.println(" * until there are no remaining records with legacy ids present."); - System.out.println(" * This process can be run while the system is in use."); - System.out.println(" * It is likely to take 1 hour/1,000,000 legacy records to be udpated."); - System.out.println(" *"); - System.out.println(" * This process will rewrite most solr statistics records and may temporarily double "); - System.out.println(" *\tthe size of your statistics repositories. Consider optimizing your solr repos when complete."); - System.out.println(" * -------------------------------------------------------------------"); - - String indexName = INDEX_DEFAULT; - int numrec = NUMREC_DEFAULT; - int batchSize = BATCH_DEFAULT; - try - { - CommandLine line = parser.parse(options, args); - if (line.hasOption(HELP_OPTION)) - { - printHelpAndExit(options, 0); + UUID uuid = null; + if (col == FIELD.owner) { + if (oval.toString().length() > 1) { + String owntype = oval.toString().substring(0, 1); + int legacy = Integer.parseInt(oval.toString().substring(1)); + uuid = mapOwner(owntype, legacy); } - - if (line.hasOption(INDEX_NAME_OPTION)) - { - indexName = line.getOptionValue(INDEX_NAME_OPTION, INDEX_DEFAULT); + } else { + int legacy = Integer.parseInt(oval.toString()); + if (col == FIELD.id) { + Object otype = input.getFieldValue("type"); + if (otype != null) { + int type = Integer.parseInt(otype.toString()); + uuid = mapType(type, legacy); + } + } else if (col == FIELD.scopeId) { + Object otype = input.getFieldValue("scopeType"); + if (otype != null) { + int type = Integer.parseInt(otype.toString()); + uuid = mapType(type, legacy); + } + } else { + uuid = mapId(col, legacy); } - else - { - System.err.println("No index name provided, defaulting to : "+ INDEX_DEFAULT); - } - - if (line.hasOption(NUMREC_OPTION)) { - numrec = Integer.parseInt(line.getOptionValue(NUMREC_OPTION,""+NUMREC_DEFAULT)); - } - if (line.hasOption(BATCH_OPTION)) { - batchSize = Integer.parseInt(line.getOptionValue(BATCH_OPTION,""+BATCH_DEFAULT)); - } - - } - catch (ParseException e) - { - System.err.println("Cannot read command options"); - printHelpAndExit(options, 1); - } - - try { - SolrUpgradePre6xStatistics upgradeStats = new SolrUpgradePre6xStatistics(indexName, numrec, batchSize); - upgradeStats.run(); - } catch (SolrServerException e) { - log.error("Error querying stats", e); - } catch (SQLException e) { - log.error("Error querying stats", e); - } catch (IOException e) { - log.error("Error querying stats", e); - } - } - - - /* - * Report on the existence of legacy id records within a shard - */ - private void runReport() throws SolrServerException { - System.out.println(); - System.out.println("================================================================="); - System.out.println("\t*** Statistics Records with Legacy Id ***\n"); - long total = runReportQuery(); - System.out.println("\t--------------------------------------"); - System.out.println(String.format("\t%,12d\t%s", total, "TOTAL")); - System.out.println("================================================================="); - System.out.println(); - } - /* - * Report on the existence of specific legacy id records within a shard - */ - private long runReportQuery() throws SolrServerException { - StringBuilder sb = new StringBuilder(MIGQUERY); - SolrQuery sQ = new SolrQuery(); - sQ.setQuery(sb.toString()); - sQ.setFacet(true); - sQ.addFacetField("type"); - sQ.addFacetField("scopeType"); - QueryResponse sr = server.query(sQ); - - long total = 0; - long unexpected = 0; - for(FacetField ff: sr.getFacetFields()) { - String s = ff.getName().equals("type") ? "View" : "Search"; - for(FacetField.Count count: ff.getValues()) { - String name = count.getName(); - int id = Integer.parseInt(name); - if (id == Constants.COMMUNITY) { - name = "Community " + s; - } else if (id == Constants.COLLECTION) { - name = "Collection " + s; - } else if (id == Constants.ITEM) { - name = "Item " + s; - } else if (id == Constants.BITSTREAM) { - name = "Bistream " + s; - } else { - /* - * In testing, I discovered some unexpected values in the scopeType field. - * It looks like they may have been a result of a CSV import/export error. - * This will group any unexpected values into one report line. - */ - unexpected += count.getCount(); - continue; - } - System.out.println(String.format("\t%,12d\t%s", count.getCount(), name)); - total += count.getCount(); - } - } - if (unexpected > 0) { - System.out.println(String.format("\t%,12d\t%s", unexpected, "Unexpected Type & Full Site")); - total += unexpected; - } - long rem = sr.getResults().getNumFound() - total; - if (rem > 0) { - System.out.println(String.format("\t%,12d\t%s", rem, "Other Records")); - total += rem; - } - return total; - } - - /* - * Process records with a legacy id. - * From the command line, the user may specify records of a specific type to update - * Otherwise, the following sequence will be applied in order to optimize hibernate caching. - * - * Communities and Collections - retain in the cache since each is likely to be re-used - * Items - retain in the cache until a new item is processed - * Bitstreams - retain in the cache until a new bitstream is processed - */ - private void run() throws SolrServerException, SQLException, IOException { - runReport(); - logTime(false); - for(int processed = updateRecords(MIGQUERY); (processed != 0) && (numProcessed < numRec); processed = updateRecords(MIGQUERY)){ - printTime(numProcessed, false); - batchUpdateStats(); - if (context.getCacheSize() > CACHE_LIMIT) { - refreshContext(); } - } - printTime(numProcessed, true); - - if (numProcessed > 0) { - runReport(); + if (uuid != null) { + newvals.add(uuid.toString()); + } else { + newvals.add(oval + "-unmigrated"); + } + } catch (NumberFormatException e) { + log.warn("Non numeric legacy id " + col.name() + ":" + oval.toString()); } + } + if (newvals.size() > 0) { + input.removeField(col.name()); + for (String nv : newvals) { + input.addField(col.name(), nv); + } + } } + } - - - /* - * Update records associated with a particular object id - * @param query Query to retrieve all of the statistics records associated with a particular object - * @param field Field to use for grouping records - * @return number of items processed. 0 indicates that no more work is available (or the max processed has been reached). - */ - private int updateRecords(String query) throws SolrServerException, SQLException, IOException { - int initNumProcessed = numProcessed; - SolrQuery sQ = new SolrQuery(); - sQ.setQuery(query); - sQ.setRows(batchSize); - - //Ensure that items are grouped by id - //Sort by id fails due to presense of id and string fields. The ord function seems to help - sQ.addSort("type", SolrQuery.ORDER.desc); - sQ.addSort("scopeType", SolrQuery.ORDER.desc); - sQ.addSort("ord(owningItem)", SolrQuery.ORDER.desc); - sQ.addSort("id", SolrQuery.ORDER.asc); - sQ.addSort("scopeId", SolrQuery.ORDER.asc); - - QueryResponse sr = server.query(sQ); - SolrDocumentList sdl = sr.getResults(); - - for(int i=0; i vals = ifield.getValues(); - ArrayList newvals = new ArrayList<>(); - for(Object oval: vals) { - try { - UUID uuid = null; - if (col == FIELD.owner) { - if (oval.toString().length() > 1) { - String owntype = oval.toString().substring(0, 1); - int legacy = Integer.parseInt(oval.toString().substring(1)); - uuid = mapOwner(owntype, legacy); - } - } else { - int legacy = Integer.parseInt(oval.toString()); - if (col == FIELD.id) { - Object otype = input.getFieldValue("type"); - if (otype != null) { - int type = Integer.parseInt(otype.toString()); - uuid = mapType(type, legacy); - } - } else if (col == FIELD.scopeId) { - Object otype = input.getFieldValue("scopeType"); - if (otype != null) { - int type = Integer.parseInt(otype.toString()); - uuid = mapType(type, legacy); - } - } else { - uuid = mapId(col, legacy); - } - } - if (uuid != null) { - newvals.add(uuid.toString()); - } else { - newvals.add(oval+"-unmigrated"); - } - } catch (NumberFormatException e) { - log.warn("Non numeric legacy id "+ col.name() +":" + oval.toString()); - } - } - if (newvals.size() > 0) { - input.removeField(col.name()); - for(String nv: newvals) { - input.addField(col.name(), nv); - } - } - } - } - - /* - * Determine if the last processed item should be cleared from the hibernate cache - * @param item Current item being processed - */ - private void checkLastItem(Item item) throws SQLException { - if (item != null) { - if (lastItem == null) { - lastItem = item; - } else if (!lastItem.getID().equals(item.getID())) { - numUncache++; - context.uncacheEntity(lastItem); - lastItem = item; - } - } + /* + * Determine if the last processed item should be cleared from the hibernate + * cache + * + * @param item Current item being processed + */ + private void checkLastItem(Item item) throws SQLException { + if (item != null) { + if (lastItem == null) { + lastItem = item; + } else if (!lastItem.getID().equals(item.getID())) { + numUncache++; + context.uncacheEntity(lastItem); + lastItem = item; + } } + } - /* - * Determine if the last processed bitstream should be cleared from the hibernate cache - * @param bitstream Current bitstream being processed - */ - private void checkLastBitstream(Bitstream bitstream) throws SQLException { - if (bitstream != null) { - if (lastBitstream == null) { - lastBitstream = bitstream; - } else if (!lastBitstream.getID().equals(bitstream.getID())) { - numUncache++; - context.uncacheEntity(lastBitstream); - lastBitstream = bitstream; - } - } + /* + * Determine if the last processed bitstream should be cleared from the + * hibernate cache + * + * @param bitstream Current bitstream being processed + */ + private void checkLastBitstream(Bitstream bitstream) throws SQLException { + if (bitstream != null) { + if (lastBitstream == null) { + lastBitstream = bitstream; + } else if (!lastBitstream.getID().equals(bitstream.getID())) { + numUncache++; + context.uncacheEntity(lastBitstream); + lastBitstream = bitstream; + } } + } - /* - * Retrieve the UUID corresponding to a legacy id found in a SOLR statistics record - * @param col Solr Statistic Field being processed - * @param val Value to lookup as a legacy id - */ - private UUID mapId(FIELD col, int val) throws SQLException { - - if (col == FIELD.owningComm) { - Community comm = communityService.findByLegacyId(context, val); - return comm == null ? null : comm.getID(); - } - if (col == FIELD.owningColl) { - org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); - return coll == null ? null : coll.getID(); - } - if (col == FIELD.owningItem) { - Item item = itemService.findByLegacyId(context, val); - checkLastItem(item); - return item == null ? null : item.getID(); - } - if (col == FIELD.epersonid || col == FIELD.actor || col == FIELD.submitter) { - EPerson per = epersonService.findByLegacyId(context, val); - return per == null ? null : per.getID(); - } - return null; - } + /* + * Retrieve the UUID corresponding to a legacy id found in a SOLR statistics + * record + * + * @param col Solr Statistic Field being processed + * + * @param val Value to lookup as a legacy id + */ + private UUID mapId(FIELD col, int val) throws SQLException { - /* - * Retrieve the UUID corresponding to a legacy id found in a SOLR statistics record - * @param type Identifying type field for id OR scopeType field for scopeId - * @param val Value to lookup as a legacy id - */ - private UUID mapType(int type, int val) throws SQLException { - if (type == Constants.COMMUNITY) { - Community comm = communityService.findByLegacyId(context, val); - return comm == null ? null : comm.getID(); - } - if (type == Constants.COLLECTION) { - org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); - return coll == null ? null : coll.getID(); - } - if (type == Constants.ITEM) { - Item item = itemService.findByLegacyId(context, val); - checkLastItem(item); - return item == null ? null : item.getID(); - } - if (type == Constants.BITSTREAM) { - Bitstream bit = bitstreamService.findByLegacyId(context, val); - UUID uuid = bit == null ? null : bit.getID(); - //A bitstream is unlikely to be processed more than once, to clear immediately - checkLastBitstream(bit); - return uuid; - } - return null; + if (col == FIELD.owningComm) { + Community comm = communityService.findByLegacyId(context, val); + return comm == null ? null : comm.getID(); } + if (col == FIELD.owningColl) { + org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); + return coll == null ? null : coll.getID(); + } + if (col == FIELD.owningItem) { + Item item = itemService.findByLegacyId(context, val); + checkLastItem(item); + return item == null ? null : item.getID(); + } + if (col == FIELD.epersonid || col == FIELD.actor || col == FIELD.submitter) { + EPerson per = epersonService.findByLegacyId(context, val); + return per == null ? null : per.getID(); + } + return null; + } - /* - * Retrieve the UUID corresponding to a legacy owner found in a SOLR statistics record - * Legacy owner fields are prefixed in solr with "e" or "g" - * @param owntype Identifying type field (e - eperson, g - group) - * @param val Value to lookup as a legacy id - */ - private UUID mapOwner(String owntype, int val) throws SQLException { - if (owntype.equals("e")) { - EPerson per = epersonService.findByLegacyId(context, val); - return per == null ? null : per.getID(); - } else if (owntype.equals("g")) { - Group perg = groupService.findByLegacyId(context, val); - return perg == null ? null : perg.getID(); - } - return null; + /* + * Retrieve the UUID corresponding to a legacy id found in a SOLR statistics + * record + * + * @param type Identifying type field for id OR scopeType field for scopeId + * + * @param val Value to lookup as a legacy id + */ + private UUID mapType(int type, int val) throws SQLException { + if (type == Constants.COMMUNITY) { + Community comm = communityService.findByLegacyId(context, val); + return comm == null ? null : comm.getID(); } + if (type == Constants.COLLECTION) { + org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); + return coll == null ? null : coll.getID(); + } + if (type == Constants.ITEM) { + Item item = itemService.findByLegacyId(context, val); + checkLastItem(item); + return item == null ? null : item.getID(); + } + if (type == Constants.BITSTREAM) { + Bitstream bit = bitstreamService.findByLegacyId(context, val); + UUID uuid = bit == null ? null : bit.getID(); + // A bitstream is unlikely to be processed more than once, to clear immediately + checkLastBitstream(bit); + return uuid; + } + return null; + } + + /* + * Retrieve the UUID corresponding to a legacy owner found in a SOLR statistics + * record Legacy owner fields are prefixed in solr with "e" or "g" + * + * @param owntype Identifying type field (e - eperson, g - group) + * + * @param val Value to lookup as a legacy id + */ + private UUID mapOwner(String owntype, int val) throws SQLException { + if (owntype.equals("e")) { + EPerson per = epersonService.findByLegacyId(context, val); + return per == null ? null : per.getID(); + } else if (owntype.equals("g")) { + Group perg = groupService.findByLegacyId(context, val); + return perg == null ? null : perg.getID(); + } + return null; + } } \ No newline at end of file From defa4671d81501f92c4be5a4b4e0bbf238fd9b65 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Thu, 1 Nov 2018 10:39:40 -0700 Subject: [PATCH 040/118] more checkstyle fix --- .../org/dspace/util/SolrUpgradePre6xStatistics.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 2ab84f95a1..41f5a626dd 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -137,10 +137,11 @@ public class SolrUpgradePre6xStatistics { * Construct the utility class from the command line options * @param indexName name of the statistics shard to update * @param numRec maximum number of records to process - * @throws IOException - * @throws SolrServerException + * @throws IOException + * @throws SolrServerException */ - public SolrUpgradePre6xStatistics(String indexName, int numRec, int batchSize) throws SolrServerException, IOException { + public SolrUpgradePre6xStatistics(String indexName, int numRec, int batchSize) + throws SolrServerException, IOException { String serverPath = configurationService.getProperty("solr-statistics.server"); serverPath = serverPath.replaceAll("statistics$", indexName); System.out.println("Connecting to " + serverPath); @@ -164,14 +165,15 @@ public class SolrUpgradePre6xStatistics { /** * Refresh the DSpace Context object in order to periodically release objects from memory - * @throws IOException - * @throws SolrServerException + * @throws IOException + * @throws SolrServerException */ private void refreshContext() throws SolrServerException, IOException { if (context != null) { try { totalCache += numUncache + context.getCacheSize(); } catch (SQLException e) { + log.warn(e.getMessage()); } } this.context = new Context(Context.Mode.READ_ONLY); From 91f779aa8c350b2e136faf73767c8647575a1def Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Thu, 1 Nov 2018 17:34:30 -0700 Subject: [PATCH 041/118] handle shard corrupt multivals --- .../util/SolrUpgradePre6xStatistics.java | 70 +++++++++++-------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 41f5a626dd..9f0a8a1c50 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -526,40 +526,50 @@ public class SolrUpgradePre6xStatistics { if (ifield != null) { Collection vals = ifield.getValues(); ArrayList newvals = new ArrayList<>(); - for (Object oval : vals) { - try { - UUID uuid = null; - if (col == FIELD.owner) { - if (oval.toString().length() > 1) { - String owntype = oval.toString().substring(0, 1); - int legacy = Integer.parseInt(oval.toString().substring(1)); - uuid = mapOwner(owntype, legacy); - } - } else { - int legacy = Integer.parseInt(oval.toString()); - if (col == FIELD.id) { - Object otype = input.getFieldValue("type"); - if (otype != null) { - int type = Integer.parseInt(otype.toString()); - uuid = mapType(type, legacy); - } - } else if (col == FIELD.scopeId) { - Object otype = input.getFieldValue("scopeType"); - if (otype != null) { - int type = Integer.parseInt(otype.toString()); - uuid = mapType(type, legacy); + for (Object ovalx : vals) { + //DS-3436 documented an issue in which multi-values in shards were converted to a comma separated string + //It also produced strings containing "\" at the end of a value + for (String oval: ovalx.toString().split(",")) { + oval = oval.replace("\\",""); + try { + UUID uuid = null; + if (col == FIELD.owner) { + if (oval.length() > 1) { + String owntype = oval.substring(0, 1); + int legacy = Integer.parseInt(oval.substring(1)); + uuid = mapOwner(owntype, legacy); } } else { - uuid = mapId(col, legacy); + int legacy = Integer.parseInt(oval); + if (col == FIELD.id) { + Object otype = input.getFieldValue("type"); + if (otype != null) { + int type = Integer.parseInt(otype.toString()); + uuid = mapType(type, legacy); + } + } else if (col == FIELD.scopeId) { + Object otype = input.getFieldValue("scopeType"); + if (otype != null) { + int type = Integer.parseInt(otype.toString()); + uuid = mapType(type, legacy); + } + } else { + uuid = mapId(col, legacy); + } } + if (uuid != null) { + if (!newvals.contains(uuid.toString())) { + newvals.add(uuid.toString()); + } + } else { + String s = oval + "-unmigrated"; + if (!newvals.contains(s)) { + newvals.add(s); + } + } + } catch (NumberFormatException e) { + log.warn("Non numeric legacy id " + col.name() + ":" + oval); } - if (uuid != null) { - newvals.add(uuid.toString()); - } else { - newvals.add(oval + "-unmigrated"); - } - } catch (NumberFormatException e) { - log.warn("Non numeric legacy id " + col.name() + ":" + oval.toString()); } } if (newvals.size() > 0) { From 68dca061b0bd1ad5c87428a99d87b3b281c25dfb Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Wed, 7 Nov 2018 15:20:36 -0800 Subject: [PATCH 042/118] correct usage --- .../main/java/org/dspace/util/SolrUpgradePre6xStatistics.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 9f0a8a1c50..aa3cba4618 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -272,8 +272,6 @@ public class SolrUpgradePre6xStatistics { options.addOption(NUMREC_OPTION, "num-rec", true, "Total number of records to update (defaut=100,000)."); options.addOption(BATCH_OPTION, "batch-size", true, "Number of records to batch update to SOLR at one time (default=10,000)."); - options.addOption(TYPE_OPTION, "type", true, - "(4) Communities, (3) Collections, (2) Items (0) Bitstreams (default=all)"); return options; } @@ -292,7 +290,7 @@ public class SolrUpgradePre6xStatistics { myhelp.printHelp(SolrUpgradePre6xStatistics.class.getSimpleName() + "\n", options); System.out.println("\n\nCommand Defaults"); System.out.println( - "\tsolr-upgradeD6-statistics [-i statistics] [-n num_recs_to_process] [-b num_rec_to_update_at_once]"); + "\tsolr-upgrade-statistics-6x [-i statistics] [-n num_recs_to_process] [-b num_rec_to_update_at_once]"); System.out.println(""); System.out.println( "\tAfter upgrading to DSpace 6, this process should be run iteratively over every statistics shard "); From cb913fd24f0c375cc49d13615bb24e9636af7874 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 12 Oct 2018 14:47:59 -0500 Subject: [PATCH 043/118] Initial upgrade of dspace-services to Commons Config v2 --- dspace-api/pom.xml | 4 +- dspace-services/pom.xml | 4 +- .../DSpaceConfigurationFactoryBean.java | 19 ++- .../config/DSpaceConfigurationService.java | 149 +++++++++++------- .../dspace/services/ConfigurationService.java | 2 +- pom.xml | 10 +- 6 files changed, 114 insertions(+), 74 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 3597126c94..9ce448aef4 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -571,8 +571,8 @@ - commons-configuration - commons-configuration + org.apache.commons + commons-configuration2 com.maxmind.geoip2 diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index a2c99e39bc..51d1f8b943 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -159,8 +159,8 @@ commons-collections4 - commons-configuration - commons-configuration + org.apache.commons + commons-configuration2 diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java index bbb57932fd..a55185b62f 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java @@ -28,10 +28,12 @@ package org.dspace.servicemanager.config; import java.net.URL; -import org.apache.commons.configuration.CompositeConfiguration; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationConverter; -import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.configuration2.CompositeConfiguration; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ConfigurationConverter; +import org.apache.commons.configuration2.PropertiesConfiguration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Parameters; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; @@ -129,8 +131,11 @@ public class DSpaceConfigurationFactoryBean implements InitializingBean, Factory if (locations != null) { for (int i = 0; i < locations.length; i++) { URL url = locations[i].getURL(); - Configuration props = new PropertiesConfiguration(url); - configuration.addConfiguration(props); + Parameters params = new Parameters(); + FileBasedConfigurationBuilder builder = + new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class) + .configure(params.fileBased().setURL(url)); + configuration.addConfiguration(builder.getConfiguration()); } } } @@ -177,7 +182,7 @@ public class DSpaceConfigurationFactoryBean implements InitializingBean, Factory /** * Set the underlying Commons CompositeConfiguration throwExceptionOnMissing * flag. - * @see org.apache.commons.configuration.AbstractConfiguration + * @see org.apache.commons.configuration2.AbstractConfiguration * @param throwExceptionOnMissing whether to throw an exception if a config is missing */ public void setThrowExceptionOnMissing(boolean throwExceptionOnMissing) { diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationService.java b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationService.java index 83238a9667..a6ef647ca2 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationService.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationService.java @@ -22,10 +22,14 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Properties; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationConverter; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.DefaultConfigurationBuilder; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ConfigurationConverter; +import org.apache.commons.configuration2.builder.ConfigurationBuilderEvent; +import org.apache.commons.configuration2.builder.combined.ReloadingCombinedConfigurationBuilder; +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.dspace.services.ConfigurationService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,15 +64,19 @@ public final class DSpaceConfigurationService implements ConfigurationService { // The DSpace Server ID configuration public static final String DSPACE_SERVER_ID = "serverId"; - // Current ConfigurationBuilder - private DefaultConfigurationBuilder configurationBuilder = null; + // Configuration list delimiter. Configurations with this character will be split into arrays + public static final char CONFIG_LIST_DELIMITER = ','; - // Current Configuration - private Configuration configuration = null; + // Current ConfigurationBuilder + // NOTE: we only cache the "builder", as it controls when a configuration is automatically reloaded + private ReloadingCombinedConfigurationBuilder configurationBuilder = null; // Current Home directory private String homePath = null; + // Current Configuration Definition File + private String configDefinition = null; + /** * Initializes a ConfigurationService based on default values. The DSpace * Home directory is determined based on system properties / searching. @@ -98,7 +106,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { @Override public Properties getProperties() { // Return our configuration as a set of Properties - return ConfigurationConverter.getProperties(configuration); + return ConfigurationConverter.getProperties(getConfiguration()); } /** @@ -109,7 +117,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { @Override public List getPropertyKeys() { - Iterator keys = configuration.getKeys(); + Iterator keys = getConfiguration().getKeys(); List keyList = new ArrayList<>(); while (keys.hasNext()) { @@ -126,7 +134,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { @Override public List getPropertyKeys(String prefix) { - Iterator keys = configuration.getKeys(prefix); + Iterator keys = getConfiguration().getKeys(prefix); List keyList = new ArrayList<>(); while (keys.hasNext()) { @@ -142,7 +150,13 @@ public final class DSpaceConfigurationService implements ConfigurationService { */ @Override public Configuration getConfiguration() { - return configuration; + try { + return this.configurationBuilder.getConfiguration(); + } catch (ConfigurationException ce) { + 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); + } } /** @@ -153,7 +167,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { */ @Override public Object getPropertyValue(String name) { - return configuration.getProperty(name); + return getConfiguration().getProperty(name); } /** @@ -175,7 +189,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { */ @Override public String getProperty(String name, String defaultValue) { - return (String) getPropertyAsType(name, defaultValue); + return getPropertyAsType(name, defaultValue); } /** @@ -325,7 +339,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { */ @Override public boolean hasProperty(String name) { - if (configuration.containsKey(name)) { + if (getConfiguration().containsKey(name)) { return true; } else { return false; @@ -346,15 +360,15 @@ public final class DSpaceConfigurationService implements ConfigurationService { if (name == null) { throw new IllegalArgumentException("name cannot be null for setting configuration"); } else { - Object oldValue = configuration.getProperty(name); + Object oldValue = getConfiguration().getProperty(name); if (value == null && oldValue != null) { changed = true; - configuration.clearProperty(name); + getConfiguration().clearProperty(name); log.info("Cleared the configuration setting for name (" + name + ")"); } else if (value != null && !value.equals(oldValue)) { changed = true; - configuration.setProperty(name, value); + getConfiguration().setProperty(name, value); } } return changed; @@ -409,14 +423,14 @@ public final class DSpaceConfigurationService implements ConfigurationService { } // Check if the value has changed - if (this.configuration.containsKey(key) && - this.configuration.getProperty(key).equals(value)) { + if (getConfiguration().containsKey(key) && + getConfiguration().getProperty(key).equals(value)) { // no change to the value return false; } else { // Either this config doesn't exist, or it is not the same value, // so we'll update it. - this.configuration.setProperty(key, value); + getConfiguration().setProperty(key, value); return true; } } @@ -425,7 +439,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { * Clears all the configuration settings. */ public void clear() { - this.configuration.clear(); + getConfiguration().clear(); log.info("Cleared all configuration settings"); } @@ -435,7 +449,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { * @param key key of the configuration */ public void clearConfig(String key) { - this.configuration.clearProperty(key); + getConfiguration().clearProperty(key); } // loading from files code @@ -451,35 +465,50 @@ public final class DSpaceConfigurationService implements ConfigurationService { */ private void loadInitialConfig(String providedHome) { // Determine the DSpace home directory - homePath = getDSpaceHome(providedHome); + this.homePath = getDSpaceHome(providedHome); // Based on homePath get full path to the configuration definition - String configDefinition = homePath + File.separatorChar + DSPACE_CONFIG_DEFINITION_PATH; + String configDefinition = this.homePath + File.separatorChar + DSPACE_CONFIG_DEFINITION_PATH; // Check if our configuration definition exists in the homePath - File configDefFile = new File(configDefinition); + File configDefFile = new File(this.configDefinition); if (!configDefFile.exists()) { try { //If it doesn't exist, check for a configuration definition on Classpath // (NOTE: This is mostly for Unit Testing to find the test config-definition.xml) ClassPathResource resource = new ClassPathResource(DSPACE_CONFIG_DEFINITION_PATH); - configDefinition = resource.getFile().getAbsolutePath(); + this.configDefinition = resource.getFile().getAbsolutePath(); } catch (IOException ioe) { log.error("Error attempting to load configuration definition from classpath", ioe); } } try { + Parameters params = new Parameters(); + // Treat comma as a config list delimiter (when not escaped by \,) + DefaultListDelimiterHandler listDelimiterHandler = new DefaultListDelimiterHandler(CONFIG_LIST_DELIMITER); // Load our configuration definition, which in turn loads all our config files/settings - // See: http://commons.apache.org/proper/commons-configuration/userguide_v1.10/howto_configurationbuilder - // .html - configurationBuilder = new DefaultConfigurationBuilder(configDefinition); + // See: http://commons.apache.org/proper/commons-configuration/userguide/howto_combinedbuilder.html + this.configurationBuilder = new ReloadingCombinedConfigurationBuilder() + .configure(params.fileBased() + .setFile(new File(configDefinition)) + .setListDelimiterHandler(listDelimiterHandler)); - // Actually parser our configuration definition & return the resulting Configuration - configuration = configurationBuilder.getConfiguration(); + // Parse our configuration definition and initialize resulting Configuration + this.configurationBuilder.getConfiguration(); + + // Register an event listener for triggering automatic reloading checks + // See: https://commons.apache.org/proper/commons-configuration/userguide/howto_reloading.html#Reloading_Checks_on_Builder_Access + // NOTE: This MUST be added *after* the first call to getConfiguration(), as getReloadingController() is + // not initialized until the configuration is first parsed/read. + this.configurationBuilder.addEventListener(ConfigurationBuilderEvent.CONFIGURATION_REQUEST, + // Lamba which checks reloadable configurations for any updates. + // Auto-reloadable configs are ONLY those flagged config-reload="true" in the configuration definition + (Event e) -> this.configurationBuilder.getReloadingController() + .checkForReloading(null)); } catch (ConfigurationException ce) { - log.error("Unable to load configurations based on definition at " + configDefinition); - System.err.println("Unable to load configurations based on definition at " + 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); } @@ -490,22 +519,25 @@ public final class DSpaceConfigurationService implements ConfigurationService { } /** - * Reload the configuration from the DSpace configuration files. + * Reload all configurations from the DSpace configuration definition. *

- * Uses the initialized ConfigurationBuilder to reload all configurations. + * This method invalidates the current Configuration object, and uses + * the initialized ConfigurationBuilder to reload all configurations. */ @Override public synchronized void reloadConfig() { try { - configurationBuilder.reload(); - this.configuration = configurationBuilder.getConfiguration(); + // As this is a forced reload, completely invalidate the configuration + // This ensures all configs, including System properties and Environment variables are reloaded + this.configurationBuilder.getConfiguration().invalidate(); + + // Reload/reinitialize our configuration + this.configurationBuilder.getConfiguration(); // Finally, (re)set any dynamic, default properties setDynamicProperties(); } catch (ConfigurationException ce) { - log.error("Unable to reload configurations based on definition at " + - configurationBuilder.getFile().getAbsolutePath(), - ce); + log.error("Unable to reload configurations based on definition at " + this.configDefinition, ce); } log.info("Reloaded configuration service: " + toString()); } @@ -516,7 +548,7 @@ public final class DSpaceConfigurationService implements ConfigurationService { */ private void setDynamicProperties() { // Ensure our DSPACE_HOME property is set to the determined homePath - setProperty(DSPACE_HOME, homePath); + setProperty(DSPACE_HOME, this.homePath); try { // Attempt to set a default "serverId" property to value of hostname @@ -534,8 +566,8 @@ public final class DSpaceConfigurationService implements ConfigurationService { int size = props != null ? props.size() : 0; // Return the configuration directory and number of configs loaded - return "ConfigDir=" + configuration - .getString(DSPACE_HOME) + File.separatorChar + DEFAULT_CONFIG_DIR + ", Size=" + size; + return "ConfigDir=" + getConfiguration().getString(DSPACE_HOME) + File.separatorChar + + DEFAULT_CONFIG_DIR + ", Size=" + size; } /** @@ -652,10 +684,11 @@ public final class DSpaceConfigurationService implements ConfigurationService { * @param object type * @return converted value */ + @SuppressWarnings("unchecked") private T convert(String name, Class type) { // If this key doesn't exist, just return null - if (!configuration.containsKey(name)) { + if (!getConfiguration().containsKey(name)) { // Special case. For booleans, return false if key doesn't exist if (Boolean.class.equals(type) || boolean.class.equals(type)) { return (T) Boolean.FALSE; @@ -667,33 +700,33 @@ public final class DSpaceConfigurationService implements ConfigurationService { // Based on the type of class, call the appropriate // method of the Configuration object if (type.isArray()) { - return (T) configuration.getStringArray(name); + return (T) getConfiguration().getStringArray(name); } else if (String.class.equals(type) || type.isAssignableFrom(String.class)) { - return (T) configuration.getString(name); + return (T) getConfiguration().getString(name); } else if (BigDecimal.class.equals(type)) { - return (T) configuration.getBigDecimal(name); + return (T) getConfiguration().getBigDecimal(name); } else if (BigInteger.class.equals(type)) { - return (T) configuration.getBigInteger(name); + return (T) getConfiguration().getBigInteger(name); } else if (Boolean.class.equals(type) || boolean.class.equals(type)) { - return (T) Boolean.valueOf(configuration.getBoolean(name)); + return (T) Boolean.valueOf(getConfiguration().getBoolean(name)); } else if (Byte.class.equals(type) || byte.class.equals(type)) { - return (T) Byte.valueOf(configuration.getByte(name)); + return (T) Byte.valueOf(getConfiguration().getByte(name)); } else if (Double.class.equals(type) || double.class.equals(type)) { - return (T) Double.valueOf(configuration.getDouble(name)); + return (T) Double.valueOf(getConfiguration().getDouble(name)); } else if (Float.class.equals(type) || float.class.equals(type)) { - return (T) Float.valueOf(configuration.getFloat(name)); + return (T) Float.valueOf(getConfiguration().getFloat(name)); } else if (Integer.class.equals(type) || int.class.equals(type)) { - return (T) Integer.valueOf(configuration.getInt(name)); + return (T) Integer.valueOf(getConfiguration().getInt(name)); } else if (List.class.equals(type)) { - return (T) configuration.getList(name); + return (T) getConfiguration().getList(name); } else if (Long.class.equals(type) || long.class.equals(type)) { - return (T) Long.valueOf(configuration.getLong(name)); + return (T) Long.valueOf(getConfiguration().getLong(name)); } else if (Short.class.equals(type) || short.class.equals(type)) { - return (T) Short.valueOf(configuration.getShort(name)); + return (T) Short.valueOf(getConfiguration().getShort(name)); } else { // If none of the above works, try to convert the value to the required type SimpleTypeConverter converter = new SimpleTypeConverter(); - return (T) converter.convertIfNecessary(configuration.getProperty(name), type); + return (T) converter.convertIfNecessary(getConfiguration().getProperty(name), type); } } } diff --git a/dspace-services/src/main/java/org/dspace/services/ConfigurationService.java b/dspace-services/src/main/java/org/dspace/services/ConfigurationService.java index 4beb2a9f35..050e4c089c 100644 --- a/dspace-services/src/main/java/org/dspace/services/ConfigurationService.java +++ b/dspace-services/src/main/java/org/dspace/services/ConfigurationService.java @@ -10,7 +10,7 @@ package org.dspace.services; import java.util.List; import java.util.Properties; -import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration2.Configuration; /** diff --git a/pom.xml b/pom.xml index 1bdfe1dcae..fe1a49a7dc 100644 --- a/pom.xml +++ b/pom.xml @@ -150,6 +150,8 @@ true + + false - - - - + + - + - - + + - \ No newline at end of file + diff --git a/dspace-services/src/test/resources/config/included.properties b/dspace-services/src/test/resources/config/included.properties new file mode 100644 index 0000000000..fcdc3a1efc --- /dev/null +++ b/dspace-services/src/test/resources/config/included.properties @@ -0,0 +1,3 @@ +# This is used by Unit Tests to ensure included properties files works +# See DSpaceConfigurationServiceTest.testGetPropertiesFromFile() +prop.from.included.file = works diff --git a/dspace-services/src/test/resources/config/local.properties b/dspace-services/src/test/resources/config/local.properties index 88cc11cb27..92cb538046 100644 --- a/dspace-services/src/test/resources/config/local.properties +++ b/dspace-services/src/test/resources/config/local.properties @@ -2,6 +2,7 @@ # set the service manager into a testing mode service.manager.developing = true + # a list of all extra spring configs we want the service manager to load on start service.manager.spring.configs=spring/spring-test-services.xml,spring/spring-test-beans.xml @@ -10,5 +11,21 @@ service.manager.spring.configs=spring/spring-test-services.xml,spring/spring-tes testDynamicBean.property = WeLoveDSpace # This is a setting with leading/trailing spaces. Used in Unit Tests to ensure values are trimmed +#See DSpaceConfigurationServiceTest.testGetPropertiesFromFile() prop.needing.trimmed = test +# This setting is used in Unit Tests to ensure multi-line arrays are supported +# See DSpaceConfigurationServiceTest.testGetArray() +prop.multiline.array = line1 +prop.multiline.array = line2 +prop.multiline.array = line3 + +# This setting is used in Unit Tests to ensure "include =" works to include other config files +# See: https://commons.apache.org/proper/commons-configuration/userguide/howto_properties.html +# See DSpaceConfigurationServiceTest.testGetPropertiesFromFile() +include = included.properties + +# This setting is used by Unit Tests to check for automatic reloading +# (We purposefully misspell DSpace and correct it in tests) +# See DSpaceConfigurationServiceTest.testAutomaticReload() +prop.to.auto.reload = D-space From 673d4b9d360d48ef1a87d8bf252124b23a8e209c Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 15 Oct 2018 16:50:13 -0500 Subject: [PATCH 045/118] Replace DSpaceConfigurationFactoryBean with ConfigurationPropertiesFactoryBean --- .../DSpaceConfigurationFactoryBean.java | 202 ------------------ .../spring/spring-dspace-core-services.xml | 27 ++- .../config/DSpaceConfigurationBeanTest.java | 105 +++++++++ .../DSpaceConfigurationFactoryBeanTest.java | 57 ----- .../resources/spring/spring-test-beans.xml | 8 +- 5 files changed, 132 insertions(+), 267 deletions(-) delete mode 100644 dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java create mode 100644 dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java delete mode 100644 dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBeanTest.java diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java deleted file mode 100644 index a55185b62f..0000000000 --- a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBean.java +++ /dev/null @@ -1,202 +0,0 @@ -/** - * 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/ - */ - -/** - * This based heavily on the CommonsConfigurationFactoryBean available in - * 'spring-modules-jakarta-commons' version 0.8: - * https://java.net/projects/springmodules/sources/svn/content/tags/release-0_8/projects/commons/src/java/org - * /springmodules/commons/configuration/CommonsConfigurationFactoryBean.java?rev=2110 - *

- * As this module is no longer maintained by Spring, it is now recommended to - * maintain it within your own codebase, so that minor updates can be made to - * support new versions of Apache Commons Configuration (as needed). See this - * Spring ticket: https://jira.spring.io/browse/SPR-10213 - *

- * For DSpace, we've specifically updated this bean to automatically load all - * configurations from the DSpaceConfigurationService (which uses Commons - * Configuration internally). See constructor below. - *

- * This bean is loaded in 'spring-dspace-core-services.xml' where it is wired - * up to PropertyPlaceholderConfigurer. - */ -package org.dspace.servicemanager.config; - -import java.net.URL; - -import org.apache.commons.configuration2.CompositeConfiguration; -import org.apache.commons.configuration2.Configuration; -import org.apache.commons.configuration2.ConfigurationConverter; -import org.apache.commons.configuration2.PropertiesConfiguration; -import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; -import org.apache.commons.configuration2.builder.fluent.Parameters; -import org.dspace.services.ConfigurationService; -import org.springframework.beans.factory.FactoryBean; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.core.io.Resource; -import org.springframework.util.Assert; - -/** - * FactoryBean which wraps a Commons CompositeConfiguration object for usage - * with PropertiesLoaderSupport. This allows the configuration object to behave - * like a normal java.util.Properties object which can be passed on to - * setProperties() method allowing PropertyOverrideConfigurer and - * PropertyPlaceholderConfigurer to take advantage of Commons Configuration.
- * Internally a CompositeConfiguration object is used for merging multiple - * Configuration objects. - * - * @see java.util.Properties - * @see org.springframework.core.io.support.PropertiesLoaderSupport - * - * @author Costin Leau - * - */ -public class DSpaceConfigurationFactoryBean implements InitializingBean, FactoryBean { - - private CompositeConfiguration configuration; - - private Configuration[] configurations; - - private Resource[] locations; - - private boolean throwExceptionOnMissing = true; - - /** - * Initialize all properties via the passed in DSpace ConfigurationService - * @param configurationService current DSpace configuration service - */ - public DSpaceConfigurationFactoryBean(ConfigurationService configurationService) { - Assert.notNull(configurationService.getConfiguration()); - this.configuration = new CompositeConfiguration(configurationService.getConfiguration()); - } - - /** - * Initialize all properties via the passed in Commons Configuration - * @param configuration Commons configuration - */ - public DSpaceConfigurationFactoryBean(Configuration configuration) { - Assert.notNull(configuration); - this.configuration = new CompositeConfiguration(configuration); - } - - /** - * @see org.springframework.beans.factory.FactoryBean#getObject() - */ - @Override - public Object getObject() throws Exception { - return (configuration != null) ? ConfigurationConverter.getProperties(configuration) : null; - } - - /** - * @see org.springframework.beans.factory.FactoryBean#getObjectType() - */ - @Override - public Class getObjectType() { - return java.util.Properties.class; - } - - /** - * @see org.springframework.beans.factory.FactoryBean#isSingleton() - */ - @Override - public boolean isSingleton() { - return true; - } - - /** - * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() - */ - public void afterPropertiesSet() throws Exception { - if (configuration == null && (configurations == null || configurations.length == 0) - && (locations == null || locations.length == 0)) { - throw new IllegalArgumentException("no configuration object or location specified"); - } - - if (configuration == null) { - configuration = new CompositeConfiguration(); - } - - configuration.setThrowExceptionOnMissing(throwExceptionOnMissing); - - if (configurations != null) { - for (int i = 0; i < configurations.length; i++) { - configuration.addConfiguration(configurations[i]); - } - } - - if (locations != null) { - for (int i = 0; i < locations.length; i++) { - URL url = locations[i].getURL(); - Parameters params = new Parameters(); - FileBasedConfigurationBuilder builder = - new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class) - .configure(params.fileBased().setURL(url)); - configuration.addConfiguration(builder.getConfiguration()); - } - } - } - - /** - * @return Returns the configurations. - */ - public Configuration[] getConfigurations() { - return configurations; - } - - /** - * Set the commons configurations objects which will be used as properties. - * - * @param configurations array of Commons Configuration objects - */ - public void setConfigurations(Configuration[] configurations) { - this.configurations = configurations; - } - - public Resource[] getLocations() { - return locations; - } - - /** - * Shortcut for loading configuration from Spring resources. It will - * internally create a PropertiesConfiguration object based on the URL - * retrieved from the given Resources. - * - * @param locations array of resource locations - */ - public void setLocations(Resource[] locations) { - this.locations = locations; - } - - /** - * Return whether to throw an exception if a configuration is missing. - * @return true if exception should be throw, false otherwise. - */ - public boolean isThrowExceptionOnMissing() { - return throwExceptionOnMissing; - } - - /** - * Set the underlying Commons CompositeConfiguration throwExceptionOnMissing - * flag. - * @see org.apache.commons.configuration2.AbstractConfiguration - * @param throwExceptionOnMissing whether to throw an exception if a config is missing - */ - public void setThrowExceptionOnMissing(boolean throwExceptionOnMissing) { - this.throwExceptionOnMissing = throwExceptionOnMissing; - } - - /** - * Getter for the underlying CompositeConfiguration object. - * - * @return CompositeConfiguration object - */ - public CompositeConfiguration getConfiguration() { - return configuration; - } - -} - diff --git a/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml b/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml index e2837bb14f..3c80713ce5 100644 --- a/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml +++ b/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml @@ -20,14 +20,35 @@ like ${dspace.dir} within our Spring bean XML configuration files. These property values are then dynamically loaded via our DSpaceConfigurationService. --> - - + --> - + + + + + + + + + + + + + + + + + diff --git a/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java b/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java new file mode 100644 index 0000000000..d3303be04b --- /dev/null +++ b/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java @@ -0,0 +1,105 @@ +/** + * 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/ + */ +package org.dspace.servicemanager.config; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.File; + +import org.dspace.services.ConfigurationService; +import org.dspace.test.DSpaceAbstractKernelTest; +import org.junit.Before; +import org.junit.Test; + +/** + * Testing the org.apache.commons.configuration2.spring.ConfigurationPropertiesFactoryBean to ensure it performs + * property substitution in Spring XML configs (e.g. replacing ${dspace.dir} with the value from dspace.cfg) + *

+ * NOTE: This uses a TestDynamicPropertyBean bean defined in spring-test-beans.xml for all tests. It also depends + * on the org.springframework.beans.factory.config.PropertyPlaceholderConfigurer defined in + * spring-dspace-core-services.xml + * + * @author Tim Donohue + */ +public class DSpaceConfigurationBeanTest + extends DSpaceAbstractKernelTest { + + // Path to our main test config file (local.properties) + private String propertyFilePath; + + @Before + public void init() { + // Save the path to our main test configuration file + propertyFilePath = new DSpaceConfigurationService().getDSpaceHome(null) + File.separatorChar + + DSpaceConfigurationService.DEFAULT_CONFIG_DIR + File.separatorChar + "local.properties"; + } + + /** + * Test that property substitution is working properly in Spring XML configs. + * Properties in those configs (e.g. ${key}) should be dynamically replaced + * with the corresponding value from our ConfigurationService + */ + @Test + public void testGetBeanSettingFromConfigurationService() { + + // Load configs from files + ConfigurationService cfg = getKernel().getConfigurationService(); + assertNotNull("ConfigurationService returned null", cfg); + assertNotNull("test config returned null", cfg.getProperty("testDynamicBean.property")); + + //Load example service which is configured using a dynamic property (which is specified in a config file) + // See spring-test-beans.xml + TestDynamicPropertyBean bean = getKernel().getServiceManager().getServiceByName("dynamicPropertyBean", + TestDynamicPropertyBean.class); + + assertNotNull("Bean returned null", bean); + assertNotNull("Bean.name() returned null", bean.getProperty()); + + // The name of the ServiceExample bean should be the SAME as the value of "serviceExample.bean.name" in + // configuration, as the spring-test-beans.xml uses ${serviceExample.bean.name} to set the name + assertEquals("Bean.name() does not match configuration", cfg.getProperty("testDynamicBean.property"), + bean.getProperty()); + } + + /** + * Test that automatic reloading of configuration via bean settings also works. + * + * @TODO: This test does not actually work yet, because Commons Configuration v2 doesn't yet have a + * org.apache.commons.configuration2.spring.ConfigurationPropertiesFactoryBean that supports reloading properties. + */ + /*@Test + public void testReloadBeanSettingFromConfigurationService() throws ConfigurationException, InterruptedException { + //Load example service which is configured using a dynamic property (which is specified in a config file) + // See spring-test-beans.xml + TestDynamicPropertyBean bean = getKernel().getServiceManager().getServiceByName("dynamicPropertyBean", + TestDynamicPropertyBean.class); + assertNotNull("WeLoveDSpace", bean.getProperty()); + + // Change the value of that Property in the file itself (using a separate builder instance) + FileBasedConfigurationBuilder builder = new Configurations() + .propertiesBuilder(propertyFilePath); + PropertiesConfiguration config = builder.getConfiguration(); + // Clear out current value. Add in a new value + config.clearProperty("testDynamicBean.property"); + config.addProperty("testDynamicBean.property", "NewValue"); + // Save updates to file + builder.save(); + + // Check immediately. Property should be unchanged + // NOTE: If this fails, then somehow the configuration reloaded *immediately* + assertEquals("WeLoveDSpace", bean.getProperty()); + + // Wait now for 3 seconds + Thread.sleep(3_000); + + // Check again. Property should have reloaded + // NOTE: reload time is set in config-definition.xml to reload every 2 seconds + assertEquals("NewValue", bean.getProperty()); + } */ +} diff --git a/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBeanTest.java b/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBeanTest.java deleted file mode 100644 index 90804d7823..0000000000 --- a/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationFactoryBeanTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * 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/ - */ -package org.dspace.servicemanager.config; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import org.dspace.services.ConfigurationService; -import org.dspace.test.DSpaceAbstractKernelTest; -import org.junit.Test; - -/** - * Testing the DSpaceConfigurationFactoryBean to ensure it performs property - * substitution in Spring XML configs (e.g. replacing ${dspace.dir} with the - * value from dspace.cfg) - *

- * NOTE: This uses a TestDynamicPropertyBean bean defined in spring-test-beans.xml - * for all tests. - * - * @author Tim Donohue - */ -public class DSpaceConfigurationFactoryBeanTest - extends DSpaceAbstractKernelTest { - - /** - * Test that property substitution is working properly in Spring XML configs. - * Properties in those configs (e.g. ${key}) should be dynamically replaced - * with the corresponding value from our ConfigurationService - */ - @Test - public void testGetBeanSettingFromConfigurationService() { - - // Load configs from files - ConfigurationService cfg = getKernel().getConfigurationService(); - assertNotNull("ConfigurationService returned null", cfg); - assertNotNull("test config returned null", cfg.getProperty("testDynamicBean.property")); - - //Load example service which is configured using a dynamic property (which is specified in a config file) - // See spring-test-beans.xml - TestDynamicPropertyBean bean = getKernel().getServiceManager().getServiceByName("dynamicPropertyBean", - TestDynamicPropertyBean.class); - - assertNotNull("Bean returned null", bean); - assertNotNull("Bean.name() returned null", bean.getProperty()); - - // The name of the ServiceExample bean should be the SAME as the value of "serviceExample.bean.name" in - // configuration, - // as the spring-test-beans.xml uses ${serviceExample.bean.name} to set the name - assertEquals("Bean.name() does not match configuration", cfg.getProperty("testDynamicBean.property"), - bean.getProperty()); - } -} diff --git a/dspace-services/src/test/resources/spring/spring-test-beans.xml b/dspace-services/src/test/resources/spring/spring-test-beans.xml index 1242cb5cee..970b461726 100644 --- a/dspace-services/src/test/resources/spring/spring-test-beans.xml +++ b/dspace-services/src/test/resources/spring/spring-test-beans.xml @@ -26,12 +26,10 @@ - + - \ No newline at end of file + From 79d027776e7be07fae49f369951b0afa410b7886 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Thu, 18 Oct 2018 15:36:19 -0500 Subject: [PATCH 046/118] Add Spring PropertySource integration + tests to prove it works --- ...aceConfigurationPlaceholderConfigurer.java | 36 ++++++++++++++++++ .../spring/spring-dspace-core-services.xml | 26 +++++-------- .../config/DSpaceConfigurationBeanTest.java | 37 +++++++++++++++++-- .../TestDynamicAnnotationConfiguration.java | 33 +++++++++++++++++ .../resources/spring/spring-test-beans.xml | 9 ++++- 5 files changed, 120 insertions(+), 21 deletions(-) create mode 100644 dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationPlaceholderConfigurer.java create mode 100644 dspace-services/src/test/java/org/dspace/servicemanager/config/TestDynamicAnnotationConfiguration.java diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationPlaceholderConfigurer.java b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationPlaceholderConfigurer.java new file mode 100644 index 0000000000..b85450dcd0 --- /dev/null +++ b/dspace-services/src/main/java/org/dspace/servicemanager/config/DSpaceConfigurationPlaceholderConfigurer.java @@ -0,0 +1,36 @@ +/** + * 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/ + */ +package org.dspace.servicemanager.config; + +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.spring.ConfigurationPropertySource; +import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.env.MutablePropertySources; + +/** + * Extends Spring PropertySourcesPlaceholderConfigurer to allow our Configuration to be included as a Spring + * PropertySource. This allows ${...} placeholders within bean definition property values and @Value annotations + * to be resolved using DSpaceConfigurationService + *

+ * See: https://stackoverflow.com/a/36718301/3750035 + *

+ * NOTE: This is initialized in spring-dspace-core-services.xml + * + * @see PropertySourcesPlaceholderConfigurer + * @see DSpaceConfigurationService + */ +public class DSpaceConfigurationPlaceholderConfigurer extends PropertySourcesPlaceholderConfigurer { + + public DSpaceConfigurationPlaceholderConfigurer(Configuration configuration) { + ConfigurationPropertySource apacheCommonsConfigPropertySource = + new ConfigurationPropertySource(configuration.getClass().getName(), configuration); + MutablePropertySources propertySources = new MutablePropertySources(); + propertySources.addLast(apacheCommonsConfigPropertySource); + setPropertySources(propertySources); + } +} diff --git a/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml b/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml index 3c80713ce5..a817972c20 100644 --- a/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml +++ b/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml @@ -16,22 +16,8 @@ - - - - - - @@ -44,8 +30,16 @@ + + + + + + + to the above PropertyPlaceholderConfigurer and PropertySourcesPlaceholderConfigurer beans. --> diff --git a/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java b/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java index d3303be04b..fb121a2570 100644 --- a/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java +++ b/dspace-services/src/test/java/org/dspace/servicemanager/config/DSpaceConfigurationBeanTest.java @@ -42,7 +42,7 @@ public class DSpaceConfigurationBeanTest /** * Test that property substitution is working properly in Spring XML configs. - * Properties in those configs (e.g. ${key}) should be dynamically replaced + * Properties in those XML configs (e.g. ${key}) should be dynamically replaced * with the corresponding value from our ConfigurationService */ @Test @@ -61,17 +61,46 @@ public class DSpaceConfigurationBeanTest assertNotNull("Bean returned null", bean); assertNotNull("Bean.name() returned null", bean.getProperty()); - // The name of the ServiceExample bean should be the SAME as the value of "serviceExample.bean.name" in - // configuration, as the spring-test-beans.xml uses ${serviceExample.bean.name} to set the name - assertEquals("Bean.name() does not match configuration", cfg.getProperty("testDynamicBean.property"), + // The bean's getProperty() method should return the same value as "testDynamicBean.property" in DSpace's + // configuration. This is cause bean's property is set to ${testDynamicBean.property} in spring-test-beans.xml + assertEquals("Bean.getProperty() does not match configuration", cfg.getProperty("testDynamicBean.property"), bean.getProperty()); } + /** + * Test that property substitution is working properly in Spring PropertySource (e.g. @Value annotations) + * Properties in those annotations, e.g. @Value("${key}"), should be dynamically replaced with the corresponding + * value from our ConfigurationService + */ + @Test + public void testGetPropertySourceFromConfigurationService() { + // Load configs from files + ConfigurationService cfg = getKernel().getConfigurationService(); + assertNotNull("ConfigurationService returned null", cfg); + assertNotNull("test config returned null", cfg.getProperty("testDynamicBean.property")); + + // Load test bean which is defined by TestDynamicAnnotationConfiguration + TestDynamicPropertyBean bean = getKernel().getServiceManager().getServiceByName("propertyBeanUsingAnnotation", + TestDynamicPropertyBean.class); + + // The Test bean's property should be automatically set (see TestDynamicAnnotationConfiguration) + String configValue = bean.getProperty(); + + assertNotNull("PropertySource config returned null", configValue); + + // The value of "configValue" should be equal to "testDynamicBean.property" in our configuration. + // This is because configValue is set via an @Value annotation in TestDynamicAnnotationConfiguration + assertEquals("PropertySource config does not match configuration", cfg.getProperty("testDynamicBean.property"), + configValue); + } + /** * Test that automatic reloading of configuration via bean settings also works. * * @TODO: This test does not actually work yet, because Commons Configuration v2 doesn't yet have a * org.apache.commons.configuration2.spring.ConfigurationPropertiesFactoryBean that supports reloading properties. + * NOTE: This test also fails in Commons Configuration v1 (e.g. in DSpace 6.x). So, it's possible we may not be + * able to support reloadable properties via Spring beans (until Commons Configuration does) */ /*@Test public void testReloadBeanSettingFromConfigurationService() throws ConfigurationException, InterruptedException { diff --git a/dspace-services/src/test/java/org/dspace/servicemanager/config/TestDynamicAnnotationConfiguration.java b/dspace-services/src/test/java/org/dspace/servicemanager/config/TestDynamicAnnotationConfiguration.java new file mode 100644 index 0000000000..581e33e2a3 --- /dev/null +++ b/dspace-services/src/test/java/org/dspace/servicemanager/config/TestDynamicAnnotationConfiguration.java @@ -0,0 +1,33 @@ +/** + * 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/ + */ +package org.dspace.servicemanager.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * A test bean which we will configure to load its one property via @Value annotation + *

+ * See DSpaceConfigurationFactoryBeanTest. + * + * @author Tim Donohue + */ +@Configuration +public class TestDynamicAnnotationConfiguration { + // This setting should be loaded from the "testDynamicBean.property" configuration in local.properties + @Value("${testDynamicBean.property}") + private String value; + + @Bean + public TestDynamicPropertyBean propertyBeanUsingAnnotation() { + TestDynamicPropertyBean bean = new TestDynamicPropertyBean(); + bean.setProperty(value); + return bean; + } +} diff --git a/dspace-services/src/test/resources/spring/spring-test-beans.xml b/dspace-services/src/test/resources/spring/spring-test-beans.xml index 970b461726..ed53d7f8f4 100644 --- a/dspace-services/src/test/resources/spring/spring-test-beans.xml +++ b/dspace-services/src/test/resources/spring/spring-test-beans.xml @@ -10,11 +10,18 @@ --> + http://www.springframework.org/schema/beans/spring-beans-2.5.xsd + http://www.springframework.org/schema/context + http://www.springframework.org/schema/context/spring-context-2.5.xsd"> + + + From 3ec449f3dfd508a05d3bf708eaf70f6525a00a27 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 19 Oct 2018 14:56:38 -0500 Subject: [PATCH 047/118] Update dspace-api code to Commons Config v2 --- .../org/dspace/core/ConfigurationManager.java | 4 ++-- .../content/StatisticsDataWorkflow.java | 19 +++++++++++-------- .../util/SpiderDetectorServiceImpl.java | 4 ++-- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java b/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java index 30d6cf800a..5e2b30f36d 100644 --- a/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java +++ b/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java @@ -10,8 +10,8 @@ package org.dspace.core; import java.util.Enumeration; import java.util.Properties; -import org.apache.commons.configuration.Configuration; -import org.apache.commons.configuration.ConfigurationConverter; +import org.apache.commons.configuration2.Configuration; +import org.apache.commons.configuration2.ConfigurationConverter; import org.apache.log4j.Logger; import org.dspace.services.factory.DSpaceServicesFactory; diff --git a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java index 3d2719faa7..a8e87533f8 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java +++ b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java @@ -17,9 +17,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.configuration2.PropertiesConfiguration; +import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; +import org.apache.commons.configuration2.builder.fluent.Configurations; +import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.response.QueryResponse; @@ -188,15 +190,16 @@ public class StatisticsDataWorkflow extends StatisticsData { Date oldestDate = (Date) solrDocument.getFieldValue("time"); //Store the date, we only need to retrieve this once ! try { - //Also store it in the solr-statics configuration file, the reason for this being that the sort - // query - //can be very time consuming & we do not want this delay each time we want to see workflow + // Also store it in the solr-statics configuration file, the reason for this being that the sort + // query can be very time consuming & we do not want this delay each time we want to see workflow // statistics String solrConfigDir = configurationService.getProperty("dspace.dir") + File.separator + "config" + File.separator + "modules" + File.separator + "usage-statistics.cfg"; - PropertiesConfiguration config = new PropertiesConfiguration(solrConfigDir); + FileBasedConfigurationBuilder builder = new Configurations() + .propertiesBuilder(solrConfigDir); + PropertiesConfiguration config = builder.getConfiguration(); config.setProperty("workflow-start-date", new DCDate(oldestDate)); - config.save(); + builder.save(); } catch (ConfigurationException e) { log.error("Error while storing workflow start date", e); } diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java index 508f6ffe64..0b5149df74 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/SpiderDetectorServiceImpl.java @@ -19,8 +19,8 @@ import java.util.Set; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; -import org.apache.commons.configuration.ConversionException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.configuration2.ex.ConversionException; +import org.apache.commons.lang3.StringUtils; import org.dspace.service.ClientInfoService; import org.dspace.services.ConfigurationService; import org.slf4j.Logger; From b4eac9e5ff5540d2f19ec0fd7d1a40564bb6258e Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 19 Oct 2018 15:19:30 -0500 Subject: [PATCH 048/118] Update config-definition.xml to be v2 compatible --- dspace/config/config-definition.xml | 45 +++++++++++------------------ 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/dspace/config/config-definition.xml b/dspace/config/config-definition.xml index 9ec6973395..4020752e1a 100644 --- a/dspace/config/config-definition.xml +++ b/dspace/config/config-definition.xml @@ -1,48 +1,37 @@ - -

- - -
- - - + https://commons.apache.org/proper/commons-configuration/userguide/howto_basicfeatures.html#Variable_Interpolation --> + - + - - - - + + - - - - + + - + From 200cede397d6dc1525c6b05018ce607dcbab0e66 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 19 Oct 2018 15:21:53 -0500 Subject: [PATCH 049/118] Upgrade to commons-lang3 to avoid dependency conv issues. --- dspace-api/pom.xml | 4 ++-- .../org/dspace/administer/CreateAdministrator.java | 2 +- .../org/dspace/app/bulkedit/MetadataImport.java | 2 +- .../app/itemexport/ItemExportServiceImpl.java | 2 +- .../app/itemimport/ItemImportServiceImpl.java | 4 ++-- .../dspace/app/itemupdate/MetadataUtilities.java | 2 +- .../dspace/app/mediafilter/MediaFilterCLITool.java | 2 +- .../requestitem/RequestItemHelpdeskStrategy.java | 2 +- .../requestitem/RequestItemMetadataStrategy.java | 2 +- .../dspace/app/sfx/SFXFileReaderServiceImpl.java | 2 +- .../java/org/dspace/app/sherpa/SHERPAResponse.java | 2 +- .../java/org/dspace/app/sherpa/SHERPAService.java | 2 +- .../app/sherpa/submit/SHERPASubmitService.java | 2 +- .../org/dspace/app/sitemap/GenerateSitemaps.java | 4 ++-- .../org/dspace/app/statistics/StatisticsLoader.java | 2 +- .../src/main/java/org/dspace/app/util/DCInput.java | 2 +- .../java/org/dspace/app/util/DailyFileAppender.java | 2 +- .../java/org/dspace/app/util/SyndicationFeed.java | 4 ++-- .../src/main/java/org/dspace/app/util/Util.java | 2 +- .../src/main/java/org/dspace/app/util/XMLUtils.java | 2 +- .../org/dspace/authenticate/LDAPAuthentication.java | 2 +- .../org/dspace/authenticate/ShibAuthentication.java | 2 +- .../org/dspace/authenticate/X509Authentication.java | 2 +- .../java/org/dspace/authority/AuthorityValue.java | 2 +- .../dspace/authority/AuthorityValueServiceImpl.java | 2 +- .../org/dspace/authority/PersonAuthorityValue.java | 4 ++-- .../authority/indexer/DSpaceAuthorityIndexer.java | 4 ++-- .../java/org/dspace/authority/orcid/Orcidv2.java | 2 +- .../authority/orcid/Orcidv2AuthorityValue.java | 2 +- .../java/org/dspace/authority/util/EnumUtils.java | 2 +- .../org/dspace/authorize/AuthorizeServiceImpl.java | 2 +- .../java/org/dspace/authorize/ResourcePolicy.java | 2 +- .../dspace/authorize/ResourcePolicyServiceImpl.java | 2 +- .../main/java/org/dspace/browse/ItemListConfig.java | 2 +- .../java/org/dspace/checker/MostRecentChecksum.java | 4 ++-- .../org/dspace/content/BitstreamServiceImpl.java | 2 +- .../java/org/dspace/content/BundleServiceImpl.java | 2 +- .../org/dspace/content/CollectionServiceImpl.java | 2 +- .../src/main/java/org/dspace/content/Community.java | 2 +- .../org/dspace/content/CommunityServiceImpl.java | 2 +- .../org/dspace/content/DSpaceObjectServiceImpl.java | 4 ++-- .../java/org/dspace/content/ItemComparator.java | 2 +- .../java/org/dspace/content/ItemServiceImpl.java | 2 +- .../main/java/org/dspace/content/WorkspaceItem.java | 2 +- .../java/org/dspace/content/authority/Choices.java | 2 +- .../dspace/content/authority/DCInputAuthority.java | 2 +- .../authority/DSpaceControlledVocabulary.java | 4 ++-- .../InputFormSelfRegisterWrapperAuthority.java | 2 +- .../org/dspace/content/authority/SolrAuthority.java | 2 +- .../org/dspace/content/authority/TestAuthority.java | 2 +- .../content/comparator/NameAscendingComparator.java | 4 ++-- .../crosswalk/DIMDisseminationCrosswalk.java | 2 +- .../crosswalk/METSDisseminationCrosswalk.java | 2 +- .../content/crosswalk/METSRightsCrosswalk.java | 4 ++-- .../crosswalk/MODSDisseminationCrosswalk.java | 2 +- .../crosswalk/OREDisseminationCrosswalk.java | 2 +- .../dspace/content/crosswalk/PREMISCrosswalk.java | 4 ++-- .../org/dspace/content/crosswalk/QDCCrosswalk.java | 2 +- .../crosswalk/SimpleDCDisseminationCrosswalk.java | 2 +- .../crosswalk/XSLTDisseminationCrosswalk.java | 2 +- .../content/crosswalk/XSLTIngestionCrosswalk.java | 2 +- .../content/dao/impl/MetadataFieldDAOImpl.java | 2 +- .../content/packager/DSpaceAIPDisseminator.java | 2 +- .../org/dspace/content/packager/PDFPackager.java | 2 +- .../src/main/java/org/dspace/core/I18nUtil.java | 2 +- .../org/dspace/curate/AbstractCurationTask.java | 2 +- .../java/org/dspace/discovery/SolrServiceImpl.java | 6 +++--- .../SolrServiceMetadataBrowseIndexingPlugin.java | 2 +- .../DiscoveryConfigurationService.java | 2 +- .../configuration/DiscoverySortConfiguration.java | 2 +- .../disseminate/CitationDocumentServiceImpl.java | 2 +- .../org/dspace/embargo/DefaultEmbargoSetter.java | 2 +- .../src/main/java/org/dspace/eperson/EPerson.java | 4 ++-- .../java/org/dspace/eperson/EPersonServiceImpl.java | 2 +- .../java/org/dspace/eperson/Group2GroupCache.java | 2 +- .../java/org/dspace/eperson/GroupServiceImpl.java | 4 ++-- .../java/org/dspace/eperson/SubscribeCLITool.java | 2 +- .../org/dspace/eperson/dao/impl/GroupDAOImpl.java | 2 +- .../src/main/java/org/dspace/event/Event.java | 2 +- .../java/org/dspace/event/EventServiceImpl.java | 2 +- .../java/org/dspace/handle/HandleServiceImpl.java | 2 +- .../main/java/org/dspace/harvest/OAIHarvester.java | 2 +- .../src/main/java/org/dspace/health/Report.java | 2 +- .../dspace/identifier/DOIIdentifierProvider.java | 2 +- .../dspace/identifier/IdentifierServiceImpl.java | 2 +- .../identifier/VersionedDOIIdentifierProvider.java | 2 +- ...andleIdentifierProviderWithCanonicalHandles.java | 2 +- .../transform/AuthorMetadataProcessorService.java | 2 +- .../dspace/license/CreativeCommonsServiceImpl.java | 2 +- .../src/main/java/org/dspace/rdf/RDFUtil.java | 2 +- .../rdf/conversion/MetadataConverterPlugin.java | 2 +- .../dspace/rdf/conversion/MetadataRDFMapping.java | 2 +- .../SimpleDSORelationsConverterPlugin.java | 2 +- .../java/org/dspace/rdf/negotiation/MediaRange.java | 2 +- .../java/org/dspace/rdf/negotiation/Negotiator.java | 2 +- .../org/dspace/rdf/storage/HandleURIGenerator.java | 2 +- .../org/dspace/rdf/storage/LocalURIGenerator.java | 2 +- .../java/org/dspace/rdf/storage/RDFStorageImpl.java | 2 +- .../src/main/java/org/dspace/sort/SortOption.java | 2 +- .../main/java/org/dspace/statistics/Dataset.java | 8 ++++---- .../dspace/statistics/SolrLoggerServiceImpl.java | 6 +++--- .../statistics/content/StatisticsDataSearches.java | 4 ++-- .../statistics/content/StatisticsDataVisits.java | 2 +- .../dspace/statistics/util/StatisticsImporter.java | 2 +- .../org/dspace/storage/rdbms/DatabaseUtils.java | 2 +- .../storage/rdbms/migration/MigrationUtils.java | 2 +- .../dspace/submit/lookup/ArXivFileDataLoader.java | 2 +- .../java/org/dspace/submit/lookup/ArXivService.java | 2 +- .../dspace/submit/lookup/CiNiiFileDataLoader.java | 2 +- .../java/org/dspace/submit/lookup/CiNiiUtils.java | 2 +- .../submit/lookup/CrossRefFileDataLoader.java | 2 +- .../org/dspace/submit/lookup/CrossRefService.java | 2 +- .../org/dspace/submit/lookup/CrossRefUtils.java | 2 +- .../lookup/DSpaceWorkspaceItemOutputGenerator.java | 2 +- .../dspace/submit/lookup/MapConverterModifier.java | 2 +- .../lookup/NetworkSubmissionLookupDataLoader.java | 2 +- .../dspace/submit/lookup/PubmedFileDataLoader.java | 2 +- .../org/dspace/submit/lookup/PubmedService.java | 2 +- .../java/org/dspace/submit/lookup/PubmedUtils.java | 2 +- .../dspace/submit/lookup/RemoveLastDotModifier.java | 2 +- .../submit/lookup/ValueConcatenationModifier.java | 2 +- .../java/org/dspace/submit/step/MetadataStep.java | 2 +- .../submit/util/SubmissionLookupPublication.java | 2 +- .../java/org/dspace/testing/PubMedToImport.java | 2 +- .../text/filter/MARC21InitialArticleWord.java | 4 ++-- .../main/java/org/dspace/util/SolrImportExport.java | 2 +- .../workflowbasic/BasicWorkflowServiceImpl.java | 2 +- .../java/org/dspace/xmlworkflow/WorkflowUtils.java | 2 +- .../test/java/org/dspace/content/DCDateTest.java | 2 +- .../src/test/java/org/dspace/content/ItemTest.java | 2 +- .../identifier/DOIIdentifierProviderTest.java | 2 +- dspace-oai/pom.xml | 4 ++-- .../xoai/filter/DSpaceAtLeastOneMetadataFilter.java | 2 +- .../services/impl/solr/DSpaceSolrQueryResolver.java | 2 +- .../tests/helpers/stubs/StubbedSetRepository.java | 2 +- dspace-rdf/pom.xml | 4 ++-- .../dspace/rdf/providing/DataProviderServlet.java | 2 +- .../rdf/providing/LocalURIRedirectionServlet.java | 2 +- dspace-services/pom.xml | 4 ++-- .../java/org/dspace/kernel/DSpaceKernelManager.java | 2 +- .../dspace/servicemanager/DSpaceServiceManager.java | 2 +- .../dspace/services/events/SystemEventService.java | 2 +- .../sessions/StatelessRequestServiceImpl.java | 2 +- .../dspace/app/rest/DiscoveryRestController.java | 2 +- .../rest/converter/AuthorityEntryRestConverter.java | 6 +++--- .../app/rest/converter/AuthorityRestConverter.java | 6 +++--- .../app/rest/converter/DiscoverFacetsConverter.java | 2 +- .../converter/SubmissionDefinitionConverter.java | 6 +++--- .../app/rest/converter/SubmissionFormConverter.java | 6 +++--- .../app/rest/converter/WorkspaceItemConverter.java | 2 +- .../rest/converter/query/SearchQueryConverter.java | 2 +- .../org/dspace/app/rest/parameter/SearchFilter.java | 2 +- .../parameter/resolver/SearchFilterResolver.java | 2 +- .../repository/AuthorityEntryLinkRepository.java | 2 +- .../app/rest/repository/EPersonRestRepository.java | 4 ++-- .../rest/repository/LicenseRestLinkRepository.java | 2 +- .../repository/WorkspaceItemRestRepository.java | 4 ++-- .../patch/factories/impl/PatchOperation.java | 2 +- .../jwt/JWTTokenRestAuthenticationServiceImpl.java | 2 +- .../dspace/app/rest/submit/SubmissionService.java | 2 +- .../factory/impl/LicenseAddPatchOperation.java | 2 +- .../factory/impl/LicenseReplacePatchOperation.java | 2 +- .../app/rest/submit/step/ExtractMetadataStep.java | 4 ++-- .../submit/step/validation/AbstractValidation.java | 2 +- .../submit/step/validation/MetadataValidation.java | 2 +- .../org/dspace/app/rest/utils/ScopeResolver.java | 2 +- .../test/AbstractControllerIntegrationTest.java | 2 +- .../dspace/sword/CommunityCollectionGenerator.java | 2 +- .../main/java/org/dspace/sword/DepositManager.java | 2 +- .../org/dspace/sword/ItemCollectionGenerator.java | 2 +- .../main/java/org/dspace/sword/ItemDepositor.java | 2 +- .../java/org/dspace/sword/ItemEntryGenerator.java | 2 +- .../main/java/org/dspace/sword/SWORDUrlManager.java | 2 +- .../src/main/java/org/purl/sword/base/XmlName.java | 4 ++-- .../dspace/sword2/CommunityCollectionGenerator.java | 2 +- .../dspace/sword2/GenericStatementDisseminator.java | 2 +- .../org/dspace/sword2/SimpleDCEntryIngester.java | 2 +- .../java/org/dspace/sword2/SwordAuthenticator.java | 2 +- .../org/dspace/sword2/SwordConfigurationDSpace.java | 4 ++-- .../org/dspace/sword2/SwordDisseminatorFactory.java | 2 +- pom.xml | 13 +++++++++---- 181 files changed, 228 insertions(+), 223 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 9ce448aef4..19f9b52beb 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -378,8 +378,8 @@ commons-io
- commons-lang - commons-lang + org.apache.commons + commons-lang3 org.apache.commons diff --git a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java index 7d603158ba..a58691e251 100644 --- a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java +++ b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java @@ -15,7 +15,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; import org.dspace.core.I18nUtil; diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index 9f94506980..7245bb568d 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -25,7 +25,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authority.AuthorityValue; import org.dspace.authority.factory.AuthorityServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java index 170aa0c620..630afc0ee9 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java @@ -32,7 +32,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import javax.mail.MessagingException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.itemexport.service.ItemExportService; import org.dspace.content.Bitstream; diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index 829594f448..682c090f60 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -55,8 +55,8 @@ import gr.ekt.bteio.loaders.OAIPMHDataLoader; import org.apache.commons.collections4.ComparatorUtils; import org.apache.commons.io.FileDeleteStrategy; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.RandomStringUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.RandomStringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.log4j.Logger; import org.apache.xpath.XPathAPI; diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java index 82ed5f75a0..8b3907ce50 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java @@ -28,7 +28,7 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.xpath.XPathAPI; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterCLITool.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterCLITool.java index fb9a120aa3..74751aec7e 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterCLITool.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterCLITool.java @@ -22,7 +22,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.app.mediafilter.factory.MediaFilterServiceFactory; import org.dspace.app.mediafilter.service.MediaFilterService; import org.dspace.content.Collection; diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java index d9922a9179..1dfdeef349 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java @@ -9,7 +9,7 @@ package org.dspace.app.requestitem; import java.sql.SQLException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.Item; import org.dspace.core.ConfigurationManager; diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemMetadataStrategy.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemMetadataStrategy.java index 652f81f8c7..4d2f78408a 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemMetadataStrategy.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemMetadataStrategy.java @@ -10,7 +10,7 @@ package org.dspace.app.requestitem; import java.sql.SQLException; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.Item; import org.dspace.content.MetadataValue; import org.dspace.content.service.ItemService; diff --git a/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java index 8d58347bc5..66feb0e91e 100644 --- a/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java @@ -15,7 +15,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.sfx.service.SFXFileReaderService; import org.dspace.content.DCPersonName; diff --git a/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAResponse.java b/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAResponse.java index 2384225562..269cad21f2 100644 --- a/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAResponse.java +++ b/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAResponse.java @@ -13,7 +13,7 @@ import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.app.util.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java b/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java index d1680a687d..c1f8dd0478 100644 --- a/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java +++ b/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java @@ -7,7 +7,7 @@ */ package org.dspace.app.sherpa; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; diff --git a/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java b/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java index 732c606ae8..6608454ae9 100644 --- a/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java +++ b/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java @@ -11,7 +11,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.sherpa.SHERPAResponse; import org.dspace.app.sherpa.SHERPAService; diff --git a/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java b/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java index 9c0640e072..eca4a85165 100644 --- a/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java +++ b/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java @@ -27,8 +27,8 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/StatisticsLoader.java b/dspace-api/src/main/java/org/dspace/app/statistics/StatisticsLoader.java index 02957bde4f..a151892db7 100644 --- a/dspace-api/src/main/java/org/dspace/app/statistics/StatisticsLoader.java +++ b/dspace-api/src/main/java/org/dspace/app/statistics/StatisticsLoader.java @@ -21,7 +21,7 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.lang.time.DateUtils; +import org.apache.commons.lang3.time.DateUtils; import org.dspace.core.ConfigurationManager; /** diff --git a/dspace-api/src/main/java/org/dspace/app/util/DCInput.java b/dspace-api/src/main/java/org/dspace/app/util/DCInput.java index 5564b66806..58bdb75878 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DCInput.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DCInput.java @@ -13,7 +13,7 @@ import java.util.Map; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.MetadataSchema; import org.dspace.core.Utils; import org.slf4j.Logger; diff --git a/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java b/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java index db83bf19c4..f8dd80046f 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java @@ -14,7 +14,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; -import org.apache.commons.lang.time.DateUtils; +import org.apache.commons.lang3.time.DateUtils; import org.apache.log4j.FileAppender; import org.apache.log4j.helpers.LogLog; import org.apache.log4j.spi.LoggingEvent; diff --git a/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java b/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java index 5e79b69202..d2ca6c3f93 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java +++ b/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java @@ -34,8 +34,8 @@ import com.sun.syndication.feed.synd.SyndPerson; import com.sun.syndication.feed.synd.SyndPersonImpl; import com.sun.syndication.io.FeedException; import com.sun.syndication.io.SyndFeedOutput; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; diff --git a/dspace-api/src/main/java/org/dspace/app/util/Util.java b/dspace-api/src/main/java/org/dspace/app/util/Util.java index b3b6049b00..0646472a9c 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/Util.java +++ b/dspace-api/src/main/java/org/dspace/app/util/Util.java @@ -23,7 +23,7 @@ import java.util.UUID; import javax.servlet.http.HttpServletRequest; import org.apache.commons.collections4.ListUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/app/util/XMLUtils.java b/dspace-api/src/main/java/org/dspace/app/util/XMLUtils.java index 7f1b72a565..884b2a6a92 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/XMLUtils.java +++ b/dspace-api/src/main/java/org/dspace/app/util/XMLUtils.java @@ -11,7 +11,7 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.w3c.dom.Element; import org.w3c.dom.NodeList; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java index 13ba180c0f..349f944a6d 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java @@ -28,7 +28,7 @@ import javax.naming.ldap.StartTlsResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java index cdea32a183..b6a0bfa3d2 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java @@ -23,7 +23,7 @@ import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java index da2097d0dd..2cbb95122b 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java @@ -29,7 +29,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; diff --git a/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java b/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java index 80d9e16289..eb10aeebf2 100644 --- a/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java +++ b/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java @@ -14,7 +14,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrInputDocument; diff --git a/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java b/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java index 7780c79232..1b83af7ec4 100644 --- a/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; diff --git a/dspace-api/src/main/java/org/dspace/authority/PersonAuthorityValue.java b/dspace-api/src/main/java/org/dspace/authority/PersonAuthorityValue.java index 179e06fc79..f937b5f7ed 100644 --- a/dspace-api/src/main/java/org/dspace/authority/PersonAuthorityValue.java +++ b/dspace-api/src/main/java/org/dspace/authority/PersonAuthorityValue.java @@ -12,8 +12,8 @@ import java.util.Collection; import java.util.List; import java.util.Map; -import org.apache.commons.lang.ObjectUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrInputDocument; diff --git a/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java b/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java index 3b8cc1daf8..8d6c90724a 100644 --- a/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java +++ b/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authority.AuthorityValue; import org.dspace.authority.service.AuthorityValueService; @@ -124,7 +124,7 @@ public class DSpaceAuthorityIndexer implements AuthorityIndexerInterface, Initia * This method looks at the authority of a metadata value. * If the authority can be found in solr, that value is reused. * Otherwise a new authority value will be generated that will be indexed in solr. - * + * * If the authority starts with AuthorityValueGenerator.GENERATE, a specific type of AuthorityValue will be * generated. * Depending on the type this may involve querying an external REST service diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java b/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java index cf97bbe442..14f0f9888d 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java @@ -15,7 +15,7 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2AuthorityValue.java b/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2AuthorityValue.java index 0aa0d292e7..456ccacd4d 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2AuthorityValue.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2AuthorityValue.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrInputDocument; import org.dspace.authority.AuthorityValue; diff --git a/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java b/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java index 72dc41d6b9..ed6bc0d7c5 100644 --- a/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java +++ b/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java @@ -7,7 +7,7 @@ */ package org.dspace.authority.util; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; /** diff --git a/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java index 8eca4ccf52..936a7d6492 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.authorize.service.AuthorizeService; import org.dspace.authorize.service.ResourcePolicyService; import org.dspace.content.Bitstream; diff --git a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicy.java b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicy.java index 68d7ecd4f5..f4208e5835 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicy.java +++ b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicy.java @@ -23,7 +23,7 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; import org.dspace.core.ReloadableEntity; diff --git a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java index 2609c6d165..2aaf2d1e0d 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Set; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.log4j.Logger; import org.dspace.authorize.dao.ResourcePolicyDAO; import org.dspace.authorize.service.ResourcePolicyService; diff --git a/dspace-api/src/main/java/org/dspace/browse/ItemListConfig.java b/dspace-api/src/main/java/org/dspace/browse/ItemListConfig.java index 58e3d83a0c..9cbbe8f194 100644 --- a/dspace-api/src/main/java/org/dspace/browse/ItemListConfig.java +++ b/dspace-api/src/main/java/org/dspace/browse/ItemListConfig.java @@ -12,7 +12,7 @@ import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; diff --git a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksum.java b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksum.java index f6af3d171b..5962d19f68 100644 --- a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksum.java +++ b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksum.java @@ -19,8 +19,8 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; -import org.apache.commons.lang.builder.EqualsBuilder; -import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; import org.dspace.content.Bitstream; /** diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index e5e7cc57e4..ba720e24c4 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; diff --git a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java index d8ee51fadf..46b201c454 100644 --- a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeConfiguration; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index bd7034856f..29e5a08d7c 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -20,7 +20,7 @@ import java.util.MissingResourceException; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeConfiguration; diff --git a/dspace-api/src/main/java/org/dspace/content/Community.java b/dspace-api/src/main/java/org/dspace/content/Community.java index 448e86e039..05eb8a3955 100644 --- a/dspace-api/src/main/java/org/dspace/content/Community.java +++ b/dspace-api/src/main/java/org/dspace/content/Community.java @@ -23,7 +23,7 @@ import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Transient; -import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.dspace.content.comparator.NameAscendingComparator; import org.dspace.content.factory.ContentServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index 667b0268b1..7e8d890198 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -17,7 +17,7 @@ import java.util.MissingResourceException; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeConfiguration; diff --git a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java index 8ec6b9ae29..c56513aa93 100644 --- a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java @@ -17,8 +17,8 @@ import java.util.Map; import java.util.StringTokenizer; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.authority.Choices; diff --git a/dspace-api/src/main/java/org/dspace/content/ItemComparator.java b/dspace-api/src/main/java/org/dspace/content/ItemComparator.java index 27e869d40b..2daa61cf57 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemComparator.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemComparator.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; import org.dspace.sort.OrderFormat; diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 41dff1e5a6..11287e4622 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -17,7 +17,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeConfiguration; diff --git a/dspace-api/src/main/java/org/dspace/content/WorkspaceItem.java b/dspace-api/src/main/java/org/dspace/content/WorkspaceItem.java index 42ecce9403..cfe6211b4a 100644 --- a/dspace-api/src/main/java/org/dspace/content/WorkspaceItem.java +++ b/dspace-api/src/main/java/org/dspace/content/WorkspaceItem.java @@ -25,7 +25,7 @@ import javax.persistence.OneToOne; import javax.persistence.SequenceGenerator; import javax.persistence.Table; -import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; import org.dspace.core.Context; import org.dspace.core.ReloadableEntity; import org.dspace.eperson.EPerson; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/Choices.java b/dspace-api/src/main/java/org/dspace/content/authority/Choices.java index ab5fa162cd..534e3083da 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/Choices.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/Choices.java @@ -7,7 +7,7 @@ */ package org.dspace.content.authority; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; /** * Record class to hold a set of Choices returned by an authority in response diff --git a/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java index bf01f37f02..207595cfb0 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java @@ -12,7 +12,7 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.dspace.app.util.DCInputsReader; import org.dspace.app.util.DCInputsReaderException; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java b/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java index 70159c89dd..21eb3f158d 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java @@ -16,8 +16,8 @@ import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.Collection; import org.dspace.core.SelfNamedPlugin; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java index acfe4292f6..889bc89ecb 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java @@ -13,7 +13,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.DCInputsReader; import org.dspace.app.util.DCInputsReaderException; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java index e6dbe45cc0..b508c908e7 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java @@ -12,7 +12,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/TestAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/TestAuthority.java index 8c3c94e5f1..a017e8fe28 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/TestAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/TestAuthority.java @@ -10,7 +10,7 @@ package org.dspace.content.authority; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.Collection; /** diff --git a/dspace-api/src/main/java/org/dspace/content/comparator/NameAscendingComparator.java b/dspace-api/src/main/java/org/dspace/content/comparator/NameAscendingComparator.java index 980554228b..3240824169 100644 --- a/dspace-api/src/main/java/org/dspace/content/comparator/NameAscendingComparator.java +++ b/dspace-api/src/main/java/org/dspace/content/comparator/NameAscendingComparator.java @@ -9,8 +9,8 @@ package org.dspace.content.comparator; import java.util.Comparator; -import org.apache.commons.lang.ObjectUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.DSpaceObject; public class NameAscendingComparator implements Comparator { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/DIMDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/DIMDisseminationCrosswalk.java index 05560f0b32..3f4d6bd44e 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/DIMDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/DIMDisseminationCrosswalk.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSDisseminationCrosswalk.java index efe24b63d5..c3b20bccb1 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSDisseminationCrosswalk.java @@ -13,7 +13,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.packager.PackageDisseminator; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java index 4b76afd90b..2b03a38422 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java @@ -17,8 +17,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java index 1258408493..567f6e41f8 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java @@ -20,7 +20,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java index aad95da99a..af9c64b858 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java @@ -16,7 +16,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java index 0f3aa991cd..360a450696 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java @@ -13,8 +13,8 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java index a20699bf1a..457c6486f2 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java @@ -19,7 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java index 789fa9d6fb..c9a9ddd900 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java index 9e505ed87a..a64fd47623 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTDisseminationCrosswalk.java @@ -22,7 +22,7 @@ import java.util.Map; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java index de479a4647..8565b39c44 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java @@ -15,7 +15,7 @@ import java.util.List; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java index de517765ba..c53ea0c9a7 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java @@ -16,7 +16,7 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Join; import javax.persistence.criteria.Root; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.MetadataField; import org.dspace.content.MetadataField_; import org.dspace.content.MetadataSchema; diff --git a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java index 2fb65dc1bb..9544f66727 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java @@ -28,7 +28,7 @@ import edu.harvard.hul.ois.mets.Type; import edu.harvard.hul.ois.mets.helper.MetsException; import edu.harvard.hul.ois.mets.helper.PCData; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java index 0b26cc867b..6aa995d063 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java @@ -16,7 +16,7 @@ import java.sql.SQLException; import java.util.Calendar; import java.util.List; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.log4j.Logger; import org.apache.pdfbox.cos.COSDocument; import org.apache.pdfbox.io.MemoryUsageSetting; diff --git a/dspace-api/src/main/java/org/dspace/core/I18nUtil.java b/dspace-api/src/main/java/org/dspace/core/I18nUtil.java index b8aeb959b4..0794ec2493 100644 --- a/dspace-api/src/main/java/org/dspace/core/I18nUtil.java +++ b/dspace-api/src/main/java/org/dspace/core/I18nUtil.java @@ -15,7 +15,7 @@ import java.util.MissingResourceException; import java.util.ResourceBundle; import java.util.StringTokenizer; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.eperson.EPerson; import org.dspace.services.ConfigurationService; diff --git a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java index cf9c9fe9de..16ad1e490f 100644 --- a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java +++ b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Iterator; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java index 263370ed62..f7c5738e65 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java @@ -37,9 +37,9 @@ import java.util.Vector; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.Transformer; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.validator.routines.UrlValidator; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java index b47f81b6a2..44af866892 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java @@ -11,7 +11,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.solr.common.SolrInputDocument; import org.dspace.browse.BrowseException; diff --git a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationService.java b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationService.java index d2d32d5ad9..69f992a29b 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationService.java +++ b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoveryConfigurationService.java @@ -11,7 +11,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.DSpaceObject; import org.dspace.services.factory.DSpaceServicesFactory; diff --git a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortConfiguration.java b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortConfiguration.java index 8538b54db2..db6ac80f29 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortConfiguration.java +++ b/dspace-api/src/main/java/org/dspace/discovery/configuration/DiscoverySortConfiguration.java @@ -11,7 +11,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** * @author Kevin Van de Velde (kevin at atmire dot com) diff --git a/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java b/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java index a96ed6c3d3..6d34af3502 100644 --- a/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java @@ -20,7 +20,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.log4j.Logger; import org.apache.pdfbox.pdmodel.PDDocument; diff --git a/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java b/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java index 45b2d407ac..7857a45eb8 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java +++ b/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Date; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.factory.AuthorizeServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPerson.java b/dspace-api/src/main/java/org/dspace/eperson/EPerson.java index 5835ebeac8..fc2950ee2b 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPerson.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPerson.java @@ -21,8 +21,8 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; -import org.apache.commons.lang.BooleanUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObjectLegacySupport; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index 4c04482f1f..a76d9c5ad9 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -18,7 +18,7 @@ import java.util.UUID; import org.apache.commons.codec.DecoderException; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; diff --git a/dspace-api/src/main/java/org/dspace/eperson/Group2GroupCache.java b/dspace-api/src/main/java/org/dspace/eperson/Group2GroupCache.java index df57f173b3..09bdf34d4c 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/Group2GroupCache.java +++ b/dspace-api/src/main/java/org/dspace/eperson/Group2GroupCache.java @@ -81,7 +81,7 @@ public class Group2GroupCache implements Serializable { @Override public int hashCode() { - return new org.apache.commons.lang.builder.HashCodeBuilder() + return new org.apache.commons.lang3.builder.HashCodeBuilder() .append(parent == null ? "" : parent.getID()) .append(child == null ? "" : child.getID()) .toHashCode(); diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index fccaf3f1c8..7851e1cdc3 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -18,7 +18,7 @@ import java.util.Set; import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.dspace.authorize.AuthorizeConfiguration; @@ -686,7 +686,7 @@ public class GroupServiceImpl extends DSpaceObjectServiceImpl implements @Override public Group findByIdOrLegacyId(Context context, String id) throws SQLException { - if (org.apache.commons.lang.StringUtils.isNumeric(id)) { + if (org.apache.commons.lang3.StringUtils.isNumeric(id)) { return findByLegacyId(context, Integer.parseInt(id)); } else { return find(context, UUIDUtils.fromString(id)); diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java index 1cdefcbbdd..f9b0ae014c 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java @@ -25,7 +25,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.dspace.content.Collection; diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java index 8050bd9755..3c26468cc0 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.UUID; import javax.persistence.Query; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.dspace.content.MetadataField; import org.dspace.core.AbstractHibernateDSODAO; diff --git a/dspace-api/src/main/java/org/dspace/event/Event.java b/dspace-api/src/main/java/org/dspace/event/Event.java index 45b54362d6..78efff480f 100644 --- a/dspace-api/src/main/java/org/dspace/event/Event.java +++ b/dspace-api/src/main/java/org/dspace/event/Event.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java b/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java index 891148b672..70765430a3 100644 --- a/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java @@ -14,7 +14,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.pool2.KeyedObjectPool; import org.apache.commons.pool2.KeyedPooledObjectFactory; import org.apache.commons.pool2.PoolUtils; diff --git a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java index d322fdd5c2..daf0045dc3 100644 --- a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.service.SiteService; diff --git a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java index 4593f10592..76876caf43 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java +++ b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java @@ -31,7 +31,7 @@ import ORG.oclc.oai.harvester2.verb.Identify; import ORG.oclc.oai.harvester2.verb.ListIdentifiers; import ORG.oclc.oai.harvester2.verb.ListMetadataFormats; import ORG.oclc.oai.harvester2.verb.ListRecords; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; diff --git a/dspace-api/src/main/java/org/dspace/health/Report.java b/dspace-api/src/main/java/org/dspace/health/Report.java index 9285898220..9a571a8d5f 100644 --- a/dspace-api/src/main/java/org/dspace/health/Report.java +++ b/dspace-api/src/main/java/org/dspace/health/Report.java @@ -20,7 +20,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.exception.ExceptionUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.core.Email; diff --git a/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java index 31d9efa36e..46bc317d13 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java b/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java index 4cfd365fc2..88f46c4dc7 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java index 777fa4811f..b155bf7150 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java index 72cbf7d4e7..4c47fe7729 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Date; import java.util.List; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; diff --git a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/transform/AuthorMetadataProcessorService.java b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/transform/AuthorMetadataProcessorService.java index 948075d9dc..5b814510ee 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/transform/AuthorMetadataProcessorService.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/transform/AuthorMetadataProcessorService.java @@ -7,7 +7,7 @@ */ package org.dspace.importer.external.metadatamapping.transform; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** * Removes the last point from an author name. diff --git a/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java b/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java index c88c7d8b4b..ee45a70984 100644 --- a/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java @@ -21,7 +21,7 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java b/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java index 1280f18cd9..7ce0c9cbed 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.UUID; import com.hp.hpl.jena.rdf.model.Model; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java index 5dcd8c2e4a..ebf1412e89 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java @@ -25,7 +25,7 @@ import com.hp.hpl.jena.reasoner.ValidityReport; import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.util.FileUtils; import com.hp.hpl.jena.vocabulary.RDF; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.factory.UtilServiceFactory; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java index 9fdf139197..92d6d2e8d2 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java @@ -22,7 +22,7 @@ import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.vocabulary.RDF; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; /** diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java index 96927fc3b2..4f70c1d029 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java @@ -18,7 +18,7 @@ import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.util.FileUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.content.Bitstream; diff --git a/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java b/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java index f0cd45b8fa..7b047cc55e 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java +++ b/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; /** diff --git a/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java b/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java index fe7a0029a4..399dbdb795 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java @@ -14,7 +14,7 @@ import java.util.Comparator; import java.util.Iterator; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.rdf.RDFUtil; import org.dspace.services.factory.DSpaceServicesFactory; diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java index 7ed4c9f552..1ed54c7e3e 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.List; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java index 2aa9209ac1..b577b212ca 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.List; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java b/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java index 5656f409d7..a301762bf8 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java @@ -25,7 +25,7 @@ import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.sparql.core.DatasetGraph; import com.hp.hpl.jena.update.GraphStore; import com.hp.hpl.jena.update.GraphStoreFactory; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.jena.atlas.web.auth.HttpAuthenticator; import org.apache.jena.atlas.web.auth.SimpleAuthenticator; import org.apache.jena.web.DatasetGraphAccessor; diff --git a/dspace-api/src/main/java/org/dspace/sort/SortOption.java b/dspace-api/src/main/java/org/dspace/sort/SortOption.java index 5c1cdfa95d..5ce96fb41c 100644 --- a/dspace-api/src/main/java/org/dspace/sort/SortOption.java +++ b/dspace-api/src/main/java/org/dspace/sort/SortOption.java @@ -15,7 +15,7 @@ import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.core.ConfigurationManager; diff --git a/dspace-api/src/main/java/org/dspace/statistics/Dataset.java b/dspace-api/src/main/java/org/dspace/statistics/Dataset.java index 1993dc5847..9204c56a21 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/Dataset.java +++ b/dspace-api/src/main/java/org/dspace/statistics/Dataset.java @@ -18,8 +18,8 @@ import java.util.List; import java.util.Map; import au.com.bytecode.opencsv.CSVWriter; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; /** * @author kevinvandevelde at atmire.com @@ -54,8 +54,8 @@ public class Dataset { initRowLabels(rows); } - public Dataset(float[][] matrix) { - this.matrix = (String[][]) ArrayUtils.clone(matrix); + public Dataset(String[][] matrix) { + this.matrix = ArrayUtils.clone(matrix); nbRows = matrix.length; if (0 < matrix.length && 0 < matrix[0].length) { nbCols = matrix[0].length; diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java index 3a7105931f..a003169054 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java @@ -39,9 +39,9 @@ import com.maxmind.geoip2.DatabaseReader; import com.maxmind.geoip2.exception.GeoIp2Exception; import com.maxmind.geoip2.model.CityResponse; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; diff --git a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataSearches.java b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataSearches.java index a7c20688be..5a3d92e8f9 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataSearches.java +++ b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataSearches.java @@ -14,8 +14,8 @@ import java.text.ParseException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.util.ClientUtils; import org.dspace.content.DSpaceObject; diff --git a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java index cdd0cbbb73..5b003b3741 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java +++ b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.util.ClientUtils; import org.dspace.app.util.Util; diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java index 8588b381ce..91ae8d21fd 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java @@ -33,7 +33,7 @@ import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java index 13944f8de7..5037456018 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java @@ -23,7 +23,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.sql.DataSource; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.core.Context; import org.dspace.discovery.IndexingService; diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/MigrationUtils.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/MigrationUtils.java index 4c4dcb2896..ce481d0caf 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/MigrationUtils.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/MigrationUtils.java @@ -12,7 +12,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** * This Utility class offers utility methods which may be of use to perform diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java index 3711842fde..a41ed36082 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java @@ -25,7 +25,7 @@ import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.XMLUtils; import org.w3c.dom.Document; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivService.java index 44cd7ca541..0a32871758 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivService.java @@ -16,7 +16,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import gr.ekt.bte.core.Record; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java index 1ddc866568..ec602bd62d 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java @@ -25,7 +25,7 @@ import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiUtils.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiUtils.java index 65cf2bf609..929705371a 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiUtils.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiUtils.java @@ -17,7 +17,7 @@ import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.app.util.XMLUtils; import org.dspace.submit.util.SubmissionLookupPublication; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefFileDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefFileDataLoader.java index 71b50e06dc..dcda4fdba5 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefFileDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefFileDataLoader.java @@ -25,7 +25,7 @@ import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.app.util.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java index d1c0fa2654..fd72ffe5ff 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java @@ -24,7 +24,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import gr.ekt.bte.core.Record; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefUtils.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefUtils.java index c80af2b0a7..f9b64092af 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefUtils.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefUtils.java @@ -17,7 +17,7 @@ import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.app.util.XMLUtils; import org.dspace.submit.util.SubmissionLookupPublication; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java b/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java index 13d57a303d..8538ccb6ff 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java @@ -21,7 +21,7 @@ import gr.ekt.bte.core.OutputGenerator; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.DCInput; import org.dspace.app.util.DCInputSet; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java b/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java index b4885e9271..8698363924 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/MapConverterModifier.java @@ -21,7 +21,7 @@ import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.services.ConfigurationService; /** diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/NetworkSubmissionLookupDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/NetworkSubmissionLookupDataLoader.java index 43e632e59f..c62afa6c35 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/NetworkSubmissionLookupDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/NetworkSubmissionLookupDataLoader.java @@ -19,7 +19,7 @@ import gr.ekt.bte.core.Record; import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpException; import org.dspace.core.Context; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedFileDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedFileDataLoader.java index e8213820b6..05a37e64d6 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedFileDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedFileDataLoader.java @@ -25,7 +25,7 @@ import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.app.util.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java index 2bbb2af8bf..60a7df0483 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java @@ -19,7 +19,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import gr.ekt.bte.core.Record; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedUtils.java b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedUtils.java index 03f3e3ab03..bca34de295 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedUtils.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedUtils.java @@ -19,7 +19,7 @@ import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.app.util.XMLUtils; import org.dspace.submit.util.SubmissionLookupPublication; import org.w3c.dom.Element; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/RemoveLastDotModifier.java b/dspace-api/src/main/java/org/dspace/submit/lookup/RemoveLastDotModifier.java index ed83d24aeb..24a7601b53 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/RemoveLastDotModifier.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/RemoveLastDotModifier.java @@ -16,7 +16,7 @@ import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** * @author Andrea Bollini diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/ValueConcatenationModifier.java b/dspace-api/src/main/java/org/dspace/submit/lookup/ValueConcatenationModifier.java index cdc9aa87db..8d52f1ba73 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/ValueConcatenationModifier.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/ValueConcatenationModifier.java @@ -16,7 +16,7 @@ import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** * @author Andrea Bollini diff --git a/dspace-api/src/main/java/org/dspace/submit/step/MetadataStep.java b/dspace-api/src/main/java/org/dspace/submit/step/MetadataStep.java index c0998bcb2e..0ef9fb00ce 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/MetadataStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/MetadataStep.java @@ -19,7 +19,7 @@ import java.util.Set; import gr.ekt.bte.core.DataLoader; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpException; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java b/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java index e5b51cf95b..85c1fe7266 100644 --- a/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java +++ b/dspace-api/src/main/java/org/dspace/submit/util/SubmissionLookupPublication.java @@ -17,7 +17,7 @@ import java.util.Set; import gr.ekt.bte.core.MutableRecord; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.core.Value; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.submit.lookup.SubmissionLookupDataLoader; /** diff --git a/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java b/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java index 52c5599b3e..918ee7add5 100644 --- a/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java +++ b/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java @@ -21,7 +21,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.jdom.Document; import org.jdom.Element; diff --git a/dspace-api/src/main/java/org/dspace/text/filter/MARC21InitialArticleWord.java b/dspace-api/src/main/java/org/dspace/text/filter/MARC21InitialArticleWord.java index 3985f19320..c82b9ccfcf 100644 --- a/dspace-api/src/main/java/org/dspace/text/filter/MARC21InitialArticleWord.java +++ b/dspace-api/src/main/java/org/dspace/text/filter/MARC21InitialArticleWord.java @@ -15,8 +15,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang.ArrayUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.services.factory.DSpaceServicesFactory; /** diff --git a/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java b/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java index b0ab3b4005..3f54426e71 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java @@ -27,7 +27,7 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; diff --git a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java index c20de75ff8..b6af59d092 100644 --- a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java @@ -21,7 +21,7 @@ import java.util.UUID; import javax.mail.MessagingException; import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java index 872ff2b21c..c09a785e60 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java @@ -17,7 +17,7 @@ import java.util.HashMap; import java.util.LinkedHashMap; import javax.servlet.http.HttpServletRequest; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/test/java/org/dspace/content/DCDateTest.java b/dspace-api/src/test/java/org/dspace/content/DCDateTest.java index ced07c72b2..da4d444c58 100644 --- a/dspace-api/src/test/java/org/dspace/content/DCDateTest.java +++ b/dspace-api/src/test/java/org/dspace/content/DCDateTest.java @@ -18,7 +18,7 @@ import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; -import org.apache.commons.lang.time.DateUtils; +import org.apache.commons.lang3.time.DateUtils; import org.apache.log4j.Logger; import org.junit.After; import org.junit.Before; diff --git a/dspace-api/src/test/java/org/dspace/content/ItemTest.java b/dspace-api/src/test/java/org/dspace/content/ItemTest.java index 32e6e5deb5..13d1e42d15 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemTest.java @@ -29,7 +29,7 @@ import java.util.List; import java.util.UUID; import mockit.NonStrictExpectations; -import org.apache.commons.lang.time.DateUtils; +import org.apache.commons.lang3.time.DateUtils; import org.apache.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java b/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java index 51b0556401..a27315d1f7 100644 --- a/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java +++ b/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java @@ -21,7 +21,7 @@ import java.util.Date; import java.util.List; import java.util.Random; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index 136b8fc1dc..db1fbd7a9b 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -80,8 +80,8 @@ commons-io - commons-lang - commons-lang + org.apache.commons + commons-lang3 diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java index b84868cf23..8e75857bad 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java @@ -16,7 +16,7 @@ import com.lyncode.builder.ListBuilder; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.ParameterList; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.ParameterValue; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.SimpleType; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.util.ClientUtils; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrQueryResolver.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrQueryResolver.java index de58edd542..2e91f4c9d4 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrQueryResolver.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrQueryResolver.java @@ -13,7 +13,7 @@ import java.util.List; import com.lyncode.xoai.dataprovider.filter.Scope; import com.lyncode.xoai.dataprovider.filter.ScopedFilter; import com.lyncode.xoai.dataprovider.filter.conditions.Condition; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.xoai.services.api.solr.SolrQueryResolver; import org.dspace.xoai.services.api.xoai.DSpaceFilterResolver; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dspace-oai/src/test/java/org/dspace/xoai/tests/helpers/stubs/StubbedSetRepository.java b/dspace-oai/src/test/java/org/dspace/xoai/tests/helpers/stubs/StubbedSetRepository.java index efe6125589..8432633e7b 100644 --- a/dspace-oai/src/test/java/org/dspace/xoai/tests/helpers/stubs/StubbedSetRepository.java +++ b/dspace-oai/src/test/java/org/dspace/xoai/tests/helpers/stubs/StubbedSetRepository.java @@ -8,7 +8,7 @@ package org.dspace.xoai.tests.helpers.stubs; import static java.lang.Math.min; -import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic; +import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; import java.util.ArrayList; import java.util.List; diff --git a/dspace-rdf/pom.xml b/dspace-rdf/pom.xml index 6e5284b85c..438fb9f091 100644 --- a/dspace-rdf/pom.xml +++ b/dspace-rdf/pom.xml @@ -72,8 +72,8 @@ log4j - commons-lang - commons-lang + org.apache.commons + commons-lang3 diff --git a/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java b/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java index 1e07364187..e5a757f9db 100644 --- a/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java +++ b/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java @@ -17,7 +17,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hp.hpl.jena.rdf.model.Model; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; diff --git a/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java b/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java index 33b4107128..0cb3c7bdc0 100644 --- a/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java +++ b/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java @@ -14,7 +14,7 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index 51d1f8b943..fb34e7ce60 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -95,8 +95,8 @@ compile - commons-lang - commons-lang + org.apache.commons + commons-lang3 diff --git a/dspace-services/src/main/java/org/dspace/kernel/DSpaceKernelManager.java b/dspace-services/src/main/java/org/dspace/kernel/DSpaceKernelManager.java index 00a938a27d..1f86c16b29 100644 --- a/dspace-services/src/main/java/org/dspace/kernel/DSpaceKernelManager.java +++ b/dspace-services/src/main/java/org/dspace/kernel/DSpaceKernelManager.java @@ -21,7 +21,7 @@ import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; import javax.management.ReflectionException; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/DSpaceServiceManager.java b/dspace-services/src/main/java/org/dspace/servicemanager/DSpaceServiceManager.java index 143f918bcb..a4520de0df 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/DSpaceServiceManager.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/DSpaceServiceManager.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.kernel.Activator; import org.dspace.kernel.mixins.ConfigChangeListener; import org.dspace.kernel.mixins.InitializedService; diff --git a/dspace-services/src/main/java/org/dspace/services/events/SystemEventService.java b/dspace-services/src/main/java/org/dspace/services/events/SystemEventService.java index 3ef22825ce..de67e504a5 100644 --- a/dspace-services/src/main/java/org/dspace/services/events/SystemEventService.java +++ b/dspace-services/src/main/java/org/dspace/services/events/SystemEventService.java @@ -13,7 +13,7 @@ import java.util.Map; import java.util.Random; import java.util.concurrent.ConcurrentHashMap; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.dspace.kernel.mixins.ShutdownService; import org.dspace.services.CachingService; import org.dspace.services.EventService; diff --git a/dspace-services/src/main/java/org/dspace/services/sessions/StatelessRequestServiceImpl.java b/dspace-services/src/main/java/org/dspace/services/sessions/StatelessRequestServiceImpl.java index 6f0b18ff40..07798a0225 100644 --- a/dspace-services/src/main/java/org/dspace/services/sessions/StatelessRequestServiceImpl.java +++ b/dspace-services/src/main/java/org/dspace/services/sessions/StatelessRequestServiceImpl.java @@ -18,7 +18,7 @@ import java.util.concurrent.ConcurrentHashMap; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.kernel.mixins.InitializedService; import org.dspace.kernel.mixins.ShutdownService; import org.dspace.services.ConfigurationService; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 227f3edfee..31add4cbfe 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -11,7 +11,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.dspace.app.rest.link.HalLinkService; import org.dspace.app.rest.model.FacetConfigurationRest; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/AuthorityEntryRestConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/AuthorityEntryRestConverter.java index 2e4031338a..a278ae313d 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/AuthorityEntryRestConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/AuthorityEntryRestConverter.java @@ -7,7 +7,7 @@ */ package org.dspace.app.rest.converter; -import org.apache.commons.lang.NotImplementedException; +import org.apache.commons.lang3.NotImplementedException; import org.dspace.app.rest.model.AuthorityEntryRest; import org.dspace.app.rest.utils.AuthorityUtils; import org.dspace.content.authority.Choice; @@ -36,6 +36,6 @@ public class AuthorityEntryRestConverter extends DSpaceConverterapache-jena-libs pom ${jena.version} + + + org.apache.commons + commons-lang3 + + org.dspace @@ -1206,10 +1212,9 @@ 2.4 - commons-lang - commons-lang - 2.6 - + org.apache.commons + commons-lang3 + 3.7 commons-logging From 4d882bec608d6ded005044a6eb0d8c53f30a8fb2 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 26 Oct 2018 21:27:35 +0000 Subject: [PATCH 050/118] Remove unnecessary exclusion --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index 59c63ab1cb..307cef2944 100644 --- a/pom.xml +++ b/pom.xml @@ -1130,12 +1130,6 @@ apache-jena-libs pom ${jena.version} - - - org.apache.commons - commons-lang3 - - org.dspace From 34edf302b7ced3465fc7cceb3665058cdc6f7b4b Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 26 Oct 2018 21:30:06 +0000 Subject: [PATCH 051/118] Remove unnecessary PropertyPlaceholderConfigurer --- .../spring/spring-dspace-core-services.xml | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml b/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml index a817972c20..e5f14b2b07 100644 --- a/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml +++ b/dspace-services/src/main/resources/spring/spring-dspace-core-services.xml @@ -16,30 +16,16 @@ - - - - - - - - - - - - + + to the above PropertySourcesPlaceholderConfigurer bean. --> From fb4e7ae9cbdb78c690836c81ada573cf5cd8e8de Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Tue, 6 Mar 2018 13:29:24 -0500 Subject: [PATCH 052/118] Update POMs to version 2.10.0 --- dspace-api/pom.xml | 10 ++++++++-- dspace-oai/pom.xml | 10 ++++++++-- dspace-rdf/pom.xml | 10 ++++++++-- dspace-rest/pom.xml | 10 ++++++++-- dspace-services/pom.xml | 10 ++++++++-- dspace-solr/pom.xml | 11 ++++++++--- dspace-sword/pom.xml | 24 ++++++++---------------- dspace-swordv2/pom.xml | 24 ++++++++---------------- pom.xml | 11 ++++++++--- 9 files changed, 72 insertions(+), 48 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 19f9b52beb..9dae1498f4 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -413,8 +413,14 @@ jdom - log4j - log4j + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 oro diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index db1fbd7a9b..5d5e4c8627 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -190,8 +190,14 @@ - log4j - log4j + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 org.slf4j diff --git a/dspace-rdf/pom.xml b/dspace-rdf/pom.xml index 438fb9f091..205eb2ef6c 100644 --- a/dspace-rdf/pom.xml +++ b/dspace-rdf/pom.xml @@ -68,8 +68,14 @@ provided - log4j - log4j + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 org.apache.commons diff --git a/dspace-rest/pom.xml b/dspace-rest/pom.xml index b4f54dbd32..81e6fc14e1 100644 --- a/dspace-rest/pom.xml +++ b/dspace-rest/pom.xml @@ -228,8 +228,14 @@ 1.2.1 - log4j - log4j + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 org.dspace diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index fb34e7ce60..dafff484bb 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -144,8 +144,14 @@ slf4j-log4j12 - log4j - log4j + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 diff --git a/dspace-solr/pom.xml b/dspace-solr/pom.xml index f8e825bd13..ea569d8265 100644 --- a/dspace-solr/pom.xml +++ b/dspace-solr/pom.xml @@ -243,9 +243,14 @@ runtime - log4j - log4j - jar + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 javax.servlet diff --git a/dspace-sword/pom.xml b/dspace-sword/pom.xml index d93519952d..d5c6344306 100644 --- a/dspace-sword/pom.xml +++ b/dspace-sword/pom.xml @@ -121,22 +121,14 @@ test - log4j - log4j - - - jmxtools - com.sun.jdmk - - - jms - javax.jms - - - jmxri - com.sun.jmx - - + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 xom diff --git a/dspace-swordv2/pom.xml b/dspace-swordv2/pom.xml index 2d923f69d8..b201945817 100644 --- a/dspace-swordv2/pom.xml +++ b/dspace-swordv2/pom.xml @@ -112,22 +112,14 @@ dspace-api - log4j - log4j - - - jmxtools - com.sun.jdmk - - - jms - javax.jms - - - jmxri - com.sun.jmx - - + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 org.apache.abdera diff --git a/pom.xml b/pom.xml index 307cef2944..74b6fe894f 100644 --- a/pom.xml +++ b/pom.xml @@ -1258,9 +1258,14 @@ 1.1.3 - log4j - log4j - 1.2.17 + org.apache.logging.log4j + log4j-api + 2.10.0 + + + org.apache.logging.log4j + log4j-core + 2.10.0 oro From 7f4b4e9f8a8bbb7431cb7f4f06a5c527f4d05a5b Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Fri, 9 Mar 2018 17:54:01 -0500 Subject: [PATCH 053/118] Convert getLogger() and Log4J imports for Log4J 2 --- .../org/dspace/administer/RegistryLoader.java | 4 ++-- .../org/dspace/app/bulkedit/MetadataImport.java | 4 ++-- .../org/dspace/app/checker/ChecksumChecker.java | 5 +++-- .../app/itemexport/ItemExportServiceImpl.java | 4 ++-- .../app/itemimport/ItemImportServiceImpl.java | 4 ++-- .../org/dspace/app/itemupdate/ItemArchive.java | 4 ++-- .../org/dspace/app/mediafilter/ExcelFilter.java | 4 ++-- .../org/dspace/app/mediafilter/PDFFilter.java | 4 ++-- .../dspace/app/mediafilter/PowerPointFilter.java | 4 ++-- .../org/dspace/app/mediafilter/WordFilter.java | 4 ++-- .../requestitem/RequestItemHelpdeskStrategy.java | 4 ++-- .../app/requestitem/RequestItemServiceImpl.java | 4 ++-- .../dspace/app/sfx/SFXFileReaderServiceImpl.java | 4 ++-- .../org/dspace/app/sherpa/SHERPAService.java | 4 ++-- .../app/sherpa/submit/SHERPASubmitService.java | 4 ++-- .../org/dspace/app/sitemap/GenerateSitemaps.java | 4 ++-- .../dspace/app/util/DSpaceContextListener.java | 4 ++-- .../org/dspace/app/util/DailyFileAppender.java | 12 ++++++------ .../app/util/GoogleBitstreamComparator.java | 4 ++-- .../java/org/dspace/app/util/GoogleMetadata.java | 4 ++-- .../app/util/MetadataExposureServiceImpl.java | 4 ++-- .../dspace/app/util/OpenSearchServiceImpl.java | 4 ++-- .../app/util/OptimizeSelectCollection.java | 4 ++-- .../org/dspace/app/util/SubmissionConfig.java | 4 ++-- .../dspace/app/util/SubmissionConfigReader.java | 4 ++-- .../org/dspace/app/util/SyndicationFeed.java | 4 ++-- .../src/main/java/org/dspace/app/util/Util.java | 4 ++-- .../org/dspace/app/util/WebAppServiceImpl.java | 4 ++-- .../dspace/authenticate/IPAuthentication.java | 5 +++-- .../java/org/dspace/authenticate/IPMatcher.java | 4 ++-- .../dspace/authenticate/LDAPAuthentication.java | 4 ++-- .../authenticate/PasswordAuthentication.java | 4 ++-- .../dspace/authenticate/ShibAuthentication.java | 4 ++-- .../dspace/authenticate/X509Authentication.java | 4 ++-- .../authority/AuthoritySolrServiceImpl.java | 4 ++-- .../org/dspace/authority/AuthorityTypes.java | 4 ++-- .../org/dspace/authority/AuthorityValue.java | 4 ++-- .../authority/AuthorityValueServiceImpl.java | 4 ++-- .../org/dspace/authority/UpdateAuthorities.java | 4 ++-- .../authority/indexer/AuthorityConsumer.java | 4 ++-- .../authority/indexer/AuthorityIndexClient.java | 4 ++-- .../indexer/DSpaceAuthorityIndexer.java | 4 ++-- .../dspace/authority/orcid/xml/Converter.java | 4 ++-- .../org/dspace/authority/orcid/xml/XMLtoBio.java | 6 ++---- .../org/dspace/authority/rest/RESTConnector.java | 4 ++-- .../org/dspace/authority/util/EnumUtils.java | 4 ++-- .../java/org/dspace/authority/util/XMLUtils.java | 4 ++-- .../authorize/ResourcePolicyServiceImpl.java | 4 ++-- .../java/org/dspace/browse/BrowseEngine.java | 4 ++-- .../java/org/dspace/browse/ItemCountDAOSolr.java | 4 ++-- .../main/java/org/dspace/browse/ItemCounter.java | 4 ++-- .../org/dspace/browse/LocaleOrderingFilter.java | 4 ++-- .../java/org/dspace/browse/SolrBrowseDAO.java | 4 ++-- .../java/org/dspace/checker/CheckerCommand.java | 4 ++-- .../java/org/dspace/checker/CheckerConsumer.java | 4 ++-- .../org/dspace/checker/DailyReportEmailer.java | 4 ++-- .../org/dspace/checker/HandleDispatcher.java | 4 ++-- .../checker/MostRecentChecksumServiceImpl.java | 4 ++-- .../java/org/dspace/checker/ResultsLogger.java | 4 ++-- .../java/org/dspace/checker/ResultsPruner.java | 4 ++-- .../content/BitstreamFormatServiceImpl.java | 4 ++-- .../org/dspace/content/BitstreamServiceImpl.java | 4 ++-- .../org/dspace/content/BundleServiceImpl.java | 4 ++-- .../dspace/content/CollectionServiceImpl.java | 4 ++-- .../main/java/org/dspace/content/Community.java | 4 ++-- .../org/dspace/content/CommunityServiceImpl.java | 4 ++-- .../src/main/java/org/dspace/content/DCDate.java | 4 ++-- .../dspace/content/DSpaceObjectServiceImpl.java | 4 ++-- .../java/org/dspace/content/ItemServiceImpl.java | 4 ++-- .../dspace/content/MetadataFieldServiceImpl.java | 4 ++-- .../content/MetadataSchemaServiceImpl.java | 4 ++-- .../dspace/content/MetadataValueServiceImpl.java | 4 ++-- .../dspace/content/WorkspaceItemServiceImpl.java | 4 ++-- .../authority/ChoiceAuthorityServiceImpl.java | 4 ++-- .../content/authority/DCInputAuthority.java | 4 ++-- .../authority/DSpaceControlledVocabulary.java | 4 ++-- .../InputFormSelfRegisterWrapperAuthority.java | 4 ++-- .../content/authority/LCNameAuthority.java | 4 ++-- .../authority/MetadataAuthorityServiceImpl.java | 4 ++-- .../content/authority/SHERPARoMEOProtocol.java | 4 ++-- .../dspace/content/authority/SolrAuthority.java | 6 ++++-- .../content/crosswalk/AIPTechMDCrosswalk.java | 4 ++-- ...veCommonsRDFStreamDisseminationCrosswalk.java | 4 ++-- ...eativeCommonsRDFStreamIngestionCrosswalk.java | 4 ++-- ...eCommonsTextStreamDisseminationCrosswalk.java | 4 ++-- .../LicenseStreamDisseminationCrosswalk.java | 4 ++-- .../LicenseStreamIngestionCrosswalk.java | 4 ++-- .../content/crosswalk/METSRightsCrosswalk.java | 4 ++-- .../crosswalk/MODSDisseminationCrosswalk.java | 4 ++-- .../crosswalk/NullIngestionCrosswalk.java | 4 ++-- .../content/crosswalk/OREIngestionCrosswalk.java | 4 ++-- .../content/crosswalk/PREMISCrosswalk.java | 4 ++-- .../dspace/content/crosswalk/QDCCrosswalk.java | 4 ++-- .../XHTMLHeadDisseminationCrosswalk.java | 2 +- .../crosswalk/XSLTIngestionCrosswalk.java | 4 ++-- .../org/dspace/content/dao/impl/ItemDAOImpl.java | 4 ++-- .../packager/AbstractMETSDisseminator.java | 4 +++- .../content/packager/AbstractMETSIngester.java | 4 ++-- .../packager/AbstractPackageIngester.java | 4 ++-- .../content/packager/DSpaceAIPDisseminator.java | 4 ++-- .../content/packager/DSpaceAIPIngester.java | 4 ++-- .../dspace/content/packager/METSManifest.java | 4 ++-- .../org/dspace/content/packager/PDFPackager.java | 4 ++-- .../content/packager/PackageException.java | 2 +- .../dspace/content/packager/PackageUtils.java | 4 ++-- .../content/packager/RoleDisseminator.java | 4 ++-- .../org/dspace/core/ConfigurationManager.java | 4 ++-- .../src/main/java/org/dspace/core/Context.java | 4 ++-- .../src/main/java/org/dspace/core/Email.java | 4 ++-- .../src/main/java/org/dspace/core/I18nUtil.java | 4 ++-- .../org/dspace/core/LegacyPluginServiceImpl.java | 4 ++-- .../java/org/dspace/core/LoggerServiceImpl.java | 16 ++++++++-------- .../src/main/java/org/dspace/core/Utils.java | 4 ++-- .../dspace/ctask/general/AbstractTranslator.java | 4 ++-- .../dspace/ctask/general/BasicLinkChecker.java | 4 ++-- .../ctask/general/BitstreamsIntoMetadata.java | 4 ++-- .../dspace/ctask/general/MetadataWebService.java | 4 ++-- .../ctask/general/MicrosoftTranslator.java | 4 ++-- .../org/dspace/curate/AbstractCurationTask.java | 4 ++-- .../java/org/dspace/curate/CitationPage.java | 4 ++-- .../src/main/java/org/dspace/curate/Curator.java | 4 ++-- .../java/org/dspace/curate/FileTaskQueue.java | 4 ++-- .../java/org/dspace/curate/TaskResolver.java | 4 ++-- .../curate/WorkflowCuratorServiceImpl.java | 4 ++-- .../dspace/discovery/FullTextContentStreams.java | 4 ++-- .../java/org/dspace/discovery/IndexClient.java | 4 ++-- .../org/dspace/discovery/IndexEventConsumer.java | 4 ++-- .../org/dspace/discovery/SolrServiceImpl.java | 4 ++-- .../SolrServiceMetadataBrowseIndexingPlugin.java | 2 +- .../SolrServiceResourceRestrictionPlugin.java | 4 ++-- .../disseminate/CitationDocumentServiceImpl.java | 4 ++-- .../java/org/dspace/embargo/EmbargoCLITool.java | 4 ++-- .../org/dspace/embargo/EmbargoServiceImpl.java | 4 ++-- .../org/dspace/eperson/AccountServiceImpl.java | 4 ++-- .../java/org/dspace/eperson/EPersonConsumer.java | 4 ++-- .../org/dspace/eperson/EPersonServiceImpl.java | 4 ++-- .../org/dspace/eperson/SubscribeCLITool.java | 6 +++--- .../org/dspace/eperson/SubscribeServiceImpl.java | 4 ++-- .../java/org/dspace/event/BasicDispatcher.java | 4 ++-- .../java/org/dspace/event/ConsumerProfile.java | 4 ++-- .../src/main/java/org/dspace/event/Event.java | 4 ++-- .../java/org/dspace/event/EventServiceImpl.java | 4 ++-- .../main/java/org/dspace/event/TestConsumer.java | 4 ++-- .../java/org/dspace/google/GoogleAccount.java | 4 ++-- .../google/GoogleRecorderEventListener.java | 4 ++-- .../java/org/dspace/handle/HandlePlugin.java | 4 ++-- .../org/dspace/handle/HandleServiceImpl.java | 4 ++-- .../org/dspace/handle/UpdateHandlePrefix.java | 4 ++-- .../java/org/dspace/harvest/HarvestConsumer.java | 4 ++-- .../org/dspace/harvest/HarvestScheduler.java | 4 ++-- .../java/org/dspace/harvest/HarvestThread.java | 4 ++-- .../java/org/dspace/harvest/OAIHarvester.java | 4 ++-- .../src/main/java/org/dspace/health/Check.java | 4 ++-- .../src/main/java/org/dspace/health/Report.java | 4 ++-- .../identifier/HandleIdentifierProvider.java | 4 ++-- .../dspace/identifier/IdentifierServiceImpl.java | 4 ++-- .../VersionedDOIIdentifierProvider.java | 4 ++-- .../VersionedHandleIdentifierProvider.java | 4 ++-- ...leIdentifierProviderWithCanonicalHandles.java | 4 ++-- .../org/dspace/identifier/doi/DOIConsumer.java | 4 ++-- .../org/dspace/identifier/doi/DOIOrganiser.java | 4 ++-- .../AbstractMetadataFieldMapping.java | 4 ++-- .../PubmedDateMetadatumContributor.java | 4 ++-- .../PubmedLanguageMetadatumContributor.java | 4 ++-- .../importer/external/service/ImportService.java | 4 ++-- .../components/AbstractRemoteMetadataSource.java | 4 ++-- .../main/java/org/dspace/license/CCLookup.java | 4 ++-- .../license/CreativeCommonsServiceImpl.java | 4 ++-- .../java/org/dspace/license/LicenseCleanup.java | 4 ++-- .../main/java/org/dspace/rdf/RDFConsumer.java | 4 ++-- .../src/main/java/org/dspace/rdf/RDFUtil.java | 4 ++-- .../src/main/java/org/dspace/rdf/RDFizer.java | 4 ++-- .../rdf/conversion/MetadataConverterPlugin.java | 4 ++-- .../rdf/conversion/MetadataRDFMapping.java | 4 ++-- .../dspace/rdf/conversion/RDFConverterImpl.java | 4 ++-- .../SimpleDSORelationsConverterPlugin.java | 4 ++-- .../rdf/conversion/StaticDSOConverterPlugin.java | 4 ++-- .../org/dspace/rdf/factory/RDFFactoryImpl.java | 4 ++-- .../org/dspace/rdf/negotiation/MediaRange.java | 4 ++-- .../rdf/negotiation/NegotiationFilter.java | 4 ++-- .../org/dspace/rdf/negotiation/Negotiator.java | 4 ++-- .../org/dspace/rdf/storage/DOIURIGenerator.java | 4 ++-- .../dspace/rdf/storage/HandleURIGenerator.java | 4 ++-- .../dspace/rdf/storage/LocalURIGenerator.java | 4 ++-- .../org/dspace/rdf/storage/RDFStorageImpl.java | 4 ++-- .../src/main/java/org/dspace/search/Harvest.java | 4 ++-- .../org/dspace/sort/AbstractTextFilterOFD.java | 4 ++-- .../main/java/org/dspace/sort/SortOption.java | 4 ++-- .../dspace/statistics/SolrLoggerServiceImpl.java | 7 ++++--- .../statistics/SolrLoggerUsageEventListener.java | 4 ++-- .../content/StatisticsDataWorkflow.java | 4 ++-- .../util/ClassicDSpaceLogConverter.java | 4 ++-- .../dspace/statistics/util/LocationUtils.java | 4 ++-- .../dspace/statistics/util/StatisticsClient.java | 4 ++-- .../statistics/util/StatisticsImporter.java | 4 ++-- .../dspace/storage/bitstore/BitStoreMigrate.java | 4 ++-- .../bitstore/BitstreamStorageServiceImpl.java | 4 ++-- .../org/dspace/storage/bitstore/Cleanup.java | 4 ++-- .../storage/bitstore/DSBitStoreService.java | 4 ++-- .../storage/bitstore/S3BitStoreService.java | 4 ++-- .../org/dspace/storage/rdbms/DatabaseUtils.java | 4 ++-- .../storage/rdbms/GroupServiceInitializer.java | 4 ++-- .../storage/rdbms/PostgreSQLCryptoChecker.java | 4 ++-- .../storage/rdbms/SiteServiceInitializer.java | 4 ++-- ...01_26__DS_2188_Remove_DBMS_Browse_Tables.java | 4 ++-- .../submit/lookup/ArXivFileDataLoader.java | 4 ++-- .../submit/lookup/CiNiiFileDataLoader.java | 4 ++-- .../org/dspace/submit/lookup/CiNiiService.java | 4 ++-- .../dspace/submit/lookup/CrossRefService.java | 4 ++-- .../DSpaceWorkspaceItemOutputGenerator.java | 2 +- .../MultipleSubmissionLookupDataLoader.java | 2 +- .../submit/lookup/PubmedOnlineDataLoader.java | 4 ++-- .../org/dspace/submit/lookup/PubmedService.java | 4 ++-- .../submit/lookup/SubmissionItemDataLoader.java | 2 +- .../submit/lookup/SubmissionLookupService.java | 4 ++-- .../submit/lookup/SubmissionLookupUtils.java | 4 ++-- .../java/org/dspace/submit/step/AccessStep.java | 4 ++-- .../org/dspace/submit/step/CCLicenseStep.java | 4 ++-- .../org/dspace/submit/step/CompleteStep.java | 4 ++-- .../org/dspace/submit/step/DescribeStep.java | 8 ++++++-- .../java/org/dspace/submit/step/LicenseStep.java | 4 ++-- .../dspace/submit/step/SelectCollectionStep.java | 4 ++-- .../submit/step/StartSubmissionLookupStep.java | 2 +- .../java/org/dspace/submit/step/UploadStep.java | 4 ++-- .../submit/step/UploadWithEmbargoStep.java | 4 ++-- .../java/org/dspace/testing/PubMedToImport.java | 4 ++-- .../dspace/usage/LoggerUsageEventListener.java | 2 +- .../java/org/dspace/util/SolrImportExport.java | 4 ++-- .../versioning/DefaultItemVersionProvider.java | 4 ++-- .../org/dspace/versioning/VersionHistory.java | 4 ++-- .../BasicWorkflowItemServiceImpl.java | 4 ++-- .../workflowbasic/BasicWorkflowServiceImpl.java | 4 ++-- .../org/dspace/xmlworkflow/WorkflowUtils.java | 4 ++-- .../xmlworkflow/XmlWorkflowFactoryImpl.java | 4 ++-- .../xmlworkflow/XmlWorkflowServiceImpl.java | 4 ++-- .../xmlworkflow/migration/RestartWorkflow.java | 4 ++-- .../actions/userassignment/AutoAssignAction.java | 4 ++-- .../userassignment/UserSelectionAction.java | 4 ++-- .../XmlWorkflowItemServiceImpl.java | 4 ++-- .../test/java/org/dspace/AbstractDSpaceTest.java | 4 ++-- .../test/java/org/dspace/AbstractUnitTest.java | 4 ++-- .../org/dspace/app/bulkedit/DSpaceCSVTest.java | 4 ++-- .../org/dspace/app/util/GoogleMetadataTest.java | 4 ++-- .../org/dspace/content/BitstreamFormatTest.java | 4 ++-- .../java/org/dspace/content/BitstreamTest.java | 4 ++-- .../test/java/org/dspace/content/BundleTest.java | 4 ++-- .../java/org/dspace/content/CollectionTest.java | 4 ++-- .../java/org/dspace/content/CommunityTest.java | 4 ++-- .../test/java/org/dspace/content/DCDateTest.java | 4 ++-- .../org/dspace/content/FormatIdentifierTest.java | 4 ++-- .../dspace/content/ITCommunityCollection.java | 4 ++-- .../test/java/org/dspace/content/ITMetadata.java | 4 ++-- .../dspace/content/InProgressSubmissionTest.java | 4 ++-- .../java/org/dspace/content/InstallItemTest.java | 4 ++-- .../org/dspace/content/ItemComparatorTest.java | 4 ++-- .../test/java/org/dspace/content/ItemTest.java | 4 ++-- .../org/dspace/content/LicenseUtilsTest.java | 4 ++-- .../org/dspace/content/MetadataFieldTest.java | 4 ++-- .../org/dspace/content/MetadataSchemaTest.java | 4 ++-- .../org/dspace/content/MetadataValueTest.java | 4 ++-- .../content/NonUniqueMetadataExceptionTest.java | 4 ++-- .../test/java/org/dspace/content/SiteTest.java | 4 ++-- .../org/dspace/content/SupervisedItemTest.java | 4 ++-- .../java/org/dspace/content/ThumbnailTest.java | 4 ++-- .../java/org/dspace/content/VersioningTest.java | 4 ++-- .../org/dspace/content/WorkspaceItemTest.java | 4 ++-- .../org/dspace/content/packager/ITDSpaceAIP.java | 4 ++-- .../content/packager/PackageUtilsTest.java | 4 ++-- .../java/org/dspace/eperson/EPersonTest.java | 4 ++-- .../test/java/org/dspace/eperson/GroupTest.java | 4 ++-- .../handle/dao/impl/HandleDAOImplTest.java | 4 ++-- .../identifier/DOIIdentifierProviderTest.java | 4 ++-- .../identifier/EZIDIdentifierProviderTest.java | 2 +- .../BasicWorkflowAuthorizationIT.java | 4 ++-- .../BasicWorkflowAuthorizationRolesIT.java | 4 ++-- dspace-api/src/test/resources/log4j.properties | 8 ++++---- .../org/dspace/xoai/app/BasicConfiguration.java | 4 ++-- .../src/main/java/org/dspace/xoai/app/XOAI.java | 4 ++-- .../xoai/controller/DSpaceOAIDataProvider.java | 4 ++-- .../org/dspace/xoai/data/DSpaceSolrItem.java | 4 ++-- .../filter/DSpaceAtLeastOneMetadataFilter.java | 4 ++-- .../xoai/filter/DSpaceAuthorizationFilter.java | 4 ++-- .../xoai/filter/DSpaceMetadataExistsFilter.java | 4 ++-- .../dspace/xoai/filter/DSpaceSetSpecFilter.java | 4 ++-- .../org/dspace/xoai/filter/SolrFilterResult.java | 4 ++-- .../xoai/filter/results/SolrFilterResult.java | 4 ++-- .../impl/DSpaceEarliestDateResolver.java | 4 ++-- .../xoai/services/impl/MetadataFieldCache.java | 4 ++-- .../impl/solr/DSpaceSolrServerResolver.java | 4 ++-- .../impl/xoai/BaseDSpaceFilterResolver.java | 4 ++-- .../impl/xoai/DSpaceItemSolrRepository.java | 4 ++-- .../impl/xoai/DSpaceRepositoryConfiguration.java | 4 ++-- .../xoai/DSpaceResumptionTokenFormatter.java | 4 ++-- .../services/impl/xoai/DSpaceSetRepository.java | 4 ++-- .../org/dspace/xoai/solr/DSpaceSolrServer.java | 4 ++-- .../java/org/dspace/xoai/util/DateUtils.java | 4 ++-- .../java/org/dspace/xoai/util/ItemUtils.java | 4 ++-- .../main/java/org/dspace/xoai/util/URLUtils.java | 4 ++-- .../rdf/providing/DataProviderServlet.java | 4 ++-- .../providing/LocalURIRedirectionServlet.java | 4 ++-- .../java/org/dspace/rest/BitstreamResource.java | 4 ++-- .../org/dspace/rest/CollectionsResource.java | 4 ++-- .../org/dspace/rest/CommunitiesResource.java | 4 ++-- .../dspace/rest/FilteredCollectionsResource.java | 4 ++-- .../org/dspace/rest/FilteredItemsResource.java | 4 ++-- .../java/org/dspace/rest/FiltersResource.java | 4 ++-- .../java/org/dspace/rest/HandleResource.java | 4 ++-- .../java/org/dspace/rest/HierarchyResource.java | 4 ++-- .../main/java/org/dspace/rest/ItemsResource.java | 4 ++-- .../dspace/rest/MetadataRegistryResource.java | 4 ++-- .../src/main/java/org/dspace/rest/Resource.java | 4 ++-- .../src/main/java/org/dspace/rest/RestIndex.java | 4 ++-- .../main/java/org/dspace/rest/RestReports.java | 4 ++-- .../DSpaceAuthenticationProvider.java | 4 ++-- .../java/org/dspace/rest/common/Bitstream.java | 4 ++-- .../java/org/dspace/rest/common/Collection.java | 4 ++-- .../java/org/dspace/rest/common/Community.java | 4 ++-- .../dspace/rest/common/FilteredCollection.java | 4 ++-- .../main/java/org/dspace/rest/common/Item.java | 4 ++-- .../java/org/dspace/rest/common/ItemFilter.java | 4 ++-- .../org/dspace/rest/common/ItemFilterQuery.java | 4 ++-- .../dspace/rest/filter/ItemFilterDefsMeta.java | 4 ++-- .../dspace/rest/filter/ItemFilterDefsPerm.java | 4 ++-- .../org/dspace/rest/filter/ItemFilterSet.java | 4 ++-- .../org/dspace/rest/filter/ItemFilterUtil.java | 4 ++-- .../example/EventListenerExample.java | 2 +- .../src/test/resources/log4j.properties | 4 ++-- .../solr/filters/ConfigureLog4jListener.java | 14 +++++++------- .../app/rest/BitstreamContentRestController.java | 4 ++-- .../dspace/app/rest/DiscoveryRestController.java | 4 ++-- .../dspace/app/rest/RestResourceController.java | 4 ++-- .../app/rest/converter/BrowseEntryConverter.java | 4 ++-- .../app/rest/converter/CollectionConverter.java | 4 ++-- .../app/rest/converter/EPersonConverter.java | 4 ++-- .../app/rest/converter/GroupConverter.java | 4 ++-- .../dspace/app/rest/converter/ItemConverter.java | 4 ++-- .../converter/SubmissionDefinitionConverter.java | 4 ++-- .../converter/SubmissionSectionConverter.java | 4 ++-- .../rest/converter/WorkspaceItemConverter.java | 4 ++-- .../org/dspace/app/rest/link/HalLinkService.java | 4 ++-- .../rest/repository/DSpaceRestRepository.java | 4 ++-- .../rest/repository/DiscoveryRestRepository.java | 4 ++-- .../SubmissionUploadRestRepository.java | 4 ++-- .../repository/WorkspaceItemRestRepository.java | 4 ++-- .../app/rest/submit/SubmissionService.java | 4 ++-- .../app/rest/submit/step/DescribeStep.java | 4 ++-- .../step/validation/MetadataValidation.java | 4 ++-- .../submit/step/validation/UploadValidation.java | 4 ++-- .../org/dspace/app/rest/utils/ContextUtil.java | 4 ++-- .../app/rest/utils/DiscoverQueryBuilder.java | 4 ++-- .../org/dspace/app/rest/utils/ScopeResolver.java | 4 ++-- .../dspace/app/rest/builder/AbstractBuilder.java | 4 ++-- .../builder/AbstractDSpaceObjectBuilder.java | 4 ++-- .../app/rest/builder/BitstreamFormatBuilder.java | 4 ++-- .../app/rest/builder/MetadataFieldBuilder.java | 4 ++-- .../app/rest/builder/MetadataSchemaBuilder.java | 4 ++-- .../rest/test/AbstractDSpaceIntegrationTest.java | 4 ++-- .../AbstractIntegrationTestWithDatabase.java | 4 ++-- .../app/rest/utils/MultipartFileSenderTest.java | 4 ++-- .../java/org/dspace/solr/MockSolrServer.java | 4 ++-- .../src/test/resources/log4j.properties | 8 ++++---- .../dspace/sword/BitstreamEntryGenerator.java | 4 ++-- .../sword/CollectionCollectionGenerator.java | 4 ++-- .../org/dspace/sword/CollectionDepositor.java | 4 ++-- .../org/dspace/sword/CollectionLocation.java | 4 ++-- .../sword/CommunityCollectionGenerator.java | 2 +- .../java/org/dspace/sword/DSpaceSWORDServer.java | 4 ++-- .../java/org/dspace/sword/DepositManager.java | 4 ++-- .../org/dspace/sword/ItemEntryGenerator.java | 4 ++-- .../org/dspace/sword/SWORDAuthenticator.java | 4 ++-- .../org/dspace/sword/SWORDConfiguration.java | 4 ++-- .../java/org/dspace/sword/SWORDMETSIngester.java | 4 ++-- .../main/java/org/dspace/sword/SWORDService.java | 4 ++-- .../main/java/org/purl/sword/atom/Content.java | 4 ++-- .../src/main/java/org/purl/sword/atom/Entry.java | 4 ++-- .../main/java/org/purl/sword/atom/Generator.java | 4 ++-- .../src/main/java/org/purl/sword/atom/Link.java | 4 ++-- .../main/java/org/purl/sword/atom/Source.java | 4 ++-- .../java/org/purl/sword/atom/TextConstruct.java | 4 ++-- .../org/purl/sword/base/BasicContentElement.java | 4 ++-- .../java/org/purl/sword/base/ChecksumUtils.java | 4 ++-- .../java/org/purl/sword/base/Collection.java | 4 ++-- .../main/java/org/purl/sword/base/Deposit.java | 4 ++-- .../org/purl/sword/base/DepositResponse.java | 4 ++-- .../main/java/org/purl/sword/base/Service.java | 4 ++-- .../purl/sword/base/SwordAcceptPackaging.java | 4 ++-- .../sword/base/SwordContentPackageTypes.java | 4 ++-- .../main/java/org/purl/sword/base/Workspace.java | 4 ++-- .../java/org/purl/sword/base/XmlElement.java | 4 ++-- .../main/java/org/purl/sword/client/Client.java | 4 ++-- .../org/purl/sword/client/ClientFactory.java | 2 +- .../org/purl/sword/client/ClientOptions.java | 4 ++-- .../java/org/purl/sword/client/CmdClient.java | 4 ++-- .../org/purl/sword/server/DepositServlet.java | 4 ++-- .../java/org/purl/sword/server/DummyServer.java | 4 ++-- .../sword/server/ServiceDocumentServlet.java | 4 ++-- .../sword2/AbstractSwordContentIngester.java | 4 ++-- .../sword2/CollectionCollectionGenerator.java | 4 ++-- .../sword2/CollectionDepositManagerDSpace.java | 2 +- .../sword2/CommunityCollectionGenerator.java | 2 +- .../dspace/sword2/ContainerManagerDSpace.java | 4 ++-- .../java/org/dspace/sword2/DSpaceSwordAPI.java | 4 ++-- .../sword2/MediaResourceManagerDSpace.java | 2 +- .../java/org/dspace/sword2/ReceiptGenerator.java | 4 ++-- .../sword2/ServiceDocumentManagerDSpace.java | 2 +- .../org/dspace/sword2/SimpleDCEntryIngester.java | 4 ++-- .../dspace/sword2/StatementManagerDSpace.java | 4 ++-- .../org/dspace/sword2/SwordAuthenticator.java | 4 ++-- .../dspace/sword2/SwordConfigurationDSpace.java | 2 +- .../dspace/sword2/SwordMETSContentIngester.java | 4 ++-- dspace/config/log4j-console.properties | 4 ++-- dspace/config/log4j-handle-plugin.properties | 4 ++-- dspace/config/log4j-solr.properties | 8 ++++---- dspace/config/log4j.properties | 4 ++-- 414 files changed, 844 insertions(+), 835 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java b/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java index f1b8a0684c..b2f7280252 100644 --- a/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java +++ b/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java @@ -17,7 +17,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.xpath.XPathAPI; import org.dspace.authorize.AuthorizeException; import org.dspace.content.BitstreamFormat; @@ -47,7 +47,7 @@ public class RegistryLoader { /** * log4j category */ - private static Logger log = Logger.getLogger(RegistryLoader.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RegistryLoader.class); protected static BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() .getBitstreamFormatService(); diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index 7245bb568d..b8b7b7311f 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -26,7 +26,7 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authority.AuthorityValue; import org.dspace.authority.factory.AuthorityServiceFactory; import org.dspace.authority.service.AuthorityValueService; @@ -92,7 +92,7 @@ public class MetadataImport { /** * Logger */ - protected static final Logger log = Logger.getLogger(MetadataImport.class); + protected static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataImport.class); protected final AuthorityValueService authorityValueService; diff --git a/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java b/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java index 40cea2f786..28f7b6644a 100644 --- a/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java +++ b/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java @@ -23,7 +23,8 @@ import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.checker.BitstreamDispatcher; import org.dspace.checker.CheckerCommand; import org.dspace.checker.HandleDispatcher; @@ -48,7 +49,7 @@ import org.dspace.core.Utils; * @author Nathan Sarr */ public final class ChecksumChecker { - private static final Logger LOG = Logger.getLogger(ChecksumChecker.class); + private static final Logger LOG = LogManager.getLogger(ChecksumChecker.class); private static final BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java index 630afc0ee9..d3ffb14a9a 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java @@ -33,7 +33,7 @@ import java.util.zip.ZipOutputStream; import javax.mail.MessagingException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.itemexport.service.ItemExportService; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -98,7 +98,7 @@ public class ItemExportServiceImpl implements ItemExportService { /** * log4j logger */ - private Logger log = Logger.getLogger(ItemExportServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemExportServiceImpl.class); protected ItemExportServiceImpl() { diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index 682c090f60..e848c7b9a3 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -58,7 +58,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.xpath.XPathAPI; import org.dspace.app.itemimport.service.ItemImportService; import org.dspace.app.util.LocalSchemaFilenameFilter; @@ -124,7 +124,7 @@ import org.xml.sax.SAXException; * allow the registration of files (bitstreams) into DSpace. */ public class ItemImportServiceImpl implements ItemImportService, InitializingBean { - private final Logger log = Logger.getLogger(ItemImportServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemImportServiceImpl.class); @Autowired(required = true) protected AuthorizeService authorizeService; diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java index 8b07335904..2270d736a8 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java @@ -30,7 +30,7 @@ import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.LocalSchemaFilenameFilter; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; @@ -47,7 +47,7 @@ import org.w3c.dom.Document; * Encapsulates the Item in the context of the DSpace Archive Format */ public class ItemArchive { - private static final Logger log = Logger.getLogger(ItemArchive.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemArchive.class); public static final String DUBLIN_CORE_XML = "dublin_core.xml"; diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/ExcelFilter.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/ExcelFilter.java index 28db4cea8a..c17d168c04 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/ExcelFilter.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/ExcelFilter.java @@ -11,7 +11,7 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; import org.apache.commons.io.IOUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.poi.POITextExtractor; import org.apache.poi.extractor.ExtractorFactory; import org.apache.poi.hssf.extractor.ExcelExtractor; @@ -36,7 +36,7 @@ import org.dspace.content.Item; */ public class ExcelFilter extends MediaFilter { - private static Logger log = Logger.getLogger(ExcelFilter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ExcelFilter.class); public String getFilteredName(String oldFilename) { return oldFilename + ".txt"; diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/PDFFilter.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/PDFFilter.java index 6f398dabde..10ad5469d7 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/PDFFilter.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/PDFFilter.java @@ -16,7 +16,7 @@ import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.dspace.content.Item; @@ -30,7 +30,7 @@ import org.dspace.core.ConfigurationManager; */ public class PDFFilter extends MediaFilter { - private static Logger log = Logger.getLogger(PDFFilter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PDFFilter.class); @Override public String getFilteredName(String oldFilename) { diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/PowerPointFilter.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/PowerPointFilter.java index e0345ed3e8..86b7096f68 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/PowerPointFilter.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/PowerPointFilter.java @@ -10,7 +10,7 @@ package org.dspace.app.mediafilter; import java.io.ByteArrayInputStream; import java.io.InputStream; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.poi.POITextExtractor; import org.apache.poi.extractor.ExtractorFactory; import org.apache.poi.hslf.extractor.PowerPointExtractor; @@ -23,7 +23,7 @@ import org.dspace.content.Item; */ public class PowerPointFilter extends MediaFilter { - private static Logger log = Logger.getLogger(PowerPointFilter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PowerPointFilter.class); @Override public String getFilteredName(String oldFilename) { diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java index 5051c01fd4..d8fa8cc768 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java @@ -11,7 +11,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.textmining.extraction.TextExtractor; import org.textmining.extraction.word.WordTextExtractorFactory; @@ -24,7 +24,7 @@ import org.textmining.extraction.word.WordTextExtractorFactory; */ public class WordFilter extends MediaFilter { - private static Logger log = Logger.getLogger(WordFilter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(WordFilter.class); @Override public String getFilteredName(String oldFilename) { diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java index 1dfdeef349..a5f7341039 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java @@ -10,7 +10,7 @@ package org.dspace.app.requestitem; import java.sql.SQLException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; @@ -31,7 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class RequestItemHelpdeskStrategy extends RequestItemSubmitterStrategy { - private Logger log = Logger.getLogger(RequestItemHelpdeskStrategy.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(RequestItemHelpdeskStrategy.class); @Autowired(required = true) protected EPersonService ePersonService; diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java index baf64e8657..7f3d086c03 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java @@ -10,7 +10,7 @@ package org.dspace.app.requestitem; import java.sql.SQLException; import java.util.Date; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.requestitem.dao.RequestItemDAO; import org.dspace.app.requestitem.service.RequestItemService; import org.dspace.content.Bitstream; @@ -28,7 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class RequestItemServiceImpl implements RequestItemService { - private final Logger log = Logger.getLogger(RequestItemServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(RequestItemServiceImpl.class); @Autowired(required = true) protected RequestItemDAO requestItemDAO; diff --git a/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java index 66feb0e91e..184f00a53e 100644 --- a/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/sfx/SFXFileReaderServiceImpl.java @@ -16,7 +16,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.sfx.service.SFXFileReaderService; import org.dspace.content.DCPersonName; import org.dspace.content.Item; @@ -58,7 +58,7 @@ public class SFXFileReaderServiceImpl implements SFXFileReaderService { /** * log4j logger */ - private final Logger log = Logger.getLogger(SFXFileReaderServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(SFXFileReaderServiceImpl.class); protected SFXFileReaderServiceImpl() { } diff --git a/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java b/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java index c1f8dd0478..36c0c70f6d 100644 --- a/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java +++ b/dspace-api/src/main/java/org/dspace/app/sherpa/SHERPAService.java @@ -16,7 +16,7 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; public class SHERPAService { @@ -29,7 +29,7 @@ public class SHERPAService { /** * log4j category */ - private static final Logger log = Logger.getLogger(SHERPAService.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SHERPAService.class); public SHERPAService() { HttpClientBuilder builder = HttpClientBuilder.create(); diff --git a/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java b/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java index 6608454ae9..44f2723539 100644 --- a/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java +++ b/dspace-api/src/main/java/org/dspace/app/sherpa/submit/SHERPASubmitService.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.sherpa.SHERPAResponse; import org.dspace.app.sherpa.SHERPAService; import org.dspace.content.Item; @@ -27,7 +27,7 @@ public class SHERPASubmitService { /** * log4j logger */ - private static Logger log = Logger.getLogger(SHERPASubmitService.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SHERPASubmitService.class); public void setConfiguration(SHERPASubmitConfigurationService configuration) { this.configuration = configuration; diff --git a/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java b/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java index eca4a85165..bf8bddcd8a 100644 --- a/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java +++ b/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java @@ -29,7 +29,7 @@ import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.Item; @@ -52,7 +52,7 @@ public class GenerateSitemaps { /** * Logger */ - private static Logger log = Logger.getLogger(GenerateSitemaps.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(GenerateSitemaps.class); private static final CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); private static final CollectionService collectionService = diff --git a/dspace-api/src/main/java/org/dspace/app/util/DSpaceContextListener.java b/dspace-api/src/main/java/org/dspace/app/util/DSpaceContextListener.java index f2dcd593dc..b0289ec4a4 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DSpaceContextListener.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DSpaceContextListener.java @@ -16,14 +16,14 @@ import java.util.Enumeration; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Class to initialize / cleanup resources used by DSpace when the web application * is started or stopped. */ public class DSpaceContextListener implements ServletContextListener { - private static Logger log = Logger.getLogger(DSpaceContextListener.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceContextListener.class); /** * Initialize any resources required by the application. diff --git a/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java b/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java index f8dd80046f..ff45346715 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java @@ -15,9 +15,9 @@ import java.util.Calendar; import java.util.Date; import org.apache.commons.lang3.time.DateUtils; -import org.apache.log4j.FileAppender; -import org.apache.log4j.helpers.LogLog; -import org.apache.log4j.spi.LoggingEvent; +import org.apache.logging.log4j.FileAppender; +import org.apache.logging.log4j.helpers.LogLog; +import org.apache.logging.log4j.spi.LoggingEvent; /** * Special log appender for log4j. Adds the current date (ie. year-mon) to @@ -35,7 +35,7 @@ import org.apache.log4j.spi.LoggingEvent; * log4j.appender.A1.File=@@log.dir@@/dspace.log * log4j.appender.A1.DatePattern=yyyy-MM * log4j.appender.A1.MaxLogs=3 - * log4j.appender.A1.layout=org.apache.log4j.PatternLayout + * log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout * log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n */ public class DailyFileAppender extends FileAppender { @@ -81,7 +81,7 @@ public class DailyFileAppender extends FileAppender { } /* (non-Javadoc) - * @see org.apache.log4j.FileAppender#activateOptions() + * @see org.apache.logging.log4j.FileAppender#activateOptions() */ @Override public void activateOptions() { @@ -142,7 +142,7 @@ public class DailyFileAppender extends FileAppender { * Methods *----------------------------------------------------------------------------*/ /* (non-Javadoc) - * @see org.apache.log4j.WriterAppender#subAppend(org.apache.log4j.spi.LoggingEvent) + * @see org.apache.logging.log4j.WriterAppender#subAppend(org.apache.logging.log4j.spi.LoggingEvent) */ @Override protected void subAppend(LoggingEvent pobjEvent) { diff --git a/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java b/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java index 821fd2f3b5..add98af96f 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java +++ b/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java @@ -12,7 +12,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; import org.dspace.content.factory.ContentServiceFactory; @@ -24,7 +24,7 @@ import org.dspace.core.Context; */ public class GoogleBitstreamComparator implements Comparator { - private final static Logger log = Logger.getLogger(GoogleBitstreamComparator.class); + private final static Logger log = org.apache.logging.log4j.LogManager.getLogger(GoogleBitstreamComparator.class); HashMap priorityMap = new HashMap<>(); diff --git a/dspace-api/src/main/java/org/dspace/app/util/GoogleMetadata.java b/dspace-api/src/main/java/org/dspace/app/util/GoogleMetadata.java index f012395de4..c2bd6633f0 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/GoogleMetadata.java +++ b/dspace-api/src/main/java/org/dspace/app/util/GoogleMetadata.java @@ -26,7 +26,7 @@ import java.util.Properties; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -51,7 +51,7 @@ import org.jdom.Element; @SuppressWarnings("deprecation") public class GoogleMetadata { - private final static Logger log = Logger.getLogger(GoogleMetadata.class); + private final static Logger log = org.apache.logging.log4j.LogManager.getLogger(GoogleMetadata.class); protected static final String GOOGLE_PREFIX = "google."; diff --git a/dspace-api/src/main/java/org/dspace/app/util/MetadataExposureServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/util/MetadataExposureServiceImpl.java index 3c3eb8ab4f..681867371a 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/MetadataExposureServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/util/MetadataExposureServiceImpl.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.service.MetadataExposureService; import org.dspace.authorize.service.AuthorizeService; import org.dspace.core.Context; @@ -58,7 +58,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @version $Revision: 3734 $ */ public class MetadataExposureServiceImpl implements MetadataExposureService { - protected Logger log = Logger.getLogger(MetadataExposureServiceImpl.class); + protected Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataExposureServiceImpl.class); protected Map> hiddenElementSets = null; protected Map>> hiddenElementMaps = null; diff --git a/dspace-api/src/main/java/org/dspace/app/util/OpenSearchServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/util/OpenSearchServiceImpl.java index d0824923c7..c8d5a8dd9a 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/OpenSearchServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/util/OpenSearchServiceImpl.java @@ -20,7 +20,7 @@ import com.sun.syndication.feed.module.opensearch.OpenSearchModule; import com.sun.syndication.feed.module.opensearch.entity.OSQuery; import com.sun.syndication.feed.module.opensearch.impl.OpenSearchModuleImpl; import com.sun.syndication.io.FeedException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.service.OpenSearchService; import org.dspace.content.DSpaceObject; import org.dspace.core.Constants; @@ -54,7 +54,7 @@ import org.w3c.dom.Document; * @author Richard Rodgers */ public class OpenSearchServiceImpl implements OpenSearchService, InitializingBean { - private static final Logger log = Logger.getLogger(OpenSearchServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(OpenSearchServiceImpl.class); // are open search queries enabled? protected boolean enabled = false; diff --git a/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java b/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java index c717ac3014..1e018ff889 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java +++ b/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; @@ -28,7 +28,7 @@ import org.springframework.util.StopWatch; * Invocation: dsrun org.dspace.app.util.OptimizeSelectCollection */ public class OptimizeSelectCollection { - private static final Logger log = Logger.getLogger(OptimizeSelectCollection.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(OptimizeSelectCollection.class); private static Context context; private static ArrayList brokenPeople; diff --git a/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfig.java b/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfig.java index c231955ad4..94d61048bb 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfig.java +++ b/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfig.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Class representing a single Item Submission config definition, organized into @@ -44,7 +44,7 @@ public class SubmissionConfig implements Serializable { /** * log4j logger */ - private static Logger log = Logger.getLogger(SubmissionConfig.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionConfig.class); /** * Constructs a new Submission Configuration object, based on the XML diff --git a/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfigReader.java b/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfigReader.java index 407d9c2bef..c65b7d1c90 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfigReader.java +++ b/dspace-api/src/main/java/org/dspace/app/util/SubmissionConfigReader.java @@ -19,7 +19,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.FactoryConfigurationError; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; @@ -71,7 +71,7 @@ public class SubmissionConfigReader { /** * log4j logger */ - private static Logger log = Logger.getLogger(SubmissionConfigReader.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionConfigReader.class); /** * The fully qualified pathname of the directory containing the Item Submission Configuration file diff --git a/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java b/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java index d2ca6c3f93..3e0caee543 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java +++ b/dspace-api/src/main/java/org/dspace/app/util/SyndicationFeed.java @@ -36,7 +36,7 @@ import com.sun.syndication.io.FeedException; import com.sun.syndication.io.SyndFeedOutput; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.Collection; @@ -69,7 +69,7 @@ import org.w3c.dom.Document; * @author Larry Stone */ public class SyndicationFeed { - protected final Logger log = Logger.getLogger(SyndicationFeed.class); + protected final Logger log = org.apache.logging.log4j.LogManager.getLogger(SyndicationFeed.class); /** diff --git a/dspace-api/src/main/java/org/dspace/app/util/Util.java b/dspace-api/src/main/java/org/dspace/app/util/Util.java index 0646472a9c..7d4a5e8182 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/Util.java +++ b/dspace-api/src/main/java/org/dspace/app/util/Util.java @@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Item; import org.dspace.content.MetadataValue; @@ -44,7 +44,7 @@ public class Util { // cache for source version result private static String sourceVersion = null; - private static Logger log = Logger.getLogger(Util.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Util.class); /** * Default constructor. Must be protected as org.dspace.xmlworkflow.WorkflowUtils extends it diff --git a/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java index 84cc21e642..5709867f24 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java @@ -18,7 +18,7 @@ import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpHead; import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.dao.WebAppDAO; import org.dspace.app.util.service.WebAppService; import org.dspace.core.Context; @@ -33,7 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class WebAppServiceImpl implements WebAppService { - private final Logger log = Logger.getLogger(WebAppServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(WebAppServiceImpl.class); @Autowired(required = true) protected WebAppDAO webAppDAO; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java index a36c7dbb00..f78cc449be 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java @@ -17,7 +17,8 @@ import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; +import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; import org.dspace.core.LogManager; import org.dspace.core.factory.CoreServiceFactory; @@ -50,7 +51,7 @@ public class IPAuthentication implements AuthenticationMethod { /** * Our logger */ - private static Logger log = Logger.getLogger(IPAuthentication.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(IPAuthentication.class); /** * Whether to look for x-forwarded headers for logging IP addresses diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPMatcher.java b/dspace-api/src/main/java/org/dspace/authenticate/IPMatcher.java index 02825589cb..955b6c86d3 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPMatcher.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPMatcher.java @@ -10,7 +10,7 @@ package org.dspace.authenticate; import java.net.Inet6Address; import java.net.UnknownHostException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** *

@@ -38,7 +38,7 @@ import org.apache.log4j.Logger; * @version $Revision$ */ public class IPMatcher { - private static Logger log = Logger.getLogger(IPMatcher.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(IPMatcher.class); /** * Network to match diff --git a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java index 349f944a6d..ae793ec433 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java @@ -29,7 +29,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; import org.dspace.authorize.AuthorizeException; @@ -61,7 +61,7 @@ public class LDAPAuthentication /** * log4j category */ - private static Logger log = Logger.getLogger(LDAPAuthentication.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LDAPAuthentication.class); protected AuthenticationService authenticationService = AuthenticateServiceFactory.getInstance() .getAuthenticationService(); diff --git a/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java index a111be30ce..86cfb50c5f 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java @@ -15,7 +15,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.LogManager; import org.dspace.eperson.EPerson; @@ -49,7 +49,7 @@ public class PasswordAuthentication /** * log4j category */ - private static Logger log = Logger.getLogger(PasswordAuthentication.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PasswordAuthentication.class); /** diff --git a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java index b6a0bfa3d2..2ff0e457a8 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java @@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authorize.AuthorizeException; import org.dspace.content.MetadataField; @@ -70,7 +70,7 @@ public class ShibAuthentication implements AuthenticationMethod { /** * log4j category */ - private static Logger log = Logger.getLogger(ShibAuthentication.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ShibAuthentication.class); /** * Additional metadata mappings diff --git a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java index 2cbb95122b..df9e767116 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java @@ -30,7 +30,7 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; import org.dspace.authorize.AuthorizeException; @@ -105,7 +105,7 @@ public class X509Authentication implements AuthenticationMethod { /** * log4j category */ - private static Logger log = Logger.getLogger(X509Authentication.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(X509Authentication.class); /** * public key of CA to check client certs against. diff --git a/dspace-api/src/main/java/org/dspace/authority/AuthoritySolrServiceImpl.java b/dspace-api/src/main/java/org/dspace/authority/AuthoritySolrServiceImpl.java index 56521ac950..2aeaa6e364 100644 --- a/dspace-api/src/main/java/org/dspace/authority/AuthoritySolrServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authority/AuthoritySolrServiceImpl.java @@ -12,7 +12,7 @@ import java.net.MalformedURLException; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; @@ -30,7 +30,7 @@ import org.dspace.core.ConfigurationManager; */ public class AuthoritySolrServiceImpl implements AuthorityIndexingService, AuthoritySearchService { - private static final Logger log = Logger.getLogger(AuthoritySolrServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AuthoritySolrServiceImpl.class); protected AuthoritySolrServiceImpl() { diff --git a/dspace-api/src/main/java/org/dspace/authority/AuthorityTypes.java b/dspace-api/src/main/java/org/dspace/authority/AuthorityTypes.java index 22f2f495cf..3ed16e9ce1 100644 --- a/dspace-api/src/main/java/org/dspace/authority/AuthorityTypes.java +++ b/dspace-api/src/main/java/org/dspace/authority/AuthorityTypes.java @@ -12,7 +12,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * This class contains a list of active authority types. @@ -32,7 +32,7 @@ public class AuthorityTypes { /** * log4j logger */ - private static Logger log = Logger.getLogger(AuthorityTypes.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AuthorityTypes.class); protected List types = new ArrayList(); diff --git a/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java b/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java index eb10aeebf2..acb5bd754d 100644 --- a/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java +++ b/dspace-api/src/main/java/org/dspace/authority/AuthorityValue.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrInputDocument; import org.dspace.authorize.AuthorizeException; @@ -234,7 +234,7 @@ public class AuthorityValue { /** * log4j logger */ - private static Logger log = Logger.getLogger(AuthorityValue.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AuthorityValue.class); @Override public String toString() { diff --git a/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java b/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java index 1b83af7ec4..194da3eba5 100644 --- a/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authority/AuthorityValueServiceImpl.java @@ -14,7 +14,7 @@ import java.util.Map; import java.util.UUID; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; @@ -34,7 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class AuthorityValueServiceImpl implements AuthorityValueService { - private final Logger log = Logger.getLogger(AuthorityValueServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(AuthorityValueServiceImpl.class); @Autowired(required = true) protected AuthorityTypes authorityTypes; diff --git a/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java b/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java index 44fd0a9241..db008c9db6 100644 --- a/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java +++ b/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java @@ -19,7 +19,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authority.factory.AuthorityServiceFactory; import org.dspace.authority.service.AuthorityValueService; import org.dspace.content.Item; @@ -40,7 +40,7 @@ public class UpdateAuthorities { /** * log4j logger */ - private static Logger log = Logger.getLogger(UpdateAuthorities.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(UpdateAuthorities.class); protected PrintWriter print = null; diff --git a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java index c5029db53a..2105aa9488 100644 --- a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java +++ b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java @@ -12,7 +12,7 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authority.factory.AuthorityServiceFactory; import org.dspace.authority.service.AuthorityService; import org.dspace.content.DSpaceObject; @@ -33,7 +33,7 @@ import org.dspace.event.Event; */ public class AuthorityConsumer implements Consumer { - private final Logger log = Logger.getLogger(AuthorityConsumer.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(AuthorityConsumer.class); /** * A set of all item IDs installed which need their authority updated diff --git a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java index 2b933a3bff..f2a4dcf6c4 100644 --- a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java +++ b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java @@ -12,7 +12,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authority.AuthorityValue; import org.dspace.authority.factory.AuthorityServiceFactory; import org.dspace.authority.service.AuthorityService; @@ -29,7 +29,7 @@ import org.dspace.core.Context; */ public class AuthorityIndexClient { - private static Logger log = Logger.getLogger(AuthorityIndexClient.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AuthorityIndexClient.class); protected static final AuthorityService authorityService = AuthorityServiceFactory.getInstance().getAuthorityService(); diff --git a/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java b/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java index 8d6c90724a..20baef8f9c 100644 --- a/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java +++ b/dspace-api/src/main/java/org/dspace/authority/indexer/DSpaceAuthorityIndexer.java @@ -14,7 +14,7 @@ import java.util.Map; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authority.AuthorityValue; import org.dspace.authority.service.AuthorityValueService; import org.dspace.authorize.AuthorizeException; @@ -45,7 +45,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class DSpaceAuthorityIndexer implements AuthorityIndexerInterface, InitializingBean { - private static final Logger log = Logger.getLogger(DSpaceAuthorityIndexer.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceAuthorityIndexer.class); /** * The list of metadata fields which are to be indexed * diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java index 784a3fdf24..f64b498235 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java @@ -14,9 +14,9 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; -import org.apache.log4j.Logger; import org.xml.sax.SAXException; +import org.apache.logging.log4j.Logger; /** * @param type @@ -30,7 +30,7 @@ public abstract class Converter { /** * log4j logger */ - private static Logger log = Logger.getLogger(Converter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Converter.class); public abstract T convert(InputStream document); diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java index 9fb4a50d5f..7f2de9f870 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java @@ -12,7 +12,6 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; import org.dspace.authority.orcid.Orcidv2; import org.dspace.utils.DSpace; import org.orcid.jaxb.model.common_v2.OrcidId; @@ -20,8 +19,7 @@ import org.orcid.jaxb.model.record_v2.Person; import org.orcid.jaxb.model.search_v2.Result; import org.orcid.jaxb.model.search_v2.Search; import org.xml.sax.SAXException; - - +import org.apache.logging.log4j.Logger; /** * @author Antoine Snyers (antoine at atmire.com) @@ -34,7 +32,7 @@ public class XMLtoBio extends Converter { /** * log4j logger */ - private static Logger log = Logger.getLogger(XMLtoBio.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(XMLtoBio.class); @Override public List convert(InputStream xml) { diff --git a/dspace-api/src/main/java/org/dspace/authority/rest/RESTConnector.java b/dspace-api/src/main/java/org/dspace/authority/rest/RESTConnector.java index cfa21a66cb..df88985d3a 100644 --- a/dspace-api/src/main/java/org/dspace/authority/rest/RESTConnector.java +++ b/dspace-api/src/main/java/org/dspace/authority/rest/RESTConnector.java @@ -15,7 +15,7 @@ import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * @author Antoine Snyers (antoine at atmire.com) @@ -28,7 +28,7 @@ public class RESTConnector { /** * log4j logger */ - private static Logger log = Logger.getLogger(RESTConnector.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RESTConnector.class); private String url; diff --git a/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java b/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java index ed6bc0d7c5..43239ea459 100644 --- a/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java +++ b/dspace-api/src/main/java/org/dspace/authority/util/EnumUtils.java @@ -8,7 +8,7 @@ package org.dspace.authority.util; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * @author Antoine Snyers (antoine at atmire.com) @@ -21,7 +21,7 @@ public class EnumUtils { /** * log4j logger */ - private static Logger log = Logger.getLogger(EnumUtils.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(EnumUtils.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/authority/util/XMLUtils.java b/dspace-api/src/main/java/org/dspace/authority/util/XMLUtils.java index 5249f599e3..77568205af 100644 --- a/dspace-api/src/main/java/org/dspace/authority/util/XMLUtils.java +++ b/dspace-api/src/main/java/org/dspace/authority/util/XMLUtils.java @@ -17,7 +17,7 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.xpath.XPathExpressionException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.xpath.XPathAPI; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -36,7 +36,7 @@ public class XMLUtils { /** * log4j logger */ - private static Logger log = Logger.getLogger(XMLUtils.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(XMLUtils.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java index 2aaf2d1e0d..4693599c31 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java @@ -16,7 +16,7 @@ import java.util.Set; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.dao.ResourcePolicyDAO; import org.dspace.authorize.service.ResourcePolicyService; import org.dspace.content.DSpaceObject; @@ -38,7 +38,7 @@ public class ResourcePolicyServiceImpl implements ResourcePolicyService { /** * log4j logger */ - private static Logger log = Logger.getLogger(ResourcePolicyServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ResourcePolicyServiceImpl.class); @Autowired(required = true) protected ContentServiceFactory contentServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/browse/BrowseEngine.java b/dspace-api/src/main/java/org/dspace/browse/BrowseEngine.java index f7fb0b21ee..302d46eb0d 100644 --- a/dspace-api/src/main/java/org/dspace/browse/BrowseEngine.java +++ b/dspace-api/src/main/java/org/dspace/browse/BrowseEngine.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.Item; @@ -34,7 +34,7 @@ public class BrowseEngine { /** * the logger for this class */ - private static final Logger log = Logger.getLogger(BrowseEngine.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BrowseEngine.class); /** * the browse scope which is the basis for our browse diff --git a/dspace-api/src/main/java/org/dspace/browse/ItemCountDAOSolr.java b/dspace-api/src/main/java/org/dspace/browse/ItemCountDAOSolr.java index e39a584684..4b741847a8 100644 --- a/dspace-api/src/main/java/org/dspace/browse/ItemCountDAOSolr.java +++ b/dspace-api/src/main/java/org/dspace/browse/ItemCountDAOSolr.java @@ -11,7 +11,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; @@ -36,7 +36,7 @@ public class ItemCountDAOSolr implements ItemCountDAO { /** * Log4j logger */ - private static Logger log = Logger.getLogger(ItemCountDAOSolr.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemCountDAOSolr.class); /** * DSpace context diff --git a/dspace-api/src/main/java/org/dspace/browse/ItemCounter.java b/dspace-api/src/main/java/org/dspace/browse/ItemCounter.java index 9b91f7afb9..c9c140fb0b 100644 --- a/dspace-api/src/main/java/org/dspace/browse/ItemCounter.java +++ b/dspace-api/src/main/java/org/dspace/browse/ItemCounter.java @@ -9,7 +9,7 @@ package org.dspace.browse; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; @@ -37,7 +37,7 @@ public class ItemCounter { /** * Log4j logger */ - private static Logger log = Logger.getLogger(ItemCounter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemCounter.class); /** * DAO to use to store and retrieve data diff --git a/dspace-api/src/main/java/org/dspace/browse/LocaleOrderingFilter.java b/dspace-api/src/main/java/org/dspace/browse/LocaleOrderingFilter.java index 40f889233a..c2a2bd9804 100644 --- a/dspace-api/src/main/java/org/dspace/browse/LocaleOrderingFilter.java +++ b/dspace-api/src/main/java/org/dspace/browse/LocaleOrderingFilter.java @@ -12,7 +12,7 @@ import java.util.Locale; import com.ibm.icu.text.CollationElementIterator; import com.ibm.icu.text.Collator; import com.ibm.icu.text.RuleBasedCollator; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.text.filter.TextFilter; @@ -32,7 +32,7 @@ import org.dspace.text.filter.TextFilter; * @author Graham Triggs */ public class LocaleOrderingFilter implements TextFilter { - private static Logger log = Logger.getLogger(LocaleOrderingFilter.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LocaleOrderingFilter.class); /** * Uses a Locale dependent Collator to generate a sort string diff --git a/dspace-api/src/main/java/org/dspace/browse/SolrBrowseDAO.java b/dspace-api/src/main/java/org/dspace/browse/SolrBrowseDAO.java index 3e5415f7d4..98d5b8bbcb 100644 --- a/dspace-api/src/main/java/org/dspace/browse/SolrBrowseDAO.java +++ b/dspace-api/src/main/java/org/dspace/browse/SolrBrowseDAO.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.DSpaceObject; @@ -68,7 +68,7 @@ public class SolrBrowseDAO implements BrowseDAO { /** * Log4j log */ - private static final Logger log = Logger.getLogger(SolrBrowseDAO.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrBrowseDAO.class); /** * The DSpace context diff --git a/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java b/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java index 2ae27e5ec6..6b16d51bfe 100644 --- a/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java +++ b/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java @@ -13,7 +13,7 @@ import java.util.Date; import java.util.Map; import org.apache.commons.collections4.MapUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.checker.factory.CheckerServiceFactory; import org.dspace.checker.service.ChecksumHistoryService; import org.dspace.checker.service.ChecksumResultService; @@ -42,7 +42,7 @@ public final class CheckerCommand { /** * Usual Log4J logger. */ - private static final Logger LOG = Logger.getLogger(CheckerCommand.class); + private static final Logger LOG = org.apache.logging.log4j.LogManager.getLogger(CheckerCommand.class); private Context context; diff --git a/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java b/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java index f4266a7a79..4601e3867f 100644 --- a/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java +++ b/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java @@ -7,7 +7,7 @@ */ package org.dspace.checker; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.checker.factory.CheckerServiceFactory; import org.dspace.checker.service.ChecksumHistoryService; import org.dspace.content.Bitstream; @@ -26,7 +26,7 @@ public class CheckerConsumer implements Consumer { /** * log4j logger */ - private static Logger log = Logger.getLogger(CheckerConsumer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CheckerConsumer.class); protected ChecksumHistoryService checksumHistoryService = CheckerServiceFactory.getInstance() .getChecksumHistoryService(); diff --git a/dspace-api/src/main/java/org/dspace/checker/DailyReportEmailer.java b/dspace-api/src/main/java/org/dspace/checker/DailyReportEmailer.java index 0b54ede0c5..56dabb0460 100644 --- a/dspace-api/src/main/java/org/dspace/checker/DailyReportEmailer.java +++ b/dspace-api/src/main/java/org/dspace/checker/DailyReportEmailer.java @@ -21,7 +21,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.checker.factory.CheckerServiceFactory; import org.dspace.checker.service.SimpleReporterService; import org.dspace.core.ConfigurationManager; @@ -43,7 +43,7 @@ public class DailyReportEmailer { /** * log4j logger. */ - private static Logger log = Logger.getLogger(DailyReportEmailer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DailyReportEmailer.class); /** * Default constructor. diff --git a/dspace-api/src/main/java/org/dspace/checker/HandleDispatcher.java b/dspace-api/src/main/java/org/dspace/checker/HandleDispatcher.java index cec2d8f566..e68b37e180 100644 --- a/dspace-api/src/main/java/org/dspace/checker/HandleDispatcher.java +++ b/dspace-api/src/main/java/org/dspace/checker/HandleDispatcher.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; @@ -35,7 +35,7 @@ public class HandleDispatcher implements BitstreamDispatcher { /** * Log 4j logger. */ - private static final Logger LOG = Logger.getLogger(HandleDispatcher.class); + private static final Logger LOG = org.apache.logging.log4j.LogManager.getLogger(HandleDispatcher.class); protected Context context; diff --git a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java index 82a8ace677..5e875a152d 100644 --- a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.Date; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.checker.dao.MostRecentChecksumDAO; import org.dspace.checker.service.ChecksumResultService; import org.dspace.checker.service.MostRecentChecksumService; @@ -28,7 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @author kevinvandevelde at atmire.com */ public class MostRecentChecksumServiceImpl implements MostRecentChecksumService { - private static final Logger log = Logger.getLogger(MostRecentChecksumServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MostRecentChecksumServiceImpl.class); @Autowired(required = true) protected MostRecentChecksumDAO mostRecentChecksumDAO; diff --git a/dspace-api/src/main/java/org/dspace/checker/ResultsLogger.java b/dspace-api/src/main/java/org/dspace/checker/ResultsLogger.java index e0cf489d8c..358d0c4018 100644 --- a/dspace-api/src/main/java/org/dspace/checker/ResultsLogger.java +++ b/dspace-api/src/main/java/org/dspace/checker/ResultsLogger.java @@ -12,7 +12,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.core.Context; import org.dspace.core.I18nUtil; @@ -30,7 +30,7 @@ public class ResultsLogger implements ChecksumResultsCollector { /** * Usual Log4J logger. */ - private static final Logger LOG = Logger.getLogger(ResultsLogger.class); + private static final Logger LOG = org.apache.logging.log4j.LogManager.getLogger(ResultsLogger.class); /** * Utility date format. diff --git a/dspace-api/src/main/java/org/dspace/checker/ResultsPruner.java b/dspace-api/src/main/java/org/dspace/checker/ResultsPruner.java index 2d595a19f8..d3c0b130da 100644 --- a/dspace-api/src/main/java/org/dspace/checker/ResultsPruner.java +++ b/dspace-api/src/main/java/org/dspace/checker/ResultsPruner.java @@ -19,7 +19,7 @@ import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.checker.factory.CheckerServiceFactory; import org.dspace.checker.service.ChecksumHistoryService; import org.dspace.core.ConfigurationManager; @@ -40,7 +40,7 @@ public final class ResultsPruner { /** * Default logger. */ - private static final Logger LOG = Logger.getLogger(ResultsPruner.class); + private static final Logger LOG = org.apache.logging.log4j.LogManager.getLogger(ResultsPruner.class); /** * Factory method for the default results pruner configuration using diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java index 978b3070fc..7239424d91 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java @@ -12,7 +12,7 @@ import java.util.Collections; import java.util.List; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.dao.BitstreamFormatDAO; @@ -33,7 +33,7 @@ public class BitstreamFormatServiceImpl implements BitstreamFormatService { /** * log4j logger */ - private static Logger log = Logger.getLogger(BitstreamFormat.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamFormat.class); @Autowired(required = true) protected BitstreamFormatDAO bitstreamFormatDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index ba720e24c4..bef2012202 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -16,7 +16,7 @@ import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.dao.BitstreamDAO; @@ -43,7 +43,7 @@ public class BitstreamServiceImpl extends DSpaceObjectServiceImpl imp /** * log4j logger */ - private static Logger log = Logger.getLogger(BitstreamServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamServiceImpl.class); @Autowired(required = true) diff --git a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java index 46b201c454..1e4f4daa07 100644 --- a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java @@ -17,7 +17,7 @@ import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeConfiguration; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; @@ -45,7 +45,7 @@ public class BundleServiceImpl extends DSpaceObjectServiceImpl implement /** * log4j logger */ - private static Logger log = Logger.getLogger(Bundle.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Bundle.class); @Autowired(required = true) protected BundleDAO bundleDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index 29e5a08d7c..d76c4798f1 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -21,7 +21,7 @@ import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeConfiguration; import org.dspace.authorize.AuthorizeException; @@ -61,7 +61,7 @@ public class CollectionServiceImpl extends DSpaceObjectServiceImpl i /** * log4j category */ - private static final Logger log = Logger.getLogger(CollectionServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionServiceImpl.class); @Autowired(required = true) protected CollectionDAO collectionDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/Community.java b/dspace-api/src/main/java/org/dspace/content/Community.java index 05eb8a3955..abd5f11852 100644 --- a/dspace-api/src/main/java/org/dspace/content/Community.java +++ b/dspace-api/src/main/java/org/dspace/content/Community.java @@ -24,7 +24,7 @@ import javax.persistence.Table; import javax.persistence.Transient; import org.apache.commons.lang3.builder.HashCodeBuilder; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.comparator.NameAscendingComparator; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CommunityService; @@ -52,7 +52,7 @@ public class Community extends DSpaceObject implements DSpaceObjectLegacySupport /** * log4j category */ - private static final Logger log = Logger.getLogger(Community.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Community.class); @Column(name = "community_id", insertable = false, updatable = false) private Integer legacyId; diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index 7e8d890198..ac939434a5 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -18,7 +18,7 @@ import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeConfiguration; import org.dspace.authorize.AuthorizeException; @@ -51,7 +51,7 @@ public class CommunityServiceImpl extends DSpaceObjectServiceImpl imp /** * log4j category */ - private static Logger log = Logger.getLogger(CommunityServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CommunityServiceImpl.class); @Autowired(required = true) protected CommunityDAO communityDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/DCDate.java b/dspace-api/src/main/java/org/dspace/content/DCDate.java index 729b1d3753..4acccb2d84 100644 --- a/dspace-api/src/main/java/org/dspace/content/DCDate.java +++ b/dspace-api/src/main/java/org/dspace/content/DCDate.java @@ -18,7 +18,7 @@ import java.util.Locale; import java.util.Map; import java.util.TimeZone; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; // FIXME: Not very robust - assumes dates will always be valid @@ -45,7 +45,7 @@ public class DCDate { /** * Logger */ - private static Logger log = Logger.getLogger(DCDate.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DCDate.class); // UTC timezone private static final TimeZone utcZone = TimeZone.getTimeZone("UTC"); diff --git a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java index c56513aa93..ddd9a6371d 100644 --- a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java @@ -19,7 +19,7 @@ import java.util.StringTokenizer; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.authority.Choices; import org.dspace.content.authority.service.ChoiceAuthorityService; @@ -48,7 +48,7 @@ public abstract class DSpaceObjectServiceImpl implements /** * log4j category */ - private static final Logger log = Logger.getLogger(DSpaceObjectServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceObjectServiceImpl.class); @Autowired(required = true) protected ChoiceAuthorityService choiceAuthorityService; diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 11287e4622..d65f8d4240 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -18,7 +18,7 @@ import java.util.UUID; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeConfiguration; import org.dspace.authorize.AuthorizeException; @@ -63,7 +63,7 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl implements It /** * log4j category */ - private static final Logger log = Logger.getLogger(Item.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Item.class); @Autowired(required = true) protected ItemDAO itemDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java index c48ff015e4..e3ed9c8ae7 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.List; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.dao.MetadataFieldDAO; @@ -33,7 +33,7 @@ public class MetadataFieldServiceImpl implements MetadataFieldService { /** * log4j logger */ - private static Logger log = Logger.getLogger(MetadataFieldServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataFieldServiceImpl.class); @Autowired(required = true) protected MetadataFieldDAO metadataFieldDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java index f2b13fb8ea..185addfb01 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java @@ -10,7 +10,7 @@ package org.dspace.content; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.dao.MetadataSchemaDAO; @@ -31,7 +31,7 @@ public class MetadataSchemaServiceImpl implements MetadataSchemaService { /** * log4j logger */ - private static Logger log = Logger.getLogger(MetadataSchemaServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataSchemaServiceImpl.class); @Autowired(required = true) protected AuthorizeService authorizeService; diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java index 396265467b..e7b00ab85c 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Iterator; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.dao.MetadataValueDAO; @@ -33,7 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class MetadataValueServiceImpl implements MetadataValueService { - private static final Logger log = Logger.getLogger(MetadataValueServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataValueServiceImpl.class); @Autowired(required = true) protected AuthorizeService authorizeService; diff --git a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java index d378ecdb27..93357d1712 100644 --- a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInputsReaderException; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; @@ -40,7 +40,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class WorkspaceItemServiceImpl implements WorkspaceItemService { - private static final Logger log = Logger.getLogger(WorkspaceItemServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(WorkspaceItemServiceImpl.class); @Autowired(required = true) protected WorkspaceItemDAO workspaceItemDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/ChoiceAuthorityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/authority/ChoiceAuthorityServiceImpl.java index 94d5696f5e..c6fe528fdb 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/ChoiceAuthorityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/ChoiceAuthorityServiceImpl.java @@ -14,7 +14,7 @@ import java.util.Map; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInput; import org.dspace.app.util.DCInputSet; import org.dspace.app.util.DCInputsReader; @@ -49,7 +49,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @see ChoiceAuthority */ public final class ChoiceAuthorityServiceImpl implements ChoiceAuthorityService { - private Logger log = Logger.getLogger(ChoiceAuthorityServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(ChoiceAuthorityServiceImpl.class); // map of field key to authority plugin protected Map controller = new HashMap(); diff --git a/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java index 207595cfb0..a64ebdd971 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/DCInputAuthority.java @@ -13,7 +13,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInputsReader; import org.dspace.app.util.DCInputsReaderException; import org.dspace.content.Collection; @@ -42,7 +42,7 @@ import org.dspace.core.SelfNamedPlugin; * fields. */ public class DCInputAuthority extends SelfNamedPlugin implements ChoiceAuthority { - private static Logger log = Logger.getLogger(DCInputAuthority.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DCInputAuthority.class); private String values[] = null; private String labels[] = null; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java b/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java index 21eb3f158d..516b9a06ae 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/DSpaceControlledVocabulary.java @@ -18,7 +18,7 @@ import javax.xml.xpath.XPathFactory; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.core.SelfNamedPlugin; import org.dspace.services.ConfigurationService; @@ -56,7 +56,7 @@ import org.xml.sax.InputSource; public class DSpaceControlledVocabulary extends SelfNamedPlugin implements ChoiceAuthority { - private static Logger log = Logger.getLogger(DSpaceControlledVocabulary.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceControlledVocabulary.class); protected static String xpathTemplate = "//node[contains(translate(@label,'ABCDEFGHIJKLMNOPQRSTUVWXYZ'," + "'abcdefghijklmnopqrstuvwxyz'),'%s')]"; protected static String idTemplate = "//node[@id = '%s']"; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java index 889bc89ecb..08cd5d892e 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java @@ -14,7 +14,7 @@ import java.util.Map; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInputsReader; import org.dspace.app.util.DCInputsReaderException; import org.dspace.content.Collection; @@ -32,7 +32,7 @@ import org.dspace.content.Collection; */ public class InputFormSelfRegisterWrapperAuthority implements ChoiceAuthority { - private static Logger log = Logger.getLogger(InputFormSelfRegisterWrapperAuthority.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(InputFormSelfRegisterWrapperAuthority.class); private Map delegates = new HashMap(); diff --git a/dspace-api/src/main/java/org/dspace/content/authority/LCNameAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/LCNameAuthority.java index 77da8400ea..66bb7f1832 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/LCNameAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/LCNameAuthority.java @@ -22,7 +22,7 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DCPersonName; import org.dspace.core.ConfigurationManager; @@ -57,7 +57,7 @@ import org.xml.sax.helpers.DefaultHandler; * @version $Revision $ */ public class LCNameAuthority implements ChoiceAuthority { - private static final Logger log = Logger.getLogger(LCNameAuthority.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(LCNameAuthority.class); // get these from configuration protected static String url = null; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java index dc9797598f..6a5b17a029 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInput; import org.dspace.app.util.DCInputSet; import org.dspace.app.util.DCInputsReader; @@ -57,7 +57,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @see Choices */ public class MetadataAuthorityServiceImpl implements MetadataAuthorityService { - private static Logger log = Logger.getLogger(MetadataAuthorityServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataAuthorityServiceImpl.class); @Autowired(required = true) protected MetadataFieldService metadataFieldService; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/SHERPARoMEOProtocol.java b/dspace-api/src/main/java/org/dspace/content/authority/SHERPARoMEOProtocol.java index 5bc94bf06a..5f0af29760 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/SHERPARoMEOProtocol.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/SHERPARoMEOProtocol.java @@ -19,7 +19,7 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URLEncodedUtils; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.core.ConfigurationManager; import org.xml.sax.Attributes; @@ -50,7 +50,7 @@ import org.xml.sax.helpers.DefaultHandler; * @see SHERPARoMEOJournalTitle */ public abstract class SHERPARoMEOProtocol implements ChoiceAuthority { - private static final Logger log = Logger.getLogger(SHERPARoMEOProtocol.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SHERPARoMEOProtocol.class); // contact URL from configuration private static String url = null; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java index b508c908e7..159f2901d0 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/SolrAuthority.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; @@ -36,10 +36,12 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ public class SolrAuthority implements ChoiceAuthority { - private static final Logger log = Logger.getLogger(SolrAuthority.class); protected SolrAuthorityInterface source = DSpaceServicesFactory.getInstance().getServiceManager() .getServiceByName("AuthoritySource", SolrAuthorityInterface.class); + + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrAuthority.class); + protected boolean externalResults = false; protected final AuthorityValueService authorityValueService = AuthorityServiceFactory.getInstance() .getAuthorityValueService(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java index 3f109d9a1e..d7ee2630e9 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -72,7 +72,7 @@ public class AIPTechMDCrosswalk implements IngestionCrosswalk, DisseminationCros /** * log4j category */ - private static Logger log = Logger.getLogger(AIPTechMDCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AIPTechMDCrosswalk.class); protected final BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() .getBitstreamFormatService(); protected final SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java index d530f55905..fac15d99e7 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.io.OutputStream; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.DSpaceObject; @@ -35,7 +35,7 @@ public class CreativeCommonsRDFStreamDisseminationCrosswalk /** * log4j logger */ - private static Logger log = Logger.getLogger(CreativeCommonsRDFStreamDisseminationCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsRDFStreamDisseminationCrosswalk.class); protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); protected CreativeCommonsService creativeCommonsService = LicenseServiceFactory.getInstance() .getCreativeCommonsService(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java index d011202921..55634df647 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.io.InputStream; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -38,7 +38,7 @@ public class CreativeCommonsRDFStreamIngestionCrosswalk /** * log4j logger */ - private static Logger log = Logger.getLogger(CreativeCommonsRDFStreamIngestionCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsRDFStreamIngestionCrosswalk.class); protected CreativeCommonsService creativeCommonsService = LicenseServiceFactory.getInstance() .getCreativeCommonsService(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java index bf6d97fbea..2da3876b06 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.io.OutputStream; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.DSpaceObject; @@ -42,7 +42,7 @@ public class CreativeCommonsTextStreamDisseminationCrosswalk /** * log4j logger */ - private static Logger log = Logger.getLogger(CreativeCommonsTextStreamDisseminationCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsTextStreamDisseminationCrosswalk.class); @Override public boolean canDisseminate(Context context, DSpaceObject dso) { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java index da10a212ec..911f2b91bb 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.io.OutputStream; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.DSpaceObject; @@ -34,7 +34,7 @@ public class LicenseStreamDisseminationCrosswalk /** * log4j logger */ - private static Logger log = Logger.getLogger(LicenseStreamDisseminationCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LicenseStreamDisseminationCrosswalk.class); protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); @Override diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamIngestionCrosswalk.java index fb3653b4db..a7dcae944c 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamIngestionCrosswalk.java @@ -12,7 +12,7 @@ import java.io.IOException; import java.io.InputStream; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -39,7 +39,7 @@ public class LicenseStreamIngestionCrosswalk /** * log4j logger */ - private static Logger log = Logger.getLogger(LicenseStreamIngestionCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LicenseStreamIngestionCrosswalk.class); @Override public void ingest(Context context, DSpaceObject dso, InputStream in, String MIMEType) diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java index 2b03a38422..559d463be2 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java @@ -19,7 +19,7 @@ import java.util.Map; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.factory.AuthorizeServiceFactory; @@ -61,7 +61,7 @@ public class METSRightsCrosswalk /** * log4j category */ - private static Logger log = Logger.getLogger(METSRightsCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(METSRightsCrosswalk.class); private static final Namespace METSRights_NS = Namespace.getNamespace("rights", "http://cosimo.stanford.edu/sdr/metsrights/"); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java index 567f6e41f8..ddf773dcec 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/MODSDisseminationCrosswalk.java @@ -21,7 +21,7 @@ import java.util.Map; import java.util.Properties; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; @@ -90,7 +90,7 @@ public class MODSDisseminationCrosswalk extends SelfNamedPlugin /** * log4j category */ - private static Logger log = Logger.getLogger(MODSDisseminationCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MODSDisseminationCrosswalk.class); private static final String CONFIG_PREFIX = "crosswalk.mods.properties."; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/NullIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/NullIngestionCrosswalk.java index f5cffdba15..994e15601d 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/NullIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/NullIngestionCrosswalk.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; @@ -43,7 +43,7 @@ public class NullIngestionCrosswalk /** * log4j category */ - private static Logger log = Logger.getLogger(NullIngestionCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(NullIngestionCrosswalk.class); private static XMLOutputter outputPretty = new XMLOutputter(Format.getPrettyFormat()); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java index 98a54ff624..6d7c716189 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java @@ -20,7 +20,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -54,7 +54,7 @@ public class OREIngestionCrosswalk /** * log4j category */ - private static Logger log = Logger.getLogger(OREDisseminationCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(OREDisseminationCrosswalk.class); /* Namespaces */ public static final Namespace ATOM_NS = diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java index 360a450696..9f927244c9 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java @@ -15,7 +15,7 @@ import java.util.List; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -48,7 +48,7 @@ public class PREMISCrosswalk /** * log4j category */ - private static Logger log = Logger.getLogger(PREMISCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PREMISCrosswalk.class); private static final Namespace PREMIS_NS = Namespace.getNamespace("premis", "http://www.loc.gov/standards/premis"); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java index 457c6486f2..630d1d45ef 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java @@ -20,7 +20,7 @@ import java.util.Map; import java.util.Properties; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -97,7 +97,7 @@ public class QDCCrosswalk extends SelfNamedPlugin /** * log4j category */ - private static Logger log = Logger.getLogger(QDCCrosswalk.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(QDCCrosswalk.class); // map of qdc to JDOM Element private Map qdc2element = new HashMap(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java index c16a78f376..8826fb1ce3 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java @@ -19,7 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java index 8565b39c44..3a5122b2de 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java @@ -16,7 +16,7 @@ import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; @@ -55,7 +55,7 @@ public class XSLTIngestionCrosswalk /** * log4j category */ - private static final Logger log = Logger.getLogger(XSLTIngestionCrosswalk.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(XSLTIngestionCrosswalk.class); private static final String DIRECTION = "submission"; diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java index 67644ee7b4..025dab66e4 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java @@ -16,7 +16,7 @@ import java.util.UUID; import javax.persistence.Query; import javax.persistence.TemporalType; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Item; import org.dspace.content.MetadataField; @@ -42,7 +42,7 @@ import org.hibernate.type.StandardBasicTypes; * @author kevinvandevelde at atmire.com */ public class ItemDAOImpl extends AbstractHibernateDSODAO implements ItemDAO { - private static final Logger log = Logger.getLogger(ItemDAOImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemDAOImpl.class); protected ItemDAOImpl() { super(); diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java index 77de1ef12e..e8e4e974b4 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java @@ -53,6 +53,7 @@ import edu.harvard.hul.ois.mets.helper.MetsException; import edu.harvard.hul.ois.mets.helper.MetsValidator; import edu.harvard.hul.ois.mets.helper.MetsWriter; import edu.harvard.hul.ois.mets.helper.PreformedXML; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; @@ -125,7 +126,8 @@ public abstract class AbstractMETSDisseminator /** * log4j category */ - private static final Logger log = LoggerFactory.getLogger(AbstractMETSDisseminator.class); + + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractMETSDisseminator.class); // JDOM xml output writer - indented format for readability. protected static XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()); diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java index 5ecaa5c09c..9cf6a7ca9f 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java @@ -20,7 +20,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -109,7 +109,7 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester { /** * log4j category */ - private static Logger log = Logger.getLogger(AbstractMETSIngester.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractMETSIngester.class); protected final BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); protected final BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageIngester.java index a9e8b9a509..da58f1cf0b 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageIngester.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageIngester.java @@ -16,7 +16,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; @@ -59,7 +59,7 @@ public abstract class AbstractPackageIngester /** * log4j category */ - private static Logger log = Logger.getLogger(AbstractPackageIngester.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractPackageIngester.class); protected final CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected final ItemService itemService = ContentServiceFactory.getInstance().getItemService(); diff --git a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java index 9544f66727..887520ad66 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java @@ -29,7 +29,7 @@ import edu.harvard.hul.ois.mets.helper.MetsException; import edu.harvard.hul.ois.mets.helper.PCData; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bundle; @@ -82,7 +82,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; * @see AbstractPackageDisseminator */ public class DSpaceAIPDisseminator extends AbstractMETSDisseminator { - private static final Logger log = Logger.getLogger(DSpaceAIPDisseminator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceAIPDisseminator.class); /** * Unique identifier for the profile of the METS document. diff --git a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java index e23ab5f0b4..954a68bfc1 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPIngester.java @@ -10,7 +10,7 @@ package org.dspace.content.packager; import java.io.IOException; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.Collection; @@ -64,7 +64,7 @@ public class DSpaceAIPIngester /** * log4j category */ - private static Logger log = Logger.getLogger(DSpaceAIPIngester.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceAIPIngester.class); /** * Ensure it's an AIP generated by the complementary AIP disseminator. diff --git a/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java b/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java index d9d860d04e..53a8678df2 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java @@ -18,7 +18,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.codec.binary.Base64; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -117,7 +117,7 @@ public class METSManifest { /** * log4j category */ - private static final Logger log = Logger.getLogger(METSManifest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(METSManifest.class); /** * Canonical filename of METS manifest within a package or as a bitstream. diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java index 6aa995d063..d80efb06e4 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java @@ -17,7 +17,7 @@ import java.util.Calendar; import java.util.List; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.pdfbox.cos.COSDocument; import org.apache.pdfbox.io.MemoryUsageSetting; import org.apache.pdfbox.io.RandomAccessBufferedFileInputStream; @@ -73,7 +73,7 @@ public class PDFPackager /** * log4j category */ - private static final Logger log = Logger.getLogger(PDFPackager.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(PDFPackager.class); protected static final String BITSTREAM_FORMAT_NAME = "Adobe PDF"; diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PackageException.java b/dspace-api/src/main/java/org/dspace/content/packager/PackageException.java index 3da64df783..58f2621afb 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PackageException.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PackageException.java @@ -10,7 +10,7 @@ package org.dspace.content.packager; import java.io.PrintWriter; import java.io.StringWriter; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * This is a superclass for exceptions representing a failure when diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java index 045f7963d0..2f4074063c 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java @@ -21,7 +21,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -65,7 +65,7 @@ public class PackageUtils { /** * log4j category */ - private static final Logger log = Logger.getLogger(PackageUtils.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(PackageUtils.class); // Map of metadata elements for Communities and Collections // Format is alternating key/value in a straight array; use this diff --git a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java index 5fc538e086..75bc512996 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java @@ -21,7 +21,7 @@ import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; @@ -47,7 +47,7 @@ public class RoleDisseminator implements PackageDisseminator { /** * log4j category */ - private static final Logger log = Logger.getLogger(RoleDisseminator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RoleDisseminator.class); /** * DSpace Roles XML Namespace in JDOM form. diff --git a/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java b/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java index 5e2b30f36d..8f2e92e2f0 100644 --- a/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java +++ b/dspace-api/src/main/java/org/dspace/core/ConfigurationManager.java @@ -12,7 +12,7 @@ import java.util.Properties; import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.ConfigurationConverter; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.services.factory.DSpaceServicesFactory; /** @@ -36,7 +36,7 @@ public class ConfigurationManager { /** * log4j category */ - private static final Logger log = Logger.getLogger(ConfigurationManager.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ConfigurationManager.class); protected ConfigurationManager() { diff --git a/dspace-api/src/main/java/org/dspace/core/Context.java b/dspace-api/src/main/java/org/dspace/core/Context.java index fac882c715..1771473c62 100644 --- a/dspace-api/src/main/java/org/dspace/core/Context.java +++ b/dspace-api/src/main/java/org/dspace/core/Context.java @@ -18,7 +18,7 @@ import java.util.Stack; import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.ResourcePolicy; import org.dspace.content.DSpaceObject; import org.dspace.eperson.EPerson; @@ -50,7 +50,7 @@ import org.springframework.util.CollectionUtils; * @version $Revision$ */ public class Context implements AutoCloseable { - private static final Logger log = Logger.getLogger(Context.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Context.class); protected static final AtomicBoolean databaseUpdated = new AtomicBoolean(false); /** diff --git a/dspace-api/src/main/java/org/dspace/core/Email.java b/dspace-api/src/main/java/org/dspace/core/Email.java index 0ce631e6b8..aed7fc8a2d 100644 --- a/dspace-api/src/main/java/org/dspace/core/Email.java +++ b/dspace-api/src/main/java/org/dspace/core/Email.java @@ -37,7 +37,7 @@ import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; @@ -139,7 +139,7 @@ public class Email { */ private String charset; - private static final Logger log = Logger.getLogger(Email.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Email.class); /** * Create a new email message. diff --git a/dspace-api/src/main/java/org/dspace/core/I18nUtil.java b/dspace-api/src/main/java/org/dspace/core/I18nUtil.java index 0794ec2493..37e48c4a4f 100644 --- a/dspace-api/src/main/java/org/dspace/core/I18nUtil.java +++ b/dspace-api/src/main/java/org/dspace/core/I18nUtil.java @@ -16,7 +16,7 @@ import java.util.ResourceBundle; import java.util.StringTokenizer; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.eperson.EPerson; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; @@ -35,7 +35,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ public class I18nUtil { - private static final Logger log = Logger.getLogger(I18nUtil.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(I18nUtil.class); // the default Locale of this DSpace Instance public static final Locale DEFAULTLOCALE = getDefaultLocale(); diff --git a/dspace-api/src/main/java/org/dspace/core/LegacyPluginServiceImpl.java b/dspace-api/src/main/java/org/dspace/core/LegacyPluginServiceImpl.java index 477143a04a..366de8314b 100644 --- a/dspace-api/src/main/java/org/dspace/core/LegacyPluginServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/core/LegacyPluginServiceImpl.java @@ -18,7 +18,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.service.PluginService; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.annotation.Autowired; @@ -70,7 +70,7 @@ public class LegacyPluginServiceImpl implements PluginService { /** * log4j category */ - private static Logger log = Logger.getLogger(LegacyPluginServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LegacyPluginServiceImpl.class); /** * Prefixes of names of properties to look for in DSpace Configuration diff --git a/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java index 47875d345a..1af1a702fb 100644 --- a/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java @@ -15,9 +15,9 @@ import java.net.MalformedURLException; import java.util.Enumeration; import java.util.Properties; -import org.apache.log4j.Logger; -import org.apache.log4j.PropertyConfigurator; -import org.apache.log4j.xml.DOMConfigurator; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.PropertyConfigurator; +import org.apache.logging.log4j.xml.DOMConfigurator; import org.dspace.services.ConfigurationService; import org.dspace.services.KernelStartupCallbackService; import org.dspace.services.factory.DSpaceServicesFactory; @@ -31,7 +31,7 @@ public class LoggerServiceImpl implements KernelStartupCallbackService { /** * log4j category */ - private static Logger log = Logger.getLogger(LoggerServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerServiceImpl.class); // System property which will disable DSpace's log4j setup private final String LOG_DISABLE_PROPERTY = "dspace.log.init.disable"; @@ -163,16 +163,16 @@ public class LoggerServiceImpl implements KernelStartupCallbackService { * Based on samples here: http://wiki.apache.org/logging-log4j/UsefulCode */ private boolean isLog4jConfigured() { - Enumeration appenders = org.apache.log4j.LogManager.getRootLogger() + Enumeration appenders = org.apache.logging.log4j.LogManager.getRootLogger() .getAllAppenders(); - if (!(appenders instanceof org.apache.log4j.helpers.NullEnumeration)) { + if (!(appenders instanceof org.apache.logging.log4j.helpers.NullEnumeration)) { return true; } else { - Enumeration loggers = org.apache.log4j.LogManager.getCurrentLoggers(); + Enumeration loggers = org.apache.logging.log4j.LogManager.getCurrentLoggers(); while (loggers.hasMoreElements()) { Logger c = (Logger) loggers.nextElement(); - if (!(c.getAllAppenders() instanceof org.apache.log4j.helpers.NullEnumeration)) { + if (!(c.getAllAppenders() instanceof org.apache.logging.log4j.helpers.NullEnumeration)) { return true; } } diff --git a/dspace-api/src/main/java/org/dspace/core/Utils.java b/dspace-api/src/main/java/org/dspace/core/Utils.java index a7e59a2e46..32c32776f7 100644 --- a/dspace-api/src/main/java/org/dspace/core/Utils.java +++ b/dspace-api/src/main/java/org/dspace/core/Utils.java @@ -30,7 +30,7 @@ import java.util.regex.Pattern; import com.coverity.security.Escape; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Utility functions for DSpace. @@ -42,7 +42,7 @@ public final class Utils { /** * log4j logger */ - private static Logger log = Logger.getLogger(Utils.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Utils.class); private static final Pattern DURATION_PATTERN = Pattern .compile("(\\d+)([smhdwy])"); diff --git a/dspace-api/src/main/java/org/dspace/ctask/general/AbstractTranslator.java b/dspace-api/src/main/java/org/dspace/ctask/general/AbstractTranslator.java index 6cc4e59204..67e882a558 100644 --- a/dspace-api/src/main/java/org/dspace/ctask/general/AbstractTranslator.java +++ b/dspace-api/src/main/java/org/dspace/ctask/general/AbstractTranslator.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataValue; @@ -40,7 +40,7 @@ public abstract class AbstractTranslator extends AbstractCurationTask { protected String apiKey = ""; - private static Logger log = Logger.getLogger(AbstractTranslator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractTranslator.class); protected List results = new ArrayList(); diff --git a/dspace-api/src/main/java/org/dspace/ctask/general/BasicLinkChecker.java b/dspace-api/src/main/java/org/dspace/ctask/general/BasicLinkChecker.java index dc59292afe..fbc6eebdb5 100644 --- a/dspace-api/src/main/java/org/dspace/ctask/general/BasicLinkChecker.java +++ b/dspace-api/src/main/java/org/dspace/ctask/general/BasicLinkChecker.java @@ -13,7 +13,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataValue; @@ -40,7 +40,7 @@ public class BasicLinkChecker extends AbstractCurationTask { private List results = null; // The log4j logger for this class - private static Logger log = Logger.getLogger(BasicLinkChecker.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicLinkChecker.class); /** diff --git a/dspace-api/src/main/java/org/dspace/ctask/general/BitstreamsIntoMetadata.java b/dspace-api/src/main/java/org/dspace/ctask/general/BitstreamsIntoMetadata.java index 79da1eff90..d7ba7fed1f 100644 --- a/dspace-api/src/main/java/org/dspace/ctask/general/BitstreamsIntoMetadata.java +++ b/dspace-api/src/main/java/org/dspace/ctask/general/BitstreamsIntoMetadata.java @@ -10,7 +10,7 @@ package org.dspace.ctask.general; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -33,7 +33,7 @@ public class BitstreamsIntoMetadata extends AbstractCurationTask { protected List results = null; // The log4j logger for this class - private static Logger log = Logger.getLogger(BitstreamsIntoMetadata.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamsIntoMetadata.class); /** diff --git a/dspace-api/src/main/java/org/dspace/ctask/general/MetadataWebService.java b/dspace-api/src/main/java/org/dspace/ctask/general/MetadataWebService.java index 9b49105c36..2b6c52d0d6 100644 --- a/dspace-api/src/main/java/org/dspace/ctask/general/MetadataWebService.java +++ b/dspace-api/src/main/java/org/dspace/ctask/general/MetadataWebService.java @@ -33,7 +33,7 @@ import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -130,7 +130,7 @@ public class MetadataWebService extends AbstractCurationTask implements Namespac /** * log4j category */ - private static final Logger log = Logger.getLogger(MetadataWebService.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataWebService.class); // transform token parsing pattern protected Pattern ttPattern = Pattern.compile("\'([^\']*)\'|(\\S+)"); // URL of web service with template parameters diff --git a/dspace-api/src/main/java/org/dspace/ctask/general/MicrosoftTranslator.java b/dspace-api/src/main/java/org/dspace/ctask/general/MicrosoftTranslator.java index 88700be299..43f61d13f8 100644 --- a/dspace-api/src/main/java/org/dspace/ctask/general/MicrosoftTranslator.java +++ b/dspace-api/src/main/java/org/dspace/ctask/general/MicrosoftTranslator.java @@ -16,7 +16,7 @@ import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; /** @@ -36,7 +36,7 @@ public class MicrosoftTranslator extends AbstractTranslator { protected final String baseUrl = "http://api.microsofttranslator.com/V2/Http.svc/Translate"; - private static final Logger log = Logger.getLogger(MicrosoftTranslator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MicrosoftTranslator.class); @Override diff --git a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java index 16ad1e490f..2fa1291979 100644 --- a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java +++ b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java @@ -13,7 +13,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; @@ -40,7 +40,7 @@ public abstract class AbstractCurationTask implements CurationTask { // curator-assigned taskId protected String taskId = null; // logger - private static Logger log = Logger.getLogger(AbstractCurationTask.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractCurationTask.class); protected CommunityService communityService; protected ItemService itemService; protected HandleService handleService; diff --git a/dspace-api/src/main/java/org/dspace/curate/CitationPage.java b/dspace-api/src/main/java/org/dspace/curate/CitationPage.java index 8634eeb5bb..386bf0ba92 100644 --- a/dspace-api/src/main/java/org/dspace/curate/CitationPage.java +++ b/dspace-api/src/main/java/org/dspace/curate/CitationPage.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang3.tuple.Pair; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -46,7 +46,7 @@ public class CitationPage extends AbstractCurationTask { /** * Class Logger */ - private static Logger log = Logger.getLogger(CitationPage.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CitationPage.class); protected int status = Curator.CURATE_UNSET; protected String result = null; diff --git a/dspace-api/src/main/java/org/dspace/curate/Curator.java b/dspace-api/src/main/java/org/dspace/curate/Curator.java index 55d9843cb3..e513a91003 100644 --- a/dspace-api/src/main/java/org/dspace/curate/Curator.java +++ b/dspace-api/src/main/java/org/dspace/curate/Curator.java @@ -15,7 +15,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; @@ -78,7 +78,7 @@ public class Curator { ; - private static final Logger log = Logger.getLogger(Curator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Curator.class); protected static final ThreadLocal curationCtx = new ThreadLocal<>(); diff --git a/dspace-api/src/main/java/org/dspace/curate/FileTaskQueue.java b/dspace-api/src/main/java/org/dspace/curate/FileTaskQueue.java index fc665bcf2c..979ade99a5 100644 --- a/dspace-api/src/main/java/org/dspace/curate/FileTaskQueue.java +++ b/dspace-api/src/main/java/org/dspace/curate/FileTaskQueue.java @@ -19,7 +19,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.services.factory.DSpaceServicesFactory; @@ -30,7 +30,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; * @author richardrodgers */ public class FileTaskQueue implements TaskQueue { - private static Logger log = Logger.getLogger(TaskQueue.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(TaskQueue.class); // base directory for curation task queues protected String tqDir; diff --git a/dspace-api/src/main/java/org/dspace/curate/TaskResolver.java b/dspace-api/src/main/java/org/dspace/curate/TaskResolver.java index 706992093b..a9a8e8906a 100644 --- a/dspace-api/src/main/java/org/dspace/curate/TaskResolver.java +++ b/dspace-api/src/main/java/org/dspace/curate/TaskResolver.java @@ -20,7 +20,7 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.factory.CoreServiceFactory; import org.dspace.services.factory.DSpaceServicesFactory; @@ -64,7 +64,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; public class TaskResolver { // logging service - private static Logger log = Logger.getLogger(TaskResolver.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(TaskResolver.class); // base directory of task scripts & catalog name protected static final String CATALOG = "task.catalog"; diff --git a/dspace-api/src/main/java/org/dspace/curate/WorkflowCuratorServiceImpl.java b/dspace-api/src/main/java/org/dspace/curate/WorkflowCuratorServiceImpl.java index 580f8c42c3..5cecc13b89 100644 --- a/dspace-api/src/main/java/org/dspace/curate/WorkflowCuratorServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/curate/WorkflowCuratorServiceImpl.java @@ -23,7 +23,7 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Item; @@ -58,7 +58,7 @@ public class WorkflowCuratorServiceImpl implements WorkflowCuratorService { /** * log4j logger */ - private Logger log = Logger.getLogger(WorkflowCuratorServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(WorkflowCuratorServiceImpl.class); protected Map tsMap = new HashMap(); diff --git a/dspace-api/src/main/java/org/dspace/discovery/FullTextContentStreams.java b/dspace-api/src/main/java/org/dspace/discovery/FullTextContentStreams.java index 933ba459cb..78872a8bc7 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/FullTextContentStreams.java +++ b/dspace-api/src/main/java/org/dspace/discovery/FullTextContentStreams.java @@ -27,7 +27,7 @@ import com.google.common.collect.Iterables; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.Charsets; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.common.util.ContentStreamBase; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; @@ -42,7 +42,7 @@ import org.dspace.core.Context; * Construct a ContentStream from a File */ public class FullTextContentStreams extends ContentStreamBase { - private static final Logger log = Logger.getLogger(FullTextContentStreams.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(FullTextContentStreams.class); public static final String FULLTEXT_BUNDLE = "TEXT"; diff --git a/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java b/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java index 7aaf63fe2d..1381e4dda2 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java +++ b/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java @@ -16,7 +16,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; @@ -37,7 +37,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ public class IndexClient { - private static final Logger log = Logger.getLogger(IndexClient.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(IndexClient.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/discovery/IndexEventConsumer.java b/dspace-api/src/main/java/org/dspace/discovery/IndexEventConsumer.java index d8ec35806e..9117dd7ad2 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/IndexEventConsumer.java +++ b/dspace-api/src/main/java/org/dspace/discovery/IndexEventConsumer.java @@ -10,7 +10,7 @@ package org.dspace.discovery; import java.util.HashSet; import java.util.Set; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bundle; import org.dspace.content.DSpaceObject; import org.dspace.core.Constants; @@ -30,7 +30,7 @@ public class IndexEventConsumer implements Consumer { /** * log4j logger */ - private static Logger log = Logger.getLogger(IndexEventConsumer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(IndexEventConsumer.class); // collect Items, Collections, Communities that need indexing private Set objectsToUpdate = null; diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java index f7c5738e65..9a19bf0646 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java @@ -47,7 +47,7 @@ import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServer; @@ -134,7 +134,7 @@ import org.springframework.stereotype.Service; @Service public class SolrServiceImpl implements SearchService, IndexingService { - private static final Logger log = Logger.getLogger(SolrServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrServiceImpl.class); protected static final String LAST_INDEXED_FIELD = "SolrIndexer.lastIndexed"; protected static final String HANDLE_FIELD = "handle"; diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java index 44af866892..83b9c14c5f 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.common.SolrInputDocument; import org.dspace.browse.BrowseException; import org.dspace.browse.BrowseIndex; diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java index 4bea98390d..8ba43ef417 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.List; import java.util.Set; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.common.SolrInputDocument; import org.dspace.authorize.ResourcePolicy; @@ -39,7 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class SolrServiceResourceRestrictionPlugin implements SolrServiceIndexPlugin, SolrServiceSearchPlugin { - private static final Logger log = Logger.getLogger(SolrServiceResourceRestrictionPlugin.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrServiceResourceRestrictionPlugin.class); @Autowired(required = true) protected AuthorizeService authorizeService; diff --git a/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java b/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java index 6d34af3502..60081d1153 100644 --- a/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/disseminate/CitationDocumentServiceImpl.java @@ -22,7 +22,7 @@ import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; @@ -59,7 +59,7 @@ public class CitationDocumentServiceImpl implements CitationDocumentService, Ini /** * Class Logger */ - private static Logger log = Logger.getLogger(CitationDocumentServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CitationDocumentServiceImpl.class); /** * A set of MIME types that can have a citation page added to them. That is, diff --git a/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java b/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java index c0ee6ad720..49d2650bfd 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java +++ b/dspace-api/src/main/java/org/dspace/embargo/EmbargoCLITool.java @@ -16,7 +16,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DCDate; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -37,7 +37,7 @@ public class EmbargoCLITool { /** * log4j category */ - private static final Logger log = Logger.getLogger(EmbargoServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(EmbargoServiceImpl.class); private static final EmbargoService embargoService = EmbargoServiceFactory.getInstance().getEmbargoService(); diff --git a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java index 68efce46e1..69c601034a 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java @@ -13,7 +13,7 @@ import java.util.Date; import java.util.Iterator; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DCDate; import org.dspace.content.Item; @@ -51,7 +51,7 @@ public class EmbargoServiceImpl implements EmbargoService { /** * log4j category */ - private final Logger log = Logger.getLogger(EmbargoServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(EmbargoServiceImpl.class); // Metadata field components for user-supplied embargo terms // set from the DSpace configuration by init() diff --git a/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java index 6b9531788a..0e1034328a 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Locale; import javax.mail.MessagingException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; @@ -42,7 +42,7 @@ public class AccountServiceImpl implements AccountService { /** * log4j log */ - private static Logger log = Logger.getLogger(AccountServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AccountServiceImpl.class); @Autowired(required = true) protected EPersonService ePersonService; @Autowired(required = true) diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java index 62761444a5..4f094bb5c5 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java @@ -11,7 +11,7 @@ import java.util.Date; import java.util.UUID; import javax.mail.MessagingException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.core.Constants; import org.dspace.core.Context; @@ -35,7 +35,7 @@ public class EPersonConsumer implements Consumer { /** * log4j logger */ - private static Logger log = Logger.getLogger(EPersonConsumer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(EPersonConsumer.class); protected EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index a76d9c5ad9..f173250cf3 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -19,7 +19,7 @@ import java.util.UUID; import org.apache.commons.codec.DecoderException; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.DSpaceObjectServiceImpl; @@ -50,7 +50,7 @@ public class EPersonServiceImpl extends DSpaceObjectServiceImpl impleme /** * log4j logger */ - private final Logger log = Logger.getLogger(EPersonServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(EPersonServiceImpl.class); @Autowired(required = true) protected EPersonDAO ePersonDAO; diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java index f9b0ae014c..c02e655387 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java @@ -26,8 +26,8 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; @@ -55,7 +55,7 @@ import org.dspace.search.HarvestedItemInfo; */ public class SubscribeCLITool { - private static final Logger log = Logger.getLogger(SubscribeCLITool.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubscribeCLITool.class); private static HandleService handleService = HandleServiceFactory.getInstance().getHandleService(); private static ItemService itemService = ContentServiceFactory.getInstance().getItemService(); diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java index cd9e078463..34dbcdbeaa 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java @@ -10,7 +10,7 @@ package org.dspace.eperson; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.Collection; @@ -32,7 +32,7 @@ public class SubscribeServiceImpl implements SubscribeService { /** * log4j logger */ - private Logger log = Logger.getLogger(SubscribeServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(SubscribeServiceImpl.class); @Autowired(required = true) protected SubscriptionDAO subscriptionDAO; diff --git a/dspace-api/src/main/java/org/dspace/event/BasicDispatcher.java b/dspace-api/src/main/java/org/dspace/event/BasicDispatcher.java index 63b2dab1a9..543ad934b3 100644 --- a/dspace-api/src/main/java/org/dspace/event/BasicDispatcher.java +++ b/dspace-api/src/main/java/org/dspace/event/BasicDispatcher.java @@ -9,7 +9,7 @@ package org.dspace.event; import java.util.Iterator; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.Utils; @@ -29,7 +29,7 @@ public class BasicDispatcher extends Dispatcher { /** * log4j category */ - private static Logger log = Logger.getLogger(BasicDispatcher.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicDispatcher.class); @Override public void addConsumerProfile(ConsumerProfile cp) diff --git a/dspace-api/src/main/java/org/dspace/event/ConsumerProfile.java b/dspace-api/src/main/java/org/dspace/event/ConsumerProfile.java index f43cc370f1..01f0d4fc56 100644 --- a/dspace-api/src/main/java/org/dspace/event/ConsumerProfile.java +++ b/dspace-api/src/main/java/org/dspace/event/ConsumerProfile.java @@ -10,7 +10,7 @@ package org.dspace.event; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; /** @@ -25,7 +25,7 @@ public class ConsumerProfile { /** * log4j category */ - private static Logger log = Logger.getLogger(ConsumerProfile.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ConsumerProfile.class); /** * Name matching the key in DSpace Configuration diff --git a/dspace-api/src/main/java/org/dspace/event/Event.java b/dspace-api/src/main/java/org/dspace/event/Event.java index 78efff480f..45b6407b28 100644 --- a/dspace-api/src/main/java/org/dspace/event/Event.java +++ b/dspace-api/src/main/java/org/dspace/event/Event.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.UUID; import org.apache.commons.lang3.builder.HashCodeBuilder; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.core.Constants; @@ -224,7 +224,7 @@ public class Event implements Serializable { /** * log4j category */ - private static Logger log = Logger.getLogger(Event.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Event.class); /** * Constructor. diff --git a/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java b/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java index 70765430a3..1afc0a22f5 100644 --- a/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/event/EventServiceImpl.java @@ -22,7 +22,7 @@ import org.apache.commons.pool2.PooledObject; import org.apache.commons.pool2.impl.DefaultPooledObject; import org.apache.commons.pool2.impl.GenericKeyedObjectPool; import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.event.service.EventService; import org.dspace.services.ConfigurationService; @@ -39,7 +39,7 @@ public class EventServiceImpl implements EventService { /** * log4j category */ - private Logger log = Logger.getLogger(EventServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(EventServiceImpl.class); protected DispatcherPoolFactory dispatcherFactory = null; diff --git a/dspace-api/src/main/java/org/dspace/event/TestConsumer.java b/dspace-api/src/main/java/org/dspace/event/TestConsumer.java index 379276ccda..e40c0d9a36 100644 --- a/dspace-api/src/main/java/org/dspace/event/TestConsumer.java +++ b/dspace-api/src/main/java/org/dspace/event/TestConsumer.java @@ -12,7 +12,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.lang3.ArrayUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; import org.dspace.eperson.EPerson; @@ -27,7 +27,7 @@ import org.dspace.eperson.EPerson; */ public class TestConsumer implements Consumer { // Log4j logger - private static Logger log = Logger.getLogger(TestConsumer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(TestConsumer.class); // Send diagnostic output here - set to null to turn it off. private static PrintStream out = ConfigurationManager diff --git a/dspace-api/src/main/java/org/dspace/google/GoogleAccount.java b/dspace-api/src/main/java/org/dspace/google/GoogleAccount.java index 6c95a89e25..a24c02a2e1 100644 --- a/dspace-api/src/main/java/org/dspace/google/GoogleAccount.java +++ b/dspace-api/src/main/java/org/dspace/google/GoogleAccount.java @@ -20,7 +20,7 @@ import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.analytics.Analytics; import com.google.api.services.analytics.AnalyticsScopes; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.services.factory.DSpaceServicesFactory; /** @@ -47,7 +47,7 @@ public class GoogleAccount { private volatile static GoogleAccount uniqueInstance; - private static Logger log = Logger.getLogger(GoogleAccount.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(GoogleAccount.class); private GoogleAccount() { diff --git a/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java b/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java index a2ba14f6be..ec86e5b410 100644 --- a/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java +++ b/dspace-api/src/main/java/org/dspace/google/GoogleRecorderEventListener.java @@ -23,7 +23,7 @@ import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.core.Constants; import org.dspace.service.ClientInfoService; @@ -46,7 +46,7 @@ public class GoogleRecorderEventListener extends AbstractUsageEventListener { private String analyticsKey; private CloseableHttpClient httpclient; private String GoogleURL = "https://www.google-analytics.com/collect"; - private static Logger log = Logger.getLogger(GoogleRecorderEventListener.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(GoogleRecorderEventListener.class); protected ContentServiceFactory contentServiceFactory; protected ConfigurationService configurationService; diff --git a/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java b/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java index a965ade577..9e8d04faf2 100644 --- a/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java +++ b/dspace-api/src/main/java/org/dspace/handle/HandlePlugin.java @@ -21,7 +21,7 @@ import net.handle.hdllib.HandleValue; import net.handle.hdllib.ScanCallback; import net.handle.hdllib.Util; import net.handle.util.StreamTable; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.handle.factory.HandleServiceFactory; import org.dspace.handle.service.HandleService; @@ -51,7 +51,7 @@ public class HandlePlugin implements HandleStorage { /** * log4j category */ - private static Logger log = Logger.getLogger(HandlePlugin.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HandlePlugin.class); /** * The DSpace service manager kernel diff --git a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java index daf0045dc3..ca545e0722 100644 --- a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java @@ -13,7 +13,7 @@ import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.service.SiteService; import org.dspace.core.Constants; @@ -41,7 +41,7 @@ public class HandleServiceImpl implements HandleService { /** * log4j category */ - private static Logger log = Logger.getLogger(HandleServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HandleServiceImpl.class); /** * Prefix registered to no one diff --git a/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java b/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java index 333ac801f8..5710f8cf81 100644 --- a/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java +++ b/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java @@ -12,7 +12,7 @@ import java.io.InputStreamReader; import java.sql.SQLException; import java.util.Iterator; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.MetadataValueService; @@ -33,7 +33,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ public class UpdateHandlePrefix { - private static final Logger log = Logger.getLogger(UpdateHandlePrefix.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(UpdateHandlePrefix.class); private static final ConfigurationService configurationService = DSpaceServicesFactory.getInstance() .getConfigurationService(); diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestConsumer.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestConsumer.java index 37690fa8d0..727c41ee37 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestConsumer.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestConsumer.java @@ -9,7 +9,7 @@ package org.dspace.harvest; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Item; import org.dspace.core.Constants; @@ -31,7 +31,7 @@ public class HarvestConsumer implements Consumer { /** * log4j logger */ - private static Logger log = Logger.getLogger(HarvestConsumer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HarvestConsumer.class); protected HarvestedCollectionService harvestedCollectionService; protected HarvestedItemService harvestedItemService; diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java index 2867a804c9..d668b09bc4 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Stack; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; @@ -32,7 +32,7 @@ import org.dspace.harvest.service.HarvestedCollectionService; * @author alexey */ public class HarvestScheduler implements Runnable { - protected static Logger log = Logger.getLogger(HarvestScheduler.class); + protected static Logger log = org.apache.logging.log4j.LogManager.getLogger(HarvestScheduler.class); protected static EPerson harvestAdmin; diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java index c021d455bd..52498558d4 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java @@ -10,7 +10,7 @@ package org.dspace.harvest; import java.sql.SQLException; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; @@ -25,7 +25,7 @@ import org.dspace.harvest.service.HarvestedCollectionService; */ public class HarvestThread extends Thread { - private static final Logger log = Logger.getLogger(HarvestThread.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(HarvestThread.class); protected UUID collectionId; protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected HarvestedCollectionService harvestedCollectionService = diff --git a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java index 76876caf43..4e78729105 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java +++ b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java @@ -32,7 +32,7 @@ import ORG.oclc.oai.harvester2.verb.ListIdentifiers; import ORG.oclc.oai.harvester2.verb.ListMetadataFormats; import ORG.oclc.oai.harvester2.verb.ListRecords; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -88,7 +88,7 @@ public class OAIHarvester { /** * log4j category */ - private static Logger log = Logger.getLogger(OAIHarvester.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(OAIHarvester.class); private static final Namespace ATOM_NS = Namespace.getNamespace("http://www.w3.org/2005/Atom"); private static final Namespace ORE_NS = Namespace.getNamespace("http://www.openarchives.org/ore/terms/"); diff --git a/dspace-api/src/main/java/org/dspace/health/Check.java b/dspace-api/src/main/java/org/dspace/health/Check.java index c18e09e817..40f29c15f7 100644 --- a/dspace-api/src/main/java/org/dspace/health/Check.java +++ b/dspace-api/src/main/java/org/dspace/health/Check.java @@ -7,7 +7,7 @@ */ package org.dspace.health; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Abstract check interface. @@ -17,7 +17,7 @@ import org.apache.log4j.Logger; public abstract class Check { - protected static Logger log = Logger.getLogger(Check.class); + protected static Logger log = org.apache.logging.log4j.LogManager.getLogger(Check.class); long took_ = -1L; String report_ = null; private String errors_ = ""; diff --git a/dspace-api/src/main/java/org/dspace/health/Report.java b/dspace-api/src/main/java/org/dspace/health/Report.java index 9a571a8d5f..651d3ac1d7 100644 --- a/dspace-api/src/main/java/org/dspace/health/Report.java +++ b/dspace-api/src/main/java/org/dspace/health/Report.java @@ -21,7 +21,7 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.exception.ExceptionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.core.Email; import org.dspace.core.factory.CoreServiceFactory; @@ -33,7 +33,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ public class Report { - private static Logger log = Logger.getLogger(Report.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Report.class); public static final String EMAIL_PATH = "config/emails/healthcheck"; // store the individual check reports private StringBuilder summary_; diff --git a/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java index a91e6d06cd..2ae6ff63cb 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -38,7 +38,7 @@ public class HandleIdentifierProvider extends IdentifierProvider { /** * log4j category */ - private static Logger log = Logger.getLogger(HandleIdentifierProvider.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HandleIdentifierProvider.class); /** * Prefix registered to no one diff --git a/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java b/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java index 88f46c4dc7..17ab949cfe 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/identifier/IdentifierServiceImpl.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; @@ -36,7 +36,7 @@ public class IdentifierServiceImpl implements IdentifierService { /** * log4j category */ - private static Logger log = Logger.getLogger(IdentifierServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(IdentifierServiceImpl.class); @Autowired(required = true) protected ContentServiceFactory contentServiceFactory; diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java index b155bf7150..a2045acf26 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -36,7 +36,7 @@ public class VersionedDOIIdentifierProvider extends DOIIdentifierProvider { /** * log4j category */ - private static Logger log = Logger.getLogger(VersionedDOIIdentifierProvider.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(VersionedDOIIdentifierProvider.class); protected DOIConnector connector; diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java index da7f1d7882..f507348279 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java @@ -15,7 +15,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -46,7 +46,7 @@ public class VersionedHandleIdentifierProvider extends IdentifierProvider { /** * log4j category */ - private static Logger log = Logger.getLogger(VersionedHandleIdentifierProvider.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(VersionedHandleIdentifierProvider.class); /** * Prefix registered to no one diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java index 4c47fe7729..9396526d47 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java @@ -13,7 +13,7 @@ import java.util.Date; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -43,7 +43,7 @@ public class VersionedHandleIdentifierProviderWithCanonicalHandles extends Ident /** * log4j category */ - private static Logger log = Logger.getLogger(VersionedHandleIdentifierProviderWithCanonicalHandles.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(VersionedHandleIdentifierProviderWithCanonicalHandles.class); /** * Prefix registered to no one diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java index 8ad93e6e56..654d275d87 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java +++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java @@ -7,7 +7,7 @@ */ package org.dspace.identifier.doi; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.factory.ContentServiceFactory; @@ -28,7 +28,7 @@ public class DOIConsumer implements Consumer { /** * log4j logger */ - private static Logger log = Logger.getLogger(DOIConsumer.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DOIConsumer.class); @Override public void initialize() throws Exception { diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java index ed59eb3cdf..37fb18a5e4 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java +++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java @@ -26,7 +26,7 @@ import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -51,7 +51,7 @@ import org.dspace.utils.DSpace; */ public class DOIOrganiser { - private static final Logger LOG = Logger.getLogger(DOIOrganiser.class); + private static final Logger LOG = org.apache.logging.log4j.LogManager.getLogger(DOIOrganiser.class); private DOIIdentifierProvider provider; private Context context; diff --git a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/AbstractMetadataFieldMapping.java b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/AbstractMetadataFieldMapping.java index 1813d28659..3ce45d6048 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/AbstractMetadataFieldMapping.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/AbstractMetadataFieldMapping.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.importer.external.metadatamapping.contributor.MetadataContributor; import org.dspace.importer.external.metadatamapping.transform.MetadataProcessorService; @@ -30,7 +30,7 @@ public abstract class AbstractMetadataFieldMapping /** * log4j logger */ - private static Logger log = Logger.getLogger(AbstractMetadataFieldMapping.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractMetadataFieldMapping.class); /* A map containing what processing has to be done on a given metadataFieldConfig. * The processing of a value is used to determine the actual value that will be returned used. diff --git a/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedDateMetadatumContributor.java b/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedDateMetadatumContributor.java index dea509f470..fe8af76831 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedDateMetadatumContributor.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedDateMetadatumContributor.java @@ -15,7 +15,7 @@ import java.util.Date; import java.util.LinkedList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DCDate; import org.dspace.importer.external.metadatamapping.MetadataFieldConfig; import org.dspace.importer.external.metadatamapping.MetadataFieldMapping; @@ -30,7 +30,7 @@ import org.springframework.beans.factory.annotation.Required; * @author Philip Vissenaekens (philip at atmire dot com) */ public class PubmedDateMetadatumContributor implements MetadataContributor { - Logger log = Logger.getLogger(PubmedDateMetadatumContributor.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(PubmedDateMetadatumContributor.class); private MetadataFieldMapping> metadataFieldMapping; diff --git a/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedLanguageMetadatumContributor.java b/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedLanguageMetadatumContributor.java index 82da062036..18a706a4ed 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedLanguageMetadatumContributor.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/pubmed/metadatamapping/contributor/PubmedLanguageMetadatumContributor.java @@ -14,7 +14,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.importer.external.metadatamapping.MetadataFieldConfig; import org.dspace.importer.external.metadatamapping.MetadataFieldMapping; import org.dspace.importer.external.metadatamapping.MetadatumDTO; @@ -27,7 +27,7 @@ import org.dspace.importer.external.metadatamapping.contributor.MetadataContribu * @author Philip Vissenaekens (philip at atmire dot com) */ public class PubmedLanguageMetadatumContributor implements MetadataContributor { - Logger log = Logger.getLogger(PubmedDateMetadatumContributor.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(PubmedDateMetadatumContributor.class); private MetadataFieldMapping> metadataFieldMapping; private HashMap iso3toIso2; diff --git a/dspace-api/src/main/java/org/dspace/importer/external/service/ImportService.java b/dspace-api/src/main/java/org/dspace/importer/external/service/ImportService.java index 74f6b26a77..87c2bd0029 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/service/ImportService.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/service/ImportService.java @@ -15,7 +15,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.importer.external.datamodel.ImportRecord; import org.dspace.importer.external.datamodel.Query; @@ -36,7 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; public class ImportService implements Destroyable { private HashMap importSources = new HashMap<>(); - Logger log = Logger.getLogger(ImportService.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(ImportService.class); /** * Constructs an empty ImportService class object diff --git a/dspace-api/src/main/java/org/dspace/importer/external/service/components/AbstractRemoteMetadataSource.java b/dspace-api/src/main/java/org/dspace/importer/external/service/components/AbstractRemoteMetadataSource.java index a0340236c5..38632a1a2b 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/service/components/AbstractRemoteMetadataSource.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/service/components/AbstractRemoteMetadataSource.java @@ -16,7 +16,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.locks.ReentrantLock; import javax.annotation.Resource; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.importer.external.exception.MetadataSourceException; import org.dspace.importer.external.exception.SourceExceptionHandler; @@ -136,7 +136,7 @@ public abstract class AbstractRemoteMetadataSource { /** * log4j logger */ - private static Logger log = Logger.getLogger(AbstractRemoteMetadataSource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractRemoteMetadataSource.class); /** * Command pattern implementation. the callable.call method will be retried diff --git a/dspace-api/src/main/java/org/dspace/license/CCLookup.java b/dspace-api/src/main/java/org/dspace/license/CCLookup.java index 6ddd31a77d..c86aa78301 100644 --- a/dspace-api/src/main/java/org/dspace/license/CCLookup.java +++ b/dspace-api/src/main/java/org/dspace/license/CCLookup.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Map; import java.util.NoSuchElementException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.license.factory.LicenseServiceFactory; import org.dspace.license.service.CreativeCommonsService; import org.dspace.services.ConfigurationService; @@ -45,7 +45,7 @@ public class CCLookup { /** * log4j logger */ - private static Logger log = Logger.getLogger(CCLookup.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CCLookup.class); private String cc_root; private String jurisdiction; diff --git a/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java b/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java index ee45a70984..384b82ddc3 100644 --- a/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java @@ -22,7 +22,7 @@ import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -46,7 +46,7 @@ public class CreativeCommonsServiceImpl implements CreativeCommonsService, Initi /** * log4j category */ - private static Logger log = Logger.getLogger(CreativeCommonsServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsServiceImpl.class); /** * The Bundle Name diff --git a/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java b/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java index 30d7147079..55eeb8d314 100644 --- a/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java +++ b/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java @@ -26,7 +26,7 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -44,7 +44,7 @@ import org.dspace.core.Context; */ public class LicenseCleanup { - private static final Logger log = Logger.getLogger(LicenseCleanup.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(LicenseCleanup.class); protected static final Templates templates; diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java b/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java index f127d7ff48..76ae0cd2d2 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java @@ -17,7 +17,7 @@ import java.util.NoSuchElementException; import java.util.UUID; import com.hp.hpl.jena.rdf.model.Model; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -40,7 +40,7 @@ import org.dspace.workflow.factory.WorkflowServiceFactory; * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) */ public class RDFConsumer implements Consumer { - private static final Logger log = Logger.getLogger(RDFConsumer.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RDFConsumer.class); protected Deque toConvert; protected Deque toDelete; diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java b/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java index 7ce0c9cbed..03ae589c62 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFUtil.java @@ -14,7 +14,7 @@ import java.util.UUID; import com.hp.hpl.jena.rdf.model.Model; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -31,7 +31,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) */ public class RDFUtil { - private static final Logger log = Logger.getLogger(RDFUtil.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RDFUtil.class); private static final AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance() .getAuthorizeService(); diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java b/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java index a6f8804756..834ec15d4a 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java @@ -26,7 +26,7 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; @@ -54,7 +54,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ public class RDFizer { - private static final Logger log = Logger.getLogger(RDFizer.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RDFizer.class); protected boolean stdout; protected boolean verbose; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java index ebf1412e89..36501b89c4 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java @@ -26,7 +26,7 @@ import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.util.FileUtils; import com.hp.hpl.jena.vocabulary.RDF; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.factory.UtilServiceFactory; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; @@ -50,7 +50,7 @@ public class MetadataConverterPlugin implements ConverterPlugin { public final static String METADATA_SCHEMA_URL_KEY = "rdf.metadata.schema"; public final static String METADATA_PREFIXES_KEY = "rdf.metadata.prefixes"; - private final static Logger log = Logger.getLogger(MetadataConverterPlugin.class); + private final static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataConverterPlugin.class); @Autowired(required = true) protected ConfigurationService configurationService; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java index 92d6d2e8d2..6286f3b87a 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataRDFMapping.java @@ -23,14 +23,14 @@ import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.vocabulary.RDF; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) */ public class MetadataRDFMapping { - private static final Logger log = Logger.getLogger(MetadataRDFMapping.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataRDFMapping.class); protected final String name; protected final Pattern fulfills; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/RDFConverterImpl.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/RDFConverterImpl.java index 382915cacc..93a9b6211d 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/RDFConverterImpl.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/RDFConverterImpl.java @@ -13,7 +13,7 @@ import java.util.List; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; @@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) */ public class RDFConverterImpl implements RDFConverter { - private static final Logger log = Logger.getLogger(RDFConverterImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RDFConverterImpl.class); protected ConfigurationService configurationService; protected List plugins; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java index 4f70c1d029..3337738b17 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java @@ -19,7 +19,7 @@ import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.util.FileUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; @@ -57,7 +57,7 @@ public class SimpleDSORelationsConverterPlugin public static final String SIMPLE_RELATIONS_ITEM2BITSTREAM_KEY = "rdf.simplerelations.item2bitstream"; - private static final Logger log = Logger.getLogger(SimpleDSORelationsConverterPlugin.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SimpleDSORelationsConverterPlugin.class); @Autowired(required = true) protected BitstreamService bitstreamService; diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/StaticDSOConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/StaticDSOConverterPlugin.java index cf52167325..f86af753e6 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/StaticDSOConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/StaticDSOConverterPlugin.java @@ -16,7 +16,7 @@ import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.util.FileManager; import com.hp.hpl.jena.util.FileUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.core.Constants; @@ -30,7 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class StaticDSOConverterPlugin implements ConverterPlugin { - private static final Logger log = Logger.getLogger(StaticDSOConverterPlugin.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(StaticDSOConverterPlugin.class); public static final String CONSTANT_DATA_FILENAME_KEY_PREFIX = "rdf.constant.data."; public static final String CONSTANT_DATA_GENERAL_KEY_SUFFIX = "GENERAL"; diff --git a/dspace-api/src/main/java/org/dspace/rdf/factory/RDFFactoryImpl.java b/dspace-api/src/main/java/org/dspace/rdf/factory/RDFFactoryImpl.java index 2f6b66bda6..2abcd41a1b 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/factory/RDFFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/rdf/factory/RDFFactoryImpl.java @@ -8,7 +8,7 @@ package org.dspace.rdf.factory; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.rdf.conversion.RDFConverter; import org.dspace.rdf.storage.RDFStorage; import org.dspace.rdf.storage.URIGenerator; @@ -23,7 +23,7 @@ public class RDFFactoryImpl extends RDFFactory { // by type here. So we use setters and properties in Spring configuration // instead. - private static final Logger log = Logger.getLogger(RDFFactoryImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RDFFactoryImpl.class); private RDFStorage storage; private URIGenerator generator; diff --git a/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java b/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java index 7b047cc55e..6b2caa598d 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java +++ b/dspace-api/src/main/java/org/dspace/rdf/negotiation/MediaRange.java @@ -14,7 +14,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) @@ -62,7 +62,7 @@ public class MediaRange { public static final String mediaRangeRegex = "(?:(" + token + ")/(" + token + "?)" + "(" + nonQualityParam + "*)" + qualityParam + "?(" + nonQualityParam + "*))"; - private final static Logger log = Logger.getLogger(MediaRange.class); + private final static Logger log = org.apache.logging.log4j.LogManager.getLogger(MediaRange.class); protected final String type; protected final String subtype; diff --git a/dspace-api/src/main/java/org/dspace/rdf/negotiation/NegotiationFilter.java b/dspace-api/src/main/java/org/dspace/rdf/negotiation/NegotiationFilter.java index ed8840bb7a..998f57ca4f 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/negotiation/NegotiationFilter.java +++ b/dspace-api/src/main/java/org/dspace/rdf/negotiation/NegotiationFilter.java @@ -19,7 +19,7 @@ import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.rdf.RDFUtil; import org.dspace.services.factory.DSpaceServicesFactory; @@ -29,7 +29,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; public class NegotiationFilter implements Filter { public static final String ACCEPT_HEADER_NAME = "Accept"; - private static final Logger log = Logger.getLogger(NegotiationFilter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(NegotiationFilter.class); @Override public void init(FilterConfig filterConfig) throws ServletException { diff --git a/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java b/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java index 399dbdb795..dbf703e8de 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/negotiation/Negotiator.java @@ -15,7 +15,7 @@ import java.util.Iterator; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.rdf.RDFUtil; import org.dspace.services.factory.DSpaceServicesFactory; @@ -34,7 +34,7 @@ public class Negotiator { public static final String DEFAULT_LANG = "html"; - private static final Logger log = Logger.getLogger(Negotiator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Negotiator.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/DOIURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/DOIURIGenerator.java index 935a4ed610..54071ab8a2 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/DOIURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/DOIURIGenerator.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.List; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.core.Constants; @@ -26,7 +26,7 @@ import org.springframework.beans.factory.annotation.Required; * @author pbecker */ public class DOIURIGenerator implements URIGenerator { - private static final Logger log = Logger.getLogger(DOIURIGenerator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DOIURIGenerator.class); protected static URIGenerator fallback; diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java index 1ed54c7e3e..3353fa35ef 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.SiteService; @@ -26,7 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) */ public class HandleURIGenerator implements URIGenerator { - private static final Logger log = Logger.getLogger(HandleURIGenerator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(HandleURIGenerator.class); @Autowired(required = true) protected SiteService siteService; diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java index b577b212ca..b173010bd4 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.UUID; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.SiteService; @@ -27,7 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @author Pascal-Nicolas Becker (dspace -at- pascal -hyphen- becker -dot- de) */ public class LocalURIGenerator implements URIGenerator { - private static final Logger log = Logger.getLogger(LocalURIGenerator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(LocalURIGenerator.class); @Autowired(required = true) protected SiteService siteService; diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java b/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java index a301762bf8..fd84db5d5f 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/RDFStorageImpl.java @@ -30,7 +30,7 @@ import org.apache.jena.atlas.web.auth.HttpAuthenticator; import org.apache.jena.atlas.web.auth.SimpleAuthenticator; import org.apache.jena.web.DatasetGraphAccessor; import org.apache.jena.web.DatasetGraphAccessorHTTP; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.rdf.RDFUtil; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.annotation.Autowired; @@ -40,7 +40,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class RDFStorageImpl implements RDFStorage { - private static final Logger log = Logger.getLogger(RDFStorageImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RDFStorageImpl.class); @Autowired(required = true) protected ConfigurationService configurationService; diff --git a/dspace-api/src/main/java/org/dspace/search/Harvest.java b/dspace-api/src/main/java/org/dspace/search/Harvest.java index 083a32d89d..677a760452 100644 --- a/dspace-api/src/main/java/org/dspace/search/Harvest.java +++ b/dspace-api/src/main/java/org/dspace/search/Harvest.java @@ -14,7 +14,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.Collection; @@ -46,7 +46,7 @@ public class Harvest { /** * log4j logger */ - private static final Logger log = Logger.getLogger(Harvest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Harvest.class); protected static final AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance() .getAuthorizeService(); diff --git a/dspace-api/src/main/java/org/dspace/sort/AbstractTextFilterOFD.java b/dspace-api/src/main/java/org/dspace/sort/AbstractTextFilterOFD.java index ec98ee874a..e1a14cc18c 100644 --- a/dspace-api/src/main/java/org/dspace/sort/AbstractTextFilterOFD.java +++ b/dspace-api/src/main/java/org/dspace/sort/AbstractTextFilterOFD.java @@ -7,7 +7,7 @@ */ package org.dspace.sort; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.text.filter.TextFilter; /** @@ -40,7 +40,7 @@ import org.dspace.text.filter.TextFilter; * @author Graham Triggs */ public abstract class AbstractTextFilterOFD implements OrderFormatDelegate { - private static final Logger log = Logger.getLogger(AbstractTextFilterOFD.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractTextFilterOFD.class); // Initialised in subclass in an object initializer protected TextFilter[] filters; diff --git a/dspace-api/src/main/java/org/dspace/sort/SortOption.java b/dspace-api/src/main/java/org/dspace/sort/SortOption.java index 5ce96fb41c..19634164ce 100644 --- a/dspace-api/src/main/java/org/dspace/sort/SortOption.java +++ b/dspace-api/src/main/java/org/dspace/sort/SortOption.java @@ -17,7 +17,7 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; /** @@ -26,7 +26,7 @@ import org.dspace.core.ConfigurationManager; * @author Richard Jones */ public class SortOption { - private static final Logger log = Logger.getLogger(SortOption.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SortOption.class); public static final String ASCENDING = "ASC"; public static final String DESCENDING = "DESC"; diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java index a003169054..bf3cd0d3dc 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java @@ -45,6 +45,7 @@ import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; @@ -104,9 +105,9 @@ import org.springframework.beans.factory.annotation.Autowired; * @author mdiggory at atmire.com */ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBean { - private static final Logger log - = LoggerFactory.getLogger(SolrLoggerServiceImpl.class); - + + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrLoggerServiceImpl.class); + private static final String MULTIPLE_VALUES_SPLITTER = "|"; protected SolrServer solr; diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerUsageEventListener.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerUsageEventListener.java index deb0a92d5b..bce0a6f7b1 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerUsageEventListener.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerUsageEventListener.java @@ -7,7 +7,7 @@ */ package org.dspace.statistics; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.eperson.EPerson; import org.dspace.services.model.Event; import org.dspace.statistics.service.SolrLoggerService; @@ -26,7 +26,7 @@ import org.springframework.util.CollectionUtils; */ public class SolrLoggerUsageEventListener extends AbstractUsageEventListener { - private static Logger log = Logger.getLogger(SolrLoggerUsageEventListener.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrLoggerUsageEventListener.class); protected SolrLoggerService solrLoggerService; diff --git a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java index a8e87533f8..a4d340b1e9 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java +++ b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataWorkflow.java @@ -22,7 +22,7 @@ import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder; import org.apache.commons.configuration2.builder.fluent.Configurations; import org.apache.commons.configuration2.ex.ConfigurationException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; @@ -46,7 +46,7 @@ import org.dspace.statistics.content.filter.StatisticsFilter; */ public class StatisticsDataWorkflow extends StatisticsData { - private static final Logger log = Logger.getLogger(StatisticsDataWorkflow.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(StatisticsDataWorkflow.class); /** * Current DSpaceObject for which to generate the statistics. diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/ClassicDSpaceLogConverter.java b/dspace-api/src/main/java/org/dspace/statistics/util/ClassicDSpaceLogConverter.java index b26f747aca..3987f5df53 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/ClassicDSpaceLogConverter.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/ClassicDSpaceLogConverter.java @@ -28,7 +28,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.statistics.LogAnalyser; import org.dspace.app.statistics.LogLine; import org.dspace.content.DSpaceObject; @@ -44,7 +44,7 @@ import org.dspace.handle.factory.HandleServiceFactory; * @see StatisticsImporter */ public class ClassicDSpaceLogConverter { - private final Logger log = Logger.getLogger(ClassicDSpaceLogConverter.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(ClassicDSpaceLogConverter.class); /** * A DSpace context diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/LocationUtils.java b/dspace-api/src/main/java/org/dspace/statistics/util/LocationUtils.java index 693454a2cb..0b08085f52 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/LocationUtils.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/LocationUtils.java @@ -13,7 +13,7 @@ import java.util.MissingResourceException; import java.util.Properties; import java.util.ResourceBundle; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.I18nUtil; /** @@ -24,7 +24,7 @@ import org.dspace.core.I18nUtil; * @author ben at atmire.com */ public class LocationUtils { - private static final Logger logger = Logger.getLogger(LocationUtils.class); + private static final Logger logger = org.apache.logging.log4j.LogManager.getLogger(LocationUtils.class); private static final Properties countryToContinent = new Properties(); diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsClient.java b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsClient.java index 9662a3f7d9..61fd2619c2 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsClient.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsClient.java @@ -15,7 +15,7 @@ import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.tools.ant.taskdefs.Get; import org.dspace.services.factory.DSpaceServicesFactory; import org.dspace.statistics.factory.StatisticsServiceFactory; @@ -27,7 +27,7 @@ import org.dspace.statistics.service.SolrLoggerService; * @author Stuart Lewis */ public class StatisticsClient { - private static final Logger log = Logger.getLogger(StatisticsClient.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(StatisticsClient.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java index 91ae8d21fd..f236e1bc72 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java @@ -34,7 +34,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.time.DateFormatUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.common.SolrInputDocument; @@ -64,7 +64,7 @@ import org.dspace.statistics.service.SolrLoggerService; * @see ClassicDSpaceLogConverter */ public class StatisticsImporter { - private static final Logger log = Logger.getLogger(StatisticsImporter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(StatisticsImporter.class); /** * Date format (for solr) diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitStoreMigrate.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitStoreMigrate.java index 9aab7c4346..1c5ed69757 100644 --- a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitStoreMigrate.java +++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitStoreMigrate.java @@ -13,7 +13,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.BitstreamService; import org.dspace.core.Context; @@ -28,7 +28,7 @@ public class BitStoreMigrate { /** * log4j log */ - private static Logger log = Logger.getLogger(BitStoreMigrate.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitStoreMigrate.class); private static final BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); private static final BitstreamStorageService bitstreamStorageService = diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java index 18e1f33388..c63b4ebe7e 100644 --- a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.UUID; import org.apache.commons.collections4.MapUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.checker.service.ChecksumHistoryService; import org.dspace.content.Bitstream; @@ -62,7 +62,7 @@ public class BitstreamStorageServiceImpl implements BitstreamStorageService, Ini /** * log4j log */ - private static Logger log = Logger.getLogger(BitstreamStorageServiceImpl.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamStorageServiceImpl.class); @Autowired(required = true) protected BitstreamService bitstreamService; diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/Cleanup.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/Cleanup.java index 97c2a512b7..5b8ff11c88 100644 --- a/dspace-api/src/main/java/org/dspace/storage/bitstore/Cleanup.java +++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/Cleanup.java @@ -13,7 +13,7 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.storage.bitstore.factory.StorageServiceFactory; /** @@ -26,7 +26,7 @@ public class Cleanup { /** * log4j log */ - private static Logger log = Logger.getLogger(Cleanup.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Cleanup.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/DSBitStoreService.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/DSBitStoreService.java index 31901c7f34..36f75c67f9 100644 --- a/dspace-api/src/main/java/org/dspace/storage/bitstore/DSBitStoreService.java +++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/DSBitStoreService.java @@ -17,7 +17,7 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.core.Utils; @@ -33,7 +33,7 @@ public class DSBitStoreService implements BitStoreService { /** * log4j log */ - private static Logger log = Logger.getLogger(DSBitStoreService.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSBitStoreService.class); // These settings control the way an identifier is hashed into // directory and file names diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/S3BitStoreService.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/S3BitStoreService.java index 51072d2259..9d7ec14143 100644 --- a/dspace-api/src/main/java/org/dspace/storage/bitstore/S3BitStoreService.java +++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/S3BitStoreService.java @@ -27,7 +27,7 @@ import com.amazonaws.services.s3.model.S3Object; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpStatus; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.core.ConfigurationManager; import org.dspace.core.Utils; @@ -45,7 +45,7 @@ public class S3BitStoreService implements BitStoreService { /** * log4j log */ - private static Logger log = Logger.getLogger(S3BitStoreService.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(S3BitStoreService.class); /** * Checksum algorithm diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java index 5037456018..a8ca129e85 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseUtils.java @@ -24,7 +24,7 @@ import java.util.regex.Pattern; import javax.sql.DataSource; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.discovery.IndexingService; import org.dspace.discovery.SearchServiceException; @@ -54,7 +54,7 @@ public class DatabaseUtils { /** * log4j category */ - private static final Logger log = Logger.getLogger(DatabaseUtils.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DatabaseUtils.class); // Our Flyway DB object (initialized by setupFlyway()) private static Flyway flywaydb; diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/GroupServiceInitializer.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/GroupServiceInitializer.java index 1517b29a31..11018d37e0 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/GroupServiceInitializer.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/GroupServiceInitializer.java @@ -9,7 +9,7 @@ package org.dspace.storage.rdbms; import java.sql.Connection; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.eperson.service.GroupService; import org.flywaydb.core.api.MigrationInfo; @@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class GroupServiceInitializer implements FlywayCallback { - private final Logger log = Logger.getLogger(GroupServiceInitializer.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(GroupServiceInitializer.class); @Autowired(required = true) protected GroupService groupService; diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/PostgreSQLCryptoChecker.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/PostgreSQLCryptoChecker.java index 410e922e0c..48f2e4e6f0 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/PostgreSQLCryptoChecker.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/PostgreSQLCryptoChecker.java @@ -11,7 +11,7 @@ import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.flywaydb.core.api.FlywayException; import org.flywaydb.core.api.MigrationInfo; import org.flywaydb.core.api.callback.FlywayCallback; @@ -29,7 +29,7 @@ import org.flywaydb.core.api.callback.FlywayCallback; * @author Tim Donohue */ public class PostgreSQLCryptoChecker implements FlywayCallback { - private Logger log = Logger.getLogger(PostgreSQLCryptoChecker.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(PostgreSQLCryptoChecker.class); /** * Check for pgcrypto (if needed). Throws an exception if pgcrypto is diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java index 68f671c951..a4b7129546 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java @@ -9,7 +9,7 @@ package org.dspace.storage.rdbms; import java.sql.Connection; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.service.SiteService; import org.dspace.core.Context; import org.flywaydb.core.api.MigrationInfo; @@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class SiteServiceInitializer implements FlywayCallback { - private Logger log = Logger.getLogger(SiteServiceInitializer.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(SiteServiceInitializer.class); @Autowired(required = true) protected SiteService siteService; diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java index 366fc76b89..0ed07785d9 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java @@ -10,7 +10,7 @@ package org.dspace.storage.rdbms.migration; import java.sql.Connection; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.browse.BrowseException; import org.dspace.browse.BrowseIndex; import org.dspace.storage.rdbms.DatabaseUtils; @@ -27,7 +27,7 @@ public class V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables implements JdbcM /** * log4j category */ - private static final Logger log = Logger.getLogger(V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.class); /* The checksum to report for this migration (when successful) */ private int checksum = -1; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java index a41ed36082..ebc898e4cf 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/ArXivFileDataLoader.java @@ -26,7 +26,7 @@ import gr.ekt.bte.core.Value; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -40,7 +40,7 @@ import org.xml.sax.SAXException; */ public class ArXivFileDataLoader extends FileDataLoader { - private static Logger log = Logger.getLogger(ArXivFileDataLoader.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ArXivFileDataLoader.class); Map fieldMap; // mapping between service fields and local // intermediate fields diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java index ec602bd62d..410c30ca58 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiFileDataLoader.java @@ -26,7 +26,7 @@ import gr.ekt.bte.core.Value; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; @@ -38,7 +38,7 @@ import org.xml.sax.SAXException; */ public class CiNiiFileDataLoader extends FileDataLoader { - private static Logger log = Logger.getLogger(CiNiiFileDataLoader.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CiNiiFileDataLoader.class); Map fieldMap; // mapping between service fields and local // intermediate fields diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiService.java index db495906da..23026353fd 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CiNiiService.java @@ -23,7 +23,7 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.CoreConnectionPNames; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.XMLUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -35,7 +35,7 @@ public class CiNiiService { /** * log4j category */ - private static final Logger log = Logger.getLogger(CiNiiService.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CiNiiService.class); protected int timeout = 1000; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java index fd72ffe5ff..f73e9c0352 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/CrossRefService.java @@ -34,7 +34,7 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.CoreConnectionPNames; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.XMLUtils; import org.dspace.core.Context; import org.dspace.core.LogManager; @@ -51,7 +51,7 @@ import org.xml.sax.SAXException; */ public class CrossRefService { - private static final Logger log = Logger.getLogger(CrossRefService.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CrossRefService.class); protected int timeout = 1000; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java b/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java index 8538ccb6ff..a8ff5ef7fb 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java @@ -22,7 +22,7 @@ import gr.ekt.bte.core.Record; import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInput; import org.dspace.app.util.DCInputSet; import org.dspace.app.util.DCInputsReader; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java index 3ef5f65f80..f90c8e2bb8 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java @@ -21,7 +21,7 @@ import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; /** diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedOnlineDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedOnlineDataLoader.java index e78fd67405..094ce4e21d 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedOnlineDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedOnlineDataLoader.java @@ -16,7 +16,7 @@ import java.util.Set; import gr.ekt.bte.core.Record; import org.apache.http.HttpException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.LogManager; @@ -29,7 +29,7 @@ import org.dspace.core.LogManager; public class PubmedOnlineDataLoader extends NetworkSubmissionLookupDataLoader { protected boolean searchProvider = true; - private static final Logger log = Logger.getLogger(PubmedOnlineDataLoader.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(PubmedOnlineDataLoader.class); protected PubmedService pubmedService = new PubmedService(); diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java index 60a7df0483..fa30ee8ea5 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java @@ -29,7 +29,7 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.URIBuilder; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.CoreConnectionPNames; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.XMLUtils; import org.dspace.core.ConfigurationManager; import org.w3c.dom.Document; @@ -44,7 +44,7 @@ import org.xml.sax.SAXException; */ public class PubmedService { - private static final Logger log = Logger.getLogger(PubmedService.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(PubmedService.class); protected int timeout = 1000; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java index a032331efc..a3c8bbfc8b 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java @@ -15,7 +15,7 @@ import gr.ekt.bte.core.DataLoadingSpec; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.exceptions.MalformedSourceException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.submit.util.ItemSubmissionLookupDTO; /** diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java index b98581b807..7712b64041 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupService.java @@ -17,7 +17,7 @@ import gr.ekt.bte.core.DataLoader; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.TransformationEngine; import gr.ekt.bte.dataloader.FileDataLoader; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.submit.util.SubmissionLookupDTO; /** @@ -35,7 +35,7 @@ public class SubmissionLookupService { public static final String PROVIDER_NAME_FIELD = "provider_name_field"; - private static Logger log = Logger.getLogger(SubmissionLookupService.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionLookupService.class); public static final String SEPARATOR_VALUE = "#######"; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupUtils.java b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupUtils.java index 995fb6798f..d537b0a5aa 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupUtils.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionLookupUtils.java @@ -14,7 +14,7 @@ import java.util.regex.Pattern; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.Value; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.content.MetadataSchema; import org.dspace.content.MetadataValue; @@ -31,7 +31,7 @@ import org.dspace.core.Context; * @author Panagiotis Koutsourakis */ public class SubmissionLookupUtils { - private static Logger log = Logger.getLogger(SubmissionLookupUtils.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionLookupUtils.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/submit/step/AccessStep.java b/dspace-api/src/main/java/org/dspace/submit/step/AccessStep.java index 3cb16908f3..72273b8037 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/AccessStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/AccessStep.java @@ -7,7 +7,7 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.submit.AbstractProcessingStep; @@ -17,7 +17,7 @@ public class AccessStep extends AbstractProcessingStep { /** * log4j logger */ - private static Logger log = Logger.getLogger(AccessStep.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AccessStep.class); @Override public void doPreProcessing(Context context, InProgressSubmission wsi) { diff --git a/dspace-api/src/main/java/org/dspace/submit/step/CCLicenseStep.java b/dspace-api/src/main/java/org/dspace/submit/step/CCLicenseStep.java index 1c22849c3d..88606e51ed 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/CCLicenseStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/CCLicenseStep.java @@ -7,7 +7,7 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.license.factory.LicenseServiceFactory; @@ -18,7 +18,7 @@ public class CCLicenseStep extends AbstractProcessingStep { /** * log4j logger */ - private static Logger log = Logger.getLogger(CCLicenseStep.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CCLicenseStep.class); protected final CreativeCommonsService creativeCommonsService = LicenseServiceFactory.getInstance() .getCreativeCommonsService(); diff --git a/dspace-api/src/main/java/org/dspace/submit/step/CompleteStep.java b/dspace-api/src/main/java/org/dspace/submit/step/CompleteStep.java index 81966fedc9..edb7fc977c 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/CompleteStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/CompleteStep.java @@ -7,7 +7,7 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.submit.AbstractProcessingStep; @@ -16,7 +16,7 @@ public class CompleteStep extends AbstractProcessingStep { /** * log4j logger */ - private static Logger log = Logger.getLogger(CompleteStep.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CompleteStep.class); @Override public void doPreProcessing(Context context, InProgressSubmission wsi) { diff --git a/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java b/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java index c1d679eab1..c429ea103c 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java @@ -7,7 +7,11 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; +import org.dspace.content.InProgressSubmission; +import org.dspace.core.Context; +import org.dspace.services.model.Request; +import org.dspace.submit.AbstractProcessingStep; /** * @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it) @@ -16,6 +20,6 @@ public class DescribeStep extends MetadataStep { /** * log4j logger */ - private static Logger log = Logger.getLogger(DescribeStep.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DescribeStep.class); } diff --git a/dspace-api/src/main/java/org/dspace/submit/step/LicenseStep.java b/dspace-api/src/main/java/org/dspace/submit/step/LicenseStep.java index d54dbac79c..8eddebee2c 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/LicenseStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/LicenseStep.java @@ -7,7 +7,7 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.submit.AbstractProcessingStep; @@ -17,7 +17,7 @@ public class LicenseStep extends AbstractProcessingStep { /** * log4j logger */ - private static Logger log = Logger.getLogger(LicenseStep.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LicenseStep.class); @Override public void doPreProcessing(Context context, InProgressSubmission wsi) { diff --git a/dspace-api/src/main/java/org/dspace/submit/step/SelectCollectionStep.java b/dspace-api/src/main/java/org/dspace/submit/step/SelectCollectionStep.java index 11b9b3e126..ff3e97023c 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/SelectCollectionStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/SelectCollectionStep.java @@ -7,14 +7,14 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.submit.AbstractProcessingStep; public class SelectCollectionStep extends AbstractProcessingStep { - private static final Logger log = Logger.getLogger(SelectCollectionStep.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SelectCollectionStep.class); @Override public void doPreProcessing(Context context, InProgressSubmission wsi) { diff --git a/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java b/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java index 903100d1f6..b8513aefe0 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java @@ -7,7 +7,7 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.submit.AbstractProcessingStep; diff --git a/dspace-api/src/main/java/org/dspace/submit/step/UploadStep.java b/dspace-api/src/main/java/org/dspace/submit/step/UploadStep.java index 8e528eb0a4..764f332c1d 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/UploadStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/UploadStep.java @@ -7,7 +7,7 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; import org.dspace.submit.AbstractProcessingStep; @@ -16,7 +16,7 @@ public class UploadStep extends AbstractProcessingStep { /** * log4j logger */ - private static final Logger log = Logger.getLogger(UploadStep.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(UploadStep.class); @Override public void doPreProcessing(Context context, InProgressSubmission wsi) { diff --git a/dspace-api/src/main/java/org/dspace/submit/step/UploadWithEmbargoStep.java b/dspace-api/src/main/java/org/dspace/submit/step/UploadWithEmbargoStep.java index 572b252773..d67887ccb5 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/UploadWithEmbargoStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/UploadWithEmbargoStep.java @@ -7,12 +7,12 @@ */ package org.dspace.submit.step; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; public class UploadWithEmbargoStep extends UploadStep { /** * log4j logger */ - private static Logger log = Logger.getLogger(UploadWithEmbargoStep.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(UploadWithEmbargoStep.class); } diff --git a/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java b/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java index 918ee7add5..ec20f3f911 100644 --- a/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java +++ b/dspace-api/src/main/java/org/dspace/testing/PubMedToImport.java @@ -22,7 +22,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.jdom.Document; import org.jdom.Element; import org.jdom.output.Format; @@ -46,7 +46,7 @@ import org.xml.sax.helpers.DefaultHandler; * which can then be loaded into DSpace using ItemImport. */ public class PubMedToImport { - private static final Logger log = Logger.getLogger(PubMedToImport.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(PubMedToImport.class); private static File outputDir = null; diff --git a/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java b/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java index 9ffcf78110..9421f7d54b 100644 --- a/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java +++ b/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java @@ -7,7 +7,7 @@ */ package org.dspace.usage; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.core.Constants; diff --git a/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java b/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java index 3f54426e71..2d5449637f 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrImportExport.java @@ -28,7 +28,7 @@ import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; @@ -95,7 +95,7 @@ public class SolrImportExport { private static final String MULTIPLE_VALUES_SPLITTER = ","; - private static final Logger log = Logger.getLogger(SolrImportExport.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrImportExport.class); /** * Default constructor diff --git a/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java b/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java index 9f02b18a95..7903a49c31 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java +++ b/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; import org.dspace.content.Item; @@ -32,7 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class DefaultItemVersionProvider extends AbstractVersionProvider implements ItemVersionProvider { - Logger log = Logger.getLogger(DefaultItemVersionProvider.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(DefaultItemVersionProvider.class); @Autowired(required = true) protected WorkspaceItemService workspaceItemService; diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersionHistory.java b/dspace-api/src/main/java/org/dspace/versioning/VersionHistory.java index a8efdc329a..0f5b9384bd 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersionHistory.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersionHistory.java @@ -20,7 +20,7 @@ import javax.persistence.OrderBy; import javax.persistence.SequenceGenerator; import javax.persistence.Table; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.ReloadableEntity; import org.hibernate.proxy.HibernateProxyHelper; @@ -35,7 +35,7 @@ import org.hibernate.proxy.HibernateProxyHelper; @Table(name = "versionhistory") public class VersionHistory implements ReloadableEntity { - private static final Logger log = Logger.getLogger(VersionHistory.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(VersionHistory.class); @Id @Column(name = "versionhistory_id") diff --git a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowItemServiceImpl.java index 86134c62b5..2751fd33e1 100644 --- a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowItemServiceImpl.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Iterator; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Item; @@ -37,7 +37,7 @@ public class BasicWorkflowItemServiceImpl implements BasicWorkflowItemService { /** * log4j category */ - protected static Logger log = Logger.getLogger(BasicWorkflowItem.class); + protected static Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicWorkflowItem.class); @Autowired(required = true) protected BasicWorkflowItemDAO workflowItemDAO; diff --git a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java index b6af59d092..79dfa0ae3d 100644 --- a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java @@ -22,7 +22,7 @@ import javax.mail.MessagingException; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.service.AuthorizeService; @@ -104,7 +104,7 @@ public class BasicWorkflowServiceImpl implements BasicWorkflowService { /** * log4j logger */ - private final Logger log = Logger.getLogger(BasicWorkflowServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicWorkflowServiceImpl.class); @Override public int getWorkflowID(String state) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java index c09a785e60..8c62ed919b 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java @@ -18,7 +18,7 @@ import java.util.LinkedHashMap; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; @@ -47,7 +47,7 @@ public class WorkflowUtils extends Util { /** * log4j category */ - public static Logger log = Logger.getLogger(WorkflowUtils.class); + public static Logger log = org.apache.logging.log4j.LogManager.getLogger(WorkflowUtils.class); protected static final CollectionRoleService collectionRoleService = XmlWorkflowServiceFactory.getInstance().getCollectionRoleService(); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java index 7f1076b206..950dd4318e 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java @@ -18,7 +18,7 @@ import javax.annotation.PostConstruct; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.TransformerException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.xpath.XPathAPI; import org.dspace.content.Collection; import org.dspace.services.ConfigurationService; @@ -45,7 +45,7 @@ import org.w3c.dom.NodeList; */ public class XmlWorkflowFactoryImpl implements XmlWorkflowFactory { - private Logger log = Logger.getLogger(XmlWorkflowFactoryImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(XmlWorkflowFactoryImpl.class); @Autowired(required = true) protected ConfigurationService configurationService; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index a6cbf73007..8983976cc2 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -22,7 +22,7 @@ import javax.mail.MessagingException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.service.AuthorizeService; @@ -84,7 +84,7 @@ public class XmlWorkflowServiceImpl implements XmlWorkflowService { /* support for 'no notification' */ protected Map noEMail = new HashMap<>(); - private Logger log = Logger.getLogger(XmlWorkflowServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(XmlWorkflowServiceImpl.class); @Autowired(required = true) protected AuthorizeService authorizeService; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java index d64fa66843..a67a6d0cc3 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java @@ -15,7 +15,7 @@ import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.content.WorkspaceItem; import org.dspace.core.Context; @@ -41,7 +41,7 @@ public class RestartWorkflow { /** * log4j category */ - private static Logger log = Logger.getLogger(RestartWorkflow.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RestartWorkflow.class); public static boolean useWorkflowSendEmail = false; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java index d77ac39aaf..3c6ce50b0d 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.List; import javax.servlet.http.HttpServletRequest; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.core.Context; import org.dspace.core.LogManager; @@ -42,7 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class AutoAssignAction extends UserSelectionAction { - private final Logger log = Logger.getLogger(AutoAssignAction.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(AutoAssignAction.class); @Autowired(required = true) protected GroupService groupService; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/UserSelectionAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/UserSelectionAction.java index b80496ab4a..bbeb7cd173 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/UserSelectionAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/UserSelectionAction.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.sql.SQLException; import javax.servlet.http.HttpServletRequest; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.core.Context; import org.dspace.xmlworkflow.RoleMembers; @@ -36,7 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public abstract class UserSelectionAction extends Action { - protected Logger log = Logger.getLogger(UserSelectionAction.class); + protected Logger log = org.apache.logging.log4j.LogManager.getLogger(UserSelectionAction.class); public abstract boolean isFinished(XmlWorkflowItem wfi); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java index 975719e800..7641c95403 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Iterator; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Item; @@ -52,7 +52,7 @@ public class XmlWorkflowItemServiceImpl implements XmlWorkflowItemService { /* * The current step in the workflow system in which this workflow item is present */ - private Logger log = Logger.getLogger(XmlWorkflowItemServiceImpl.class); + private Logger log = org.apache.logging.log4j.LogManager.getLogger(XmlWorkflowItemServiceImpl.class); protected XmlWorkflowItemServiceImpl() { diff --git a/dspace-api/src/test/java/org/dspace/AbstractDSpaceTest.java b/dspace-api/src/test/java/org/dspace/AbstractDSpaceTest.java index f62db49e4c..7326b7188e 100644 --- a/dspace-api/src/test/java/org/dspace/AbstractDSpaceTest.java +++ b/dspace-api/src/test/java/org/dspace/AbstractDSpaceTest.java @@ -16,7 +16,7 @@ import java.util.Properties; import java.util.TimeZone; import mockit.integration.junit4.JMockit; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.MockUtil; import org.dspace.servicemanager.DSpaceKernelImpl; import org.dspace.servicemanager.DSpaceKernelInit; @@ -50,7 +50,7 @@ public class AbstractDSpaceTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(AbstractDSpaceTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractDSpaceTest.class); /** * Test properties. These configure our general test environment diff --git a/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java b/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java index c008b76d17..cf8a50fcf6 100644 --- a/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java +++ b/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java @@ -11,7 +11,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -43,7 +43,7 @@ public class AbstractUnitTest extends AbstractDSpaceTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(AbstractUnitTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractUnitTest.class); /** * Context mock object to use in the tests. diff --git a/dspace-api/src/test/java/org/dspace/app/bulkedit/DSpaceCSVTest.java b/dspace-api/src/test/java/org/dspace/app/bulkedit/DSpaceCSVTest.java index c4261f0b02..1ddba1a011 100644 --- a/dspace-api/src/test/java/org/dspace/app/bulkedit/DSpaceCSVTest.java +++ b/dspace-api/src/test/java/org/dspace/app/bulkedit/DSpaceCSVTest.java @@ -18,7 +18,7 @@ import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.junit.Test; @@ -32,7 +32,7 @@ public class DSpaceCSVTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(DSpaceCSVTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceCSVTest.class); /** * Test the reading and parsing of CSV files diff --git a/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java b/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java index a03b46ad57..3a64c5482c 100644 --- a/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java +++ b/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java @@ -15,7 +15,7 @@ import java.io.IOException; import java.sql.SQLException; import org.apache.commons.io.Charsets; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; @@ -37,7 +37,7 @@ public class GoogleMetadataTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(GoogleMetadataTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(GoogleMetadataTest.class); /** * Item instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java b/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java index 07b83c3755..c12234635c 100644 --- a/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.List; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeServiceImpl; @@ -45,7 +45,7 @@ public class BitstreamFormatTest extends AbstractUnitTest { /** * log4j category */ - private final static Logger log = Logger.getLogger(BitstreamFormatTest.class); + private final static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamFormatTest.class); /** * Object to use in the tests diff --git a/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java b/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java index fd46c3ec17..b390de4598 100644 --- a/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java @@ -24,7 +24,7 @@ import java.util.List; import java.util.UUID; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.BitstreamFormatService; @@ -43,7 +43,7 @@ public class BitstreamTest extends AbstractDSpaceObjectTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(BitstreamTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamTest.class); protected BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() diff --git a/dspace-api/src/test/java/org/dspace/content/BundleTest.java b/dspace-api/src/test/java/org/dspace/content/BundleTest.java index 09ca44ada1..abd9ce6947 100644 --- a/dspace-api/src/test/java/org/dspace/content/BundleTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BundleTest.java @@ -29,7 +29,7 @@ import java.util.UUID; import mockit.NonStrictExpectations; import org.apache.commons.collections4.CollectionUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; import org.dspace.core.Constants; @@ -47,7 +47,7 @@ public class BundleTest extends AbstractDSpaceObjectTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(BundleTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BundleTest.class); /** * Bundle instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/CollectionTest.java b/dspace-api/src/test/java/org/dspace/content/CollectionTest.java index 1e05353dcf..48f16dcbfe 100644 --- a/dspace-api/src/test/java/org/dspace/content/CollectionTest.java +++ b/dspace-api/src/test/java/org/dspace/content/CollectionTest.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.UUID; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeException; import org.dspace.core.Constants; @@ -48,7 +48,7 @@ public class CollectionTest extends AbstractDSpaceObjectTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(CollectionTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionTest.class); private LicenseService licenseService = CoreServiceFactory.getInstance().getLicenseService(); diff --git a/dspace-api/src/test/java/org/dspace/content/CommunityTest.java b/dspace-api/src/test/java/org/dspace/content/CommunityTest.java index 65bf7f6f73..e15e567520 100644 --- a/dspace-api/src/test/java/org/dspace/content/CommunityTest.java +++ b/dspace-api/src/test/java/org/dspace/content/CommunityTest.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.UUID; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeException; import org.dspace.core.Constants; @@ -45,7 +45,7 @@ public class CommunityTest extends AbstractDSpaceObjectTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(CommunityTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CommunityTest.class); /** * Community instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/DCDateTest.java b/dspace-api/src/test/java/org/dspace/content/DCDateTest.java index da4d444c58..e827fb4434 100644 --- a/dspace-api/src/test/java/org/dspace/content/DCDateTest.java +++ b/dspace-api/src/test/java/org/dspace/content/DCDateTest.java @@ -19,7 +19,7 @@ import java.util.Locale; import java.util.TimeZone; import org.apache.commons.lang3.time.DateUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -31,7 +31,7 @@ public class DCDateTest { /** * log4j category */ - private static Logger log = Logger.getLogger(DCDateTest.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DCDateTest.class); /** * Object to use in the tests diff --git a/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java b/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java index eb2b79c9dd..4e0711aac0 100644 --- a/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java +++ b/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.assertThat; import java.io.File; import java.io.FileInputStream; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.BitstreamFormatService; @@ -33,7 +33,7 @@ public class FormatIdentifierTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(FormatIdentifierTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(FormatIdentifierTest.class); protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); protected BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() diff --git a/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java b/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java index 2d7271896d..e7f9c29794 100644 --- a/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java +++ b/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java @@ -19,7 +19,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractIntegrationTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -51,7 +51,7 @@ public class ITCommunityCollection extends AbstractIntegrationTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(ITCommunityCollection.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ITCommunityCollection.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/content/ITMetadata.java b/dspace-api/src/test/java/org/dspace/content/ITMetadata.java index e8bc5e5414..10afd4d85f 100644 --- a/dspace-api/src/test/java/org/dspace/content/ITMetadata.java +++ b/dspace-api/src/test/java/org/dspace/content/ITMetadata.java @@ -16,7 +16,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractIntegrationTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -40,7 +40,7 @@ public class ITMetadata extends AbstractIntegrationTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(ITMetadata.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ITMetadata.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); diff --git a/dspace-api/src/test/java/org/dspace/content/InProgressSubmissionTest.java b/dspace-api/src/test/java/org/dspace/content/InProgressSubmissionTest.java index 28f56a790a..78be99bb01 100644 --- a/dspace-api/src/test/java/org/dspace/content/InProgressSubmissionTest.java +++ b/dspace-api/src/test/java/org/dspace/content/InProgressSubmissionTest.java @@ -7,7 +7,7 @@ */ package org.dspace.content; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.junit.After; import org.junit.Before; @@ -26,7 +26,7 @@ public class InProgressSubmissionTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(InProgressSubmissionTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(InProgressSubmissionTest.class); /** * This method will be run before every test as per @Before. It will diff --git a/dspace-api/src/test/java/org/dspace/content/InstallItemTest.java b/dspace-api/src/test/java/org/dspace/content/InstallItemTest.java index 72a7f626b8..129727bd14 100644 --- a/dspace-api/src/test/java/org/dspace/content/InstallItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/InstallItemTest.java @@ -22,7 +22,7 @@ import java.util.List; import java.util.TimeZone; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -60,7 +60,7 @@ public class InstallItemTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(InstallItemTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(InstallItemTest.class); /** * Used to check/verify thrown exceptions in below tests diff --git a/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java b/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java index 71fdcb41e8..73c8bc0eb5 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.fail; import java.io.IOException; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -40,7 +40,7 @@ public class ItemComparatorTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(ItemComparatorTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemComparatorTest.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/content/ItemTest.java b/dspace-api/src/test/java/org/dspace/content/ItemTest.java index 13d1e42d15..c337b1e46b 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemTest.java @@ -30,7 +30,7 @@ import java.util.UUID; import mockit.NonStrictExpectations; import org.apache.commons.lang3.time.DateUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.AuthorizeUtil; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; @@ -56,7 +56,7 @@ public class ItemTest extends AbstractDSpaceObjectTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(ItemTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemTest.class); /** * Item instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/LicenseUtilsTest.java b/dspace-api/src/test/java/org/dspace/content/LicenseUtilsTest.java index c1dee50994..ab96d0cde3 100644 --- a/dspace-api/src/test/java/org/dspace/content/LicenseUtilsTest.java +++ b/dspace-api/src/test/java/org/dspace/content/LicenseUtilsTest.java @@ -20,7 +20,7 @@ import java.util.Locale; import java.util.Map; import org.apache.commons.io.IOUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -49,7 +49,7 @@ public class LicenseUtilsTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(LicenseUtilsTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(LicenseUtilsTest.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java index b41e8acd97..55c5315bb0 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java @@ -18,7 +18,7 @@ import java.sql.SQLException; import java.util.List; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -38,7 +38,7 @@ public class MetadataFieldTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(MetadataFieldTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataFieldTest.class); /** * MetadataField instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java index 35a82a9cec..13f7468543 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java @@ -19,7 +19,7 @@ import java.sql.SQLException; import java.util.List; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -37,7 +37,7 @@ public class MetadataSchemaTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(MetadataSchemaTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataSchemaTest.class); /** * MetadataSchema instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java index bee228aa05..947720ef87 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java @@ -18,7 +18,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -42,7 +42,7 @@ public class MetadataValueTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(MetadataValueTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataValueTest.class); /** * MetadataValue instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java b/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java index 52a8e0fe17..2ba4aa44e2 100644 --- a/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java +++ b/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java @@ -9,7 +9,7 @@ package org.dspace.content; import static org.junit.Assert.assertTrue; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.junit.Test; /** @@ -23,7 +23,7 @@ public class NonUniqueMetadataExceptionTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(NonUniqueMetadataExceptionTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(NonUniqueMetadataExceptionTest.class); /** * Dummy test to avoid initialization errors diff --git a/dspace-api/src/test/java/org/dspace/content/SiteTest.java b/dspace-api/src/test/java/org/dspace/content/SiteTest.java index f0d0e4243c..421ce4b1bc 100644 --- a/dspace-api/src/test/java/org/dspace/content/SiteTest.java +++ b/dspace-api/src/test/java/org/dspace/content/SiteTest.java @@ -15,7 +15,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.SiteService; @@ -35,7 +35,7 @@ public class SiteTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(SiteTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SiteTest.class); /** * Site instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/SupervisedItemTest.java b/dspace-api/src/test/java/org/dspace/content/SupervisedItemTest.java index f0c289442b..406b8ab1b3 100644 --- a/dspace-api/src/test/java/org/dspace/content/SupervisedItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/SupervisedItemTest.java @@ -18,7 +18,7 @@ import java.sql.SQLException; import java.util.List; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -45,7 +45,7 @@ public class SupervisedItemTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(SupervisedItemTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SupervisedItemTest.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/content/ThumbnailTest.java b/dspace-api/src/test/java/org/dspace/content/ThumbnailTest.java index a350d3d0b8..93e231da1d 100644 --- a/dspace-api/src/test/java/org/dspace/content/ThumbnailTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ThumbnailTest.java @@ -15,7 +15,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.BitstreamService; @@ -34,7 +34,7 @@ public class ThumbnailTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(ThumbnailTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ThumbnailTest.class); protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); diff --git a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java index 00ad114097..f66619f615 100644 --- a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java @@ -16,7 +16,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -47,7 +47,7 @@ import org.junit.Test; */ public class VersioningTest extends AbstractUnitTest { - private static final Logger log = Logger.getLogger(VersioningTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(VersioningTest.class); private String originalHandle; private Item originalItem; diff --git a/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java b/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java index 02a2953498..250ff35090 100644 --- a/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.UUID; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.factory.ContentServiceFactory; @@ -48,7 +48,7 @@ public class WorkspaceItemTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(WorkspaceItemTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(WorkspaceItemTest.class); /** * WorkspaceItem instance for the tests diff --git a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java index 9ea23718b7..963da2bfab 100644 --- a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java +++ b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java @@ -23,7 +23,7 @@ import java.util.Iterator; import java.util.List; import mockit.NonStrictExpectations; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.ResourcePolicy; @@ -80,7 +80,7 @@ public class ITDSpaceAIP extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(ITDSpaceAIP.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ITDSpaceAIP.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java b/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java index a0b21f8221..c33c5d25d8 100644 --- a/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java +++ b/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java @@ -15,7 +15,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; @@ -44,7 +44,7 @@ import org.junit.Test; * for the University of Waikato's Institutional Research Repositories */ public class PackageUtilsTest extends AbstractUnitTest { - private static final Logger log = Logger.getLogger(PackageUtilsTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(PackageUtilsTest.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java index 5e5e9c0fcc..8950bfa409 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; import org.apache.commons.codec.DecoderException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.core.Constants; @@ -28,7 +28,7 @@ import org.junit.Test; */ public class EPersonTest extends AbstractUnitTest { protected EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - private static final Logger log = Logger.getLogger(EPersonTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(EPersonTest.class); public EPersonTest() { diff --git a/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java b/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java index 2dbd4c1428..d2cd08af72 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java @@ -21,7 +21,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.eperson.factory.EPersonServiceFactory; @@ -38,7 +38,7 @@ import org.junit.Test; */ public class GroupTest extends AbstractUnitTest { - private static final Logger log = Logger.getLogger(GroupTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(GroupTest.class); //TODO: test duplicate names ? diff --git a/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java b/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java index 8285e2552d..1560a5d04c 100644 --- a/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java +++ b/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java @@ -13,7 +13,7 @@ import static org.junit.Assert.fail; import java.io.IOException; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; @@ -46,7 +46,7 @@ public class HandleDAOImplTest extends AbstractUnitTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(HandleDAOImplTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(HandleDAOImplTest.class); /** * Item instances for the tests diff --git a/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java b/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java index a27315d1f7..c1c7b8ee7d 100644 --- a/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java +++ b/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java @@ -22,7 +22,7 @@ import java.util.List; import java.util.Random; import org.apache.commons.lang3.ObjectUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; @@ -58,7 +58,7 @@ public class DOIIdentifierProviderTest /** * log4j category */ - private static final Logger log = Logger.getLogger(DOIIdentifierProviderTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DOIIdentifierProviderTest.class); private static final String PREFIX = "10.5072"; private static final String NAMESPACE_SEPARATOR = "dspaceUnitTests-"; diff --git a/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java b/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java index 496620e941..e2128669e9 100644 --- a/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java +++ b/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java @@ -466,7 +466,7 @@ public class EZIDIdentifierProviderTest PrintWriter pw = new PrintWriter(sw); ex.printStackTrace(pw); System.out.println(sw.toString()); - org.apache.log4j.Logger.getLogger(EZIDIdentifierProviderTest.class).fatal("Caught NPE", ex); + org.apache.logging.log4j.org.apache.logging.log4j.LogManager.getLogger(EZIDIdentifierProviderTest.class).fatal("Caught NPE", ex); throw ex; } } diff --git a/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationIT.java b/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationIT.java index 1bf2bc1ba8..e38f153d8f 100644 --- a/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationIT.java +++ b/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationIT.java @@ -12,7 +12,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractDSpaceTest; import org.dspace.AbstractIntegrationTest; import org.dspace.authorize.AuthorizeException; @@ -62,7 +62,7 @@ public class BasicWorkflowAuthorizationIT /** * log4j category */ - private static final Logger log = Logger.getLogger(BasicWorkflowAuthorizationIT.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicWorkflowAuthorizationIT.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationRolesIT.java b/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationRolesIT.java index cdaf38077d..83647738ea 100644 --- a/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationRolesIT.java +++ b/dspace-api/src/test/java/org/dspace/workflowbasic/BasicWorkflowAuthorizationRolesIT.java @@ -17,7 +17,7 @@ import java.util.Date; import java.util.HashMap; import java.util.UUID; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.AbstractDSpaceTest; import org.dspace.AbstractIntegrationTest; import org.dspace.authorize.AuthorizeException; @@ -65,7 +65,7 @@ public class BasicWorkflowAuthorizationRolesIT /** * log4j category */ - private static final Logger log = Logger.getLogger(BasicWorkflowAuthorizationIT.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicWorkflowAuthorizationIT.class); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-api/src/test/resources/log4j.properties b/dspace-api/src/test/resources/log4j.properties index 93a4ec7ff5..4e7fbff3e3 100644 --- a/dspace-api/src/test/resources/log4j.properties +++ b/dspace-api/src/test/resources/log4j.properties @@ -19,10 +19,10 @@ log4j.rootCategory=INFO, A1 # A1 is set to be a ConsoleAppender. -log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1=org.apache.logging.log4j.ConsoleAppender # A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n # block passwords from being exposed in Axis logs. @@ -44,9 +44,9 @@ log4j.logger.org.dspace.servicemanager=ERROR log4j.logger.org.dspace.providers=ERROR log4j.logger.org.dspace.utils=ERROR -log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout=org.apache.logging.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout=org.apache.logging.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n # # Root logger option diff --git a/dspace-oai/src/main/java/org/dspace/xoai/app/BasicConfiguration.java b/dspace-oai/src/main/java/org/dspace/xoai/app/BasicConfiguration.java index 2edac1ce43..bc83483d7b 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/app/BasicConfiguration.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/app/BasicConfiguration.java @@ -8,7 +8,7 @@ package org.dspace.xoai.app; import com.lyncode.xoai.dataprovider.services.api.ResourceResolver; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.xoai.services.api.CollectionsService; import org.dspace.xoai.services.api.EarliestDateResolver; import org.dspace.xoai.services.api.FieldResolver; @@ -49,7 +49,7 @@ import org.springframework.context.annotation.Configuration; @Configuration public class BasicConfiguration { - private static final Logger log = Logger.getLogger(BasicConfiguration.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicConfiguration.class); @Bean public ConfigurationService configurationService() { diff --git a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java index aff9195264..1697b8d6d8 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java @@ -34,8 +34,8 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrQuery.ORDER; import org.apache.solr.client.solrj.SolrServer; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java b/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java index 456785c1e4..43c79681ea 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java @@ -9,7 +9,7 @@ package org.dspace.xoai.controller; import static java.util.Arrays.asList; import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; -import static org.apache.log4j.Logger.getLogger; +import static org.apache.logging.log4j.org.apache.logging.log4j.LogManager.getLogger; import java.io.IOException; import java.io.OutputStream; @@ -28,7 +28,7 @@ import com.lyncode.xoai.dataprovider.core.XOAIManager; import com.lyncode.xoai.dataprovider.exceptions.InvalidContextException; import com.lyncode.xoai.dataprovider.exceptions.OAIException; import com.lyncode.xoai.dataprovider.exceptions.WritingXmlException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.xoai.services.api.cache.XOAICacheService; import org.dspace.xoai.services.api.config.XOAIManagerResolver; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/data/DSpaceSolrItem.java b/dspace-oai/src/main/java/org/dspace/xoai/data/DSpaceSolrItem.java index a9b5818f3d..76d7336531 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/data/DSpaceSolrItem.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/data/DSpaceSolrItem.java @@ -14,8 +14,8 @@ import java.util.List; import com.lyncode.xoai.dataprovider.core.ItemMetadata; import com.lyncode.xoai.dataprovider.core.ReferenceSet; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.common.SolrDocument; /** diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java index 8e75857bad..63ff355650 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAtLeastOneMetadataFilter.java @@ -17,8 +17,8 @@ import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.ParameterList; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.ParameterValue; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.SimpleType; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.util.ClientUtils; import org.dspace.xoai.data.DSpaceItem; import org.dspace.xoai.filter.data.DSpaceMetadataFilterOperator; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAuthorizationFilter.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAuthorizationFilter.java index 5b6bd3d1b4..ebb19c84b5 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAuthorizationFilter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceAuthorizationFilter.java @@ -10,8 +10,8 @@ package org.dspace.xoai.filter; import java.sql.SQLException; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.Item; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceMetadataExistsFilter.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceMetadataExistsFilter.java index bad0c4975a..ac9c81600a 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceMetadataExistsFilter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceMetadataExistsFilter.java @@ -12,8 +12,8 @@ import java.util.List; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.ParameterValue; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.SimpleType; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.xoai.data.DSpaceItem; import org.dspace.xoai.filter.results.SolrFilterResult; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceSetSpecFilter.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceSetSpecFilter.java index 502653a39c..b89056943b 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceSetSpecFilter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/DSpaceSetSpecFilter.java @@ -8,8 +8,8 @@ package org.dspace.xoai.filter; import com.lyncode.xoai.dataprovider.core.ReferenceSet; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.util.ClientUtils; import org.dspace.xoai.data.DSpaceItem; import org.dspace.xoai.filter.results.SolrFilterResult; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/SolrFilterResult.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/SolrFilterResult.java index 37aa1b1c13..41a2a667c3 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/SolrFilterResult.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/SolrFilterResult.java @@ -7,8 +7,8 @@ */ package org.dspace.xoai.filter; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * @author Lyncode Development Team (dspace at lyncode dot com) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/filter/results/SolrFilterResult.java b/dspace-oai/src/main/java/org/dspace/xoai/filter/results/SolrFilterResult.java index 38d0716950..21425fdda4 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/filter/results/SolrFilterResult.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/filter/results/SolrFilterResult.java @@ -7,8 +7,8 @@ */ package org.dspace.xoai.filter.results; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * @author Lyncode Development Team (dspace at lyncode dot com) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceEarliestDateResolver.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceEarliestDateResolver.java index 01ec853539..de8dc0d4ad 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceEarliestDateResolver.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceEarliestDateResolver.java @@ -10,8 +10,8 @@ package org.dspace.xoai.services.impl; import java.sql.SQLException; import java.util.Date; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.MetadataValueService; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/MetadataFieldCache.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/MetadataFieldCache.java index bdcab2bbf4..5db2ff4103 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/MetadataFieldCache.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/MetadataFieldCache.java @@ -10,8 +10,8 @@ package org.dspace.xoai.services.impl; import java.util.HashMap; import java.util.Map; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * @author Lyncode Development Team (dspace at lyncode dot com) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrServerResolver.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrServerResolver.java index fe71aacad7..c2a26b53b3 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrServerResolver.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/solr/DSpaceSolrServerResolver.java @@ -7,8 +7,8 @@ */ package org.dspace.xoai.services.impl.solr; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/BaseDSpaceFilterResolver.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/BaseDSpaceFilterResolver.java index 43df0dca82..41c2f76663 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/BaseDSpaceFilterResolver.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/BaseDSpaceFilterResolver.java @@ -17,7 +17,7 @@ import com.lyncode.xoai.dataprovider.filter.conditions.CustomCondition; import com.lyncode.xoai.dataprovider.filter.conditions.NotCondition; import com.lyncode.xoai.dataprovider.filter.conditions.OrCondition; import com.lyncode.xoai.dataprovider.xml.xoaiconfig.parameters.ParameterMap; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.xoai.filter.AndFilter; import org.dspace.xoai.filter.DSpaceFilter; import org.dspace.xoai.filter.NotFilter; @@ -30,7 +30,7 @@ import org.dspace.xoai.services.api.xoai.DSpaceFilterResolver; import org.springframework.beans.factory.annotation.Autowired; public class BaseDSpaceFilterResolver implements DSpaceFilterResolver { - private static final Logger LOGGER = Logger.getLogger(BaseDSpaceFilterResolver.class); + private static final Logger LOGGER = org.apache.logging.log4j.LogManager.getLogger(BaseDSpaceFilterResolver.class); @Autowired FieldResolver fieldResolver; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceItemSolrRepository.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceItemSolrRepository.java index 1836444369..9d36797e10 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceItemSolrRepository.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceItemSolrRepository.java @@ -19,8 +19,8 @@ import com.lyncode.xoai.dataprovider.data.Item; import com.lyncode.xoai.dataprovider.data.ItemIdentifier; import com.lyncode.xoai.dataprovider.exceptions.IdDoesNotExistException; import com.lyncode.xoai.dataprovider.filter.ScopedFilter; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.common.SolrDocument; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceRepositoryConfiguration.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceRepositoryConfiguration.java index d6cc49c286..979520c199 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceRepositoryConfiguration.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceRepositoryConfiguration.java @@ -19,8 +19,8 @@ import com.lyncode.xoai.dataprovider.core.DeleteMethod; import com.lyncode.xoai.dataprovider.core.Granularity; import com.lyncode.xoai.dataprovider.services.api.RepositoryConfiguration; import org.apache.commons.io.FileUtils; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.xoai.exceptions.InvalidMetadataFieldException; import org.dspace.xoai.services.api.EarliestDateResolver; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceResumptionTokenFormatter.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceResumptionTokenFormatter.java index f79cd873ee..c51b11eabf 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceResumptionTokenFormatter.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceResumptionTokenFormatter.java @@ -12,8 +12,8 @@ import java.util.Date; import com.lyncode.xoai.dataprovider.core.ResumptionToken; import com.lyncode.xoai.dataprovider.exceptions.BadResumptionToken; import com.lyncode.xoai.dataprovider.services.api.ResumptionTokenFormatter; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.xoai.util.DateUtils; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java index 859f2390a8..c322c988a5 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java @@ -14,8 +14,8 @@ import java.util.List; import com.lyncode.xoai.dataprovider.core.ListSetsResult; import com.lyncode.xoai.dataprovider.core.Set; import com.lyncode.xoai.dataprovider.services.api.SetRepository; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/solr/DSpaceSolrServer.java b/dspace-oai/src/main/java/org/dspace/xoai/solr/DSpaceSolrServer.java index 975bb8ada6..365a718a92 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/solr/DSpaceSolrServer.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/solr/DSpaceSolrServer.java @@ -8,8 +8,8 @@ package org.dspace.xoai.solr; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java b/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java index 611d0692f7..9ecef225a0 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/util/DateUtils.java @@ -13,8 +13,8 @@ import java.util.Date; import java.util.Locale; import java.util.TimeZone; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * @author Lyncode Development Team (dspace at lyncode dot com) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/util/ItemUtils.java b/dspace-oai/src/main/java/org/dspace/xoai/util/ItemUtils.java index 1faee45890..10bbc61e70 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/util/ItemUtils.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/util/ItemUtils.java @@ -16,8 +16,8 @@ import java.util.List; import com.lyncode.xoai.dataprovider.xml.xoai.Element; import com.lyncode.xoai.dataprovider.xml.xoai.Metadata; import com.lyncode.xoai.util.Base64Utils; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +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.MetadataExposureService; import org.dspace.authorize.AuthorizeException; diff --git a/dspace-oai/src/main/java/org/dspace/xoai/util/URLUtils.java b/dspace-oai/src/main/java/org/dspace/xoai/util/URLUtils.java index c0ddf3e701..f7661d5908 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/util/URLUtils.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/util/URLUtils.java @@ -9,8 +9,8 @@ package org.dspace.xoai.util; import java.io.UnsupportedEncodingException; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.core.Constants; diff --git a/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java b/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java index e5a757f9db..526f138a71 100644 --- a/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java +++ b/dspace-rdf/src/main/java/org/dspace/rdf/providing/DataProviderServlet.java @@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletResponse; import com.hp.hpl.jena.rdf.model.Model; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; import org.dspace.handle.factory.HandleServiceFactory; @@ -33,7 +33,7 @@ public class DataProviderServlet extends HttpServlet { protected static final String DEFAULT_LANG = "TURTLE"; - private static final Logger log = Logger.getLogger(DataProviderServlet.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DataProviderServlet.class); protected final transient HandleService handleService = HandleServiceFactory.getInstance().getHandleService(); diff --git a/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java b/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java index 0cb3c7bdc0..b6a6854938 100644 --- a/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java +++ b/dspace-rdf/src/main/java/org/dspace/rdf/providing/LocalURIRedirectionServlet.java @@ -15,7 +15,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; import org.dspace.handle.factory.HandleServiceFactory; @@ -28,7 +28,7 @@ import org.dspace.rdf.negotiation.Negotiator; public class LocalURIRedirectionServlet extends HttpServlet { public static final String ACCEPT_HEADER_NAME = "Accept"; - private final static Logger log = Logger.getLogger(LocalURIRedirectionServlet.class); + private final static Logger log = org.apache.logging.log4j.LogManager.getLogger(LocalURIRedirectionServlet.class); protected final transient HandleService handleService = HandleServiceFactory.getInstance().getHandleService(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java index eb96a53185..3a6ad85960 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java @@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -69,7 +69,7 @@ public class BitstreamResource extends Resource { .getResourcePolicyService(); protected GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - private static Logger log = Logger.getLogger(BitstreamResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamResource.class); /** * Return bitstream properties without file data. It can throw diff --git a/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java b/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java index 7d5fd4c015..af06792b7b 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java @@ -29,7 +29,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -60,7 +60,7 @@ public class CollectionsResource extends Resource { protected WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); protected WorkflowService workflowService = WorkflowServiceFactory.getInstance().getWorkflowService(); - private static Logger log = Logger.getLogger(CollectionsResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionsResource.class); /** * Return instance of collection with passed id. You can add more properties diff --git a/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java b/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java index 331ae4cfd5..5ac25d69e9 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java @@ -28,7 +28,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -51,7 +51,7 @@ public class CommunitiesResource extends Resource { protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - private static Logger log = Logger.getLogger(CommunitiesResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CommunitiesResource.class); /** * Returns community with basic properties. If you want more, use expand diff --git a/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java b/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java index 7312e5c4b7..133ed50d9c 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java @@ -24,7 +24,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.factory.ContentServiceFactory; @@ -45,7 +45,7 @@ public class FilteredCollectionsResource extends Resource { protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - private static Logger log = Logger.getLogger(FilteredCollectionsResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(FilteredCollectionsResource.class); /** * Return array of all collections in DSpace. You can add more properties diff --git a/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java b/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java index 5129bce840..0f4331adc5 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java @@ -25,7 +25,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Item; import org.dspace.content.MetadataField; @@ -58,7 +58,7 @@ public class FilteredItemsResource extends Resource { protected SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); protected ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - private static Logger log = Logger.getLogger(FilteredItemsResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(FilteredItemsResource.class); /** * Return instance of collection with passed id. You can add more properties diff --git a/dspace-rest/src/main/java/org/dspace/rest/FiltersResource.java b/dspace-rest/src/main/java/org/dspace/rest/FiltersResource.java index 904d62c6c8..bff755f2de 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/FiltersResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/FiltersResource.java @@ -17,7 +17,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.rest.common.ItemFilter; /** @@ -27,7 +27,7 @@ import org.dspace.rest.common.ItemFilter; */ @Path("/filters") public class FiltersResource { - private static Logger log = Logger.getLogger(FiltersResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(FiltersResource.class); /** * Return all Use Case Item Filters in DSpace. diff --git a/dspace-rest/src/main/java/org/dspace/rest/HandleResource.java b/dspace-rest/src/main/java/org/dspace/rest/HandleResource.java index 71a3b8a084..51436a1c00 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/HandleResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/HandleResource.java @@ -18,7 +18,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.factory.ContentServiceFactory; @@ -44,7 +44,7 @@ public class HandleResource extends Resource { protected HandleService handleService = HandleServiceFactory.getInstance().getHandleService(); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - private static Logger log = Logger.getLogger(HandleResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HandleResource.class); @GET @Path("/{prefix}/{suffix}") diff --git a/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java b/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java index 716f361f76..b2ffc559b0 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java @@ -21,7 +21,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.Collection; @@ -45,7 +45,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; @Path("/hierarchy") @Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public class HierarchyResource extends Resource { - private static Logger log = Logger.getLogger(HierarchyResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HierarchyResource.class); protected SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java b/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java index 84dd35e9a9..615aacac21 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java @@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -72,7 +72,7 @@ public class ItemsResource extends Resource { .getResourcePolicyService(); protected GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - private static final Logger log = Logger.getLogger(ItemsResource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemsResource.class); /** * Return item properties without metadata and bitstreams. You can add diff --git a/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java b/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java index 333f611f6c..79e655e63d 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java @@ -28,7 +28,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -70,7 +70,7 @@ public class MetadataRegistryResource extends Resource { protected MetadataSchemaService metadataSchemaService = ContentServiceFactory.getInstance() .getMetadataSchemaService(); protected SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); - private static Logger log = Logger.getLogger(MetadataRegistryResource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataRegistryResource.class); /** * Return all metadata registry items in DSpace. diff --git a/dspace-rest/src/main/java/org/dspace/rest/Resource.java b/dspace-rest/src/main/java/org/dspace/rest/Resource.java index 65fdbd2048..7a7624fef0 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/Resource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/Resource.java @@ -16,7 +16,7 @@ import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.core.Context; import org.dspace.eperson.factory.EPersonServiceFactory; @@ -40,7 +40,7 @@ public class Resource { @javax.ws.rs.core.Context public ServletContext servletContext; - private static Logger log = Logger.getLogger(Resource.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Resource.class); private static final boolean writeStatistics; diff --git a/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java b/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java index dfb5e2bb39..c09e924536 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java +++ b/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java @@ -23,7 +23,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.AuthenticationMethod; import org.dspace.authenticate.ShibAuthentication; import org.dspace.authenticate.factory.AuthenticateServiceFactory; @@ -44,7 +44,7 @@ import org.dspace.utils.DSpace; @Path("/") public class RestIndex { protected EPersonService epersonService = EPersonServiceFactory.getInstance().getEPersonService(); - private static Logger log = Logger.getLogger(RestIndex.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RestIndex.class); /** * Return html page with information about REST api. It contains methods all diff --git a/dspace-rest/src/main/java/org/dspace/rest/RestReports.java b/dspace-rest/src/main/java/org/dspace/rest/RestReports.java index dda44b5868..4af556b6f8 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/RestReports.java +++ b/dspace-rest/src/main/java/org/dspace/rest/RestReports.java @@ -20,7 +20,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.rest.common.Report; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; @@ -34,7 +34,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; */ @Path("/reports") public class RestReports { - private static Logger log = Logger.getLogger(RestReports.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RestReports.class); protected ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); public static final String REST_RPT_URL = "rest.report-url."; diff --git a/dspace-rest/src/main/java/org/dspace/rest/authentication/DSpaceAuthenticationProvider.java b/dspace-rest/src/main/java/org/dspace/rest/authentication/DSpaceAuthenticationProvider.java index 65bedce85b..5d0bedb442 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/authentication/DSpaceAuthenticationProvider.java +++ b/dspace-rest/src/main/java/org/dspace/rest/authentication/DSpaceAuthenticationProvider.java @@ -13,7 +13,7 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.AuthenticationMethod; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; @@ -40,7 +40,7 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; */ public class DSpaceAuthenticationProvider implements AuthenticationProvider { - private static Logger log = Logger.getLogger(DSpaceAuthenticationProvider.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceAuthenticationProvider.class); protected AuthenticationService authenticationService = AuthenticateServiceFactory.getInstance() .getAuthenticationService(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/Bitstream.java b/dspace-rest/src/main/java/org/dspace/rest/common/Bitstream.java index ecfc31ef26..7eb198990e 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/Bitstream.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/Bitstream.java @@ -14,7 +14,7 @@ import java.util.List; import javax.servlet.ServletContext; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bundle; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.BitstreamService; @@ -35,7 +35,7 @@ public class Bitstream extends DSpaceObject { protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); protected BundleService bundleService = ContentServiceFactory.getInstance().getBundleService(); - Logger log = Logger.getLogger(Bitstream.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(Bitstream.class); private String bundleName; private String description; diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java b/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java index 9bb66dba20..5c2c9b817b 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java @@ -16,7 +16,7 @@ import javax.servlet.ServletContext; import javax.ws.rs.WebApplicationException; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; import org.dspace.content.service.CommunityService; @@ -36,7 +36,7 @@ public class Collection extends DSpaceObject { protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - Logger log = Logger.getLogger(Collection.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(Collection.class); //Relationships private Bitstream logo; diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/Community.java b/dspace-rest/src/main/java/org/dspace/rest/common/Community.java index 45d62ffe96..4f69eba0aa 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/Community.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/Community.java @@ -16,7 +16,7 @@ import javax.ws.rs.WebApplicationException; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.factory.ContentServiceFactory; @@ -37,7 +37,7 @@ public class Community extends DSpaceObject { protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - private static Logger log = Logger.getLogger(Community.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Community.class); //Exandable relationships private Bitstream logo; diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java b/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java index 525b823301..c7ff0ef9b3 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java @@ -16,7 +16,7 @@ import javax.servlet.ServletContext; import javax.ws.rs.WebApplicationException; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; import org.dspace.content.service.CommunityService; @@ -34,7 +34,7 @@ public class FilteredCollection extends DSpaceObject { protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - Logger log = Logger.getLogger(FilteredCollection.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(FilteredCollection.class); //Relationships private Community parentCommunity; diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/Item.java b/dspace-rest/src/main/java/org/dspace/rest/common/Item.java index e336247736..3794153b7d 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/Item.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/Item.java @@ -16,7 +16,7 @@ import javax.ws.rs.WebApplicationException; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.util.factory.UtilServiceFactory; import org.dspace.app.util.service.MetadataExposureService; import org.dspace.authorize.factory.AuthorizeServiceFactory; @@ -43,7 +43,7 @@ public class Item extends DSpaceObject { .getMetadataExposureService(); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - Logger log = Logger.getLogger(Item.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(Item.class); String isArchived; String isWithdrawn; diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilter.java b/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilter.java index 6a1466eb35..bc5bd13134 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilter.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilter.java @@ -17,7 +17,7 @@ import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.factory.CoreServiceFactory; import org.dspace.rest.filter.ItemFilterDefs; @@ -32,7 +32,7 @@ import org.dspace.rest.filter.ItemFilterTest; */ @XmlRootElement(name = "item-filter") public class ItemFilter { - static Logger log = Logger.getLogger(ItemFilter.class); + static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemFilter.class); private ItemFilterTest itemFilterTest = null; private String filterName = ""; diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilterQuery.java b/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilterQuery.java index 448d3a8cfc..6f56e2b44c 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilterQuery.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/ItemFilterQuery.java @@ -11,7 +11,7 @@ import javax.ws.rs.WebApplicationException; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Metadata Query for DSpace Items using the REST API @@ -20,7 +20,7 @@ import org.apache.log4j.Logger; */ @XmlRootElement(name = "item-filter-query") public class ItemFilterQuery { - Logger log = Logger.getLogger(ItemFilterQuery.class); + Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemFilterQuery.class); private String field = ""; private String operation = ""; diff --git a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsMeta.java b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsMeta.java index 278c0c8a1e..96a866357d 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsMeta.java +++ b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsMeta.java @@ -9,7 +9,7 @@ package org.dspace.rest.filter; import java.util.regex.Pattern; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -24,7 +24,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; public class ItemFilterDefsMeta implements ItemFilterList { protected static ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - static Logger log = Logger.getLogger(ItemFilterDefsMeta.class); + static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemFilterDefsMeta.class); public static final String CAT_META_GEN = "General Metadata Filters"; public static final String CAT_META_SPEC = "Specific Metadata Filters"; diff --git a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsPerm.java b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsPerm.java index daa5d022b2..9e80f31196 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsPerm.java +++ b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterDefsPerm.java @@ -9,7 +9,7 @@ package org.dspace.rest.filter; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.content.Bitstream; @@ -26,7 +26,7 @@ import org.dspace.rest.filter.ItemFilterUtil.BundleName; public class ItemFilterDefsPerm implements ItemFilterList { protected static AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); public static final String CAT_PERM = "Perimission Filters"; - private static Logger log = Logger.getLogger(ItemFilterDefsPerm.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemFilterDefsPerm.class); public ItemFilterDefsPerm() { } diff --git a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterSet.java b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterSet.java index 837ed4ee4b..f70bc9664d 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterSet.java +++ b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterSet.java @@ -14,7 +14,7 @@ import java.util.List; import javax.servlet.ServletContext; import javax.ws.rs.WebApplicationException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; import org.dspace.core.Context; @@ -28,7 +28,7 @@ import org.dspace.rest.common.ItemFilter; */ public class ItemFilterSet { protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - static Logger log = Logger.getLogger(ItemFilterSet.class); + static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemFilterSet.class); private List itemFilters; private ItemFilter allFiltersFilter; diff --git a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterUtil.java b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterUtil.java index d6d68ba6a7..ddb75f0db8 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterUtil.java +++ b/dspace-rest/src/main/java/org/dspace/rest/filter/ItemFilterUtil.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.regex.Pattern; import com.ibm.icu.util.Calendar; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.Item; @@ -25,7 +25,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; public class ItemFilterUtil { protected static ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - static Logger log = Logger.getLogger(ItemFilterUtil.class); + static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemFilterUtil.class); public enum BundleName { ORIGINAL, TEXT, LICENSE, THUMBNAIL } diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java index 0deaba1ac5..aa603fc295 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java @@ -7,7 +7,7 @@ */ package org.dspace.servicemanager.example; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.services.model.Event; import org.dspace.services.model.EventListener; diff --git a/dspace-services/src/test/resources/log4j.properties b/dspace-services/src/test/resources/log4j.properties index f90d80b3ad..7dbc0a3bd0 100644 --- a/dspace-services/src/test/resources/log4j.properties +++ b/dspace-services/src/test/resources/log4j.properties @@ -1,7 +1,7 @@ log4j.rootCategory=info log4j.rootLogger=info, stdout -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout=org.apache.logging.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.logging.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern= %p %m [%d] (%F:%L) %n diff --git a/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java b/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java index a177e2db32..6281c471ad 100644 --- a/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java +++ b/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java @@ -15,13 +15,13 @@ import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -import org.apache.log4j.Hierarchy; -import org.apache.log4j.Level; -import org.apache.log4j.PropertyConfigurator; -import org.apache.log4j.helpers.Loader; -import org.apache.log4j.spi.Configurator; -import org.apache.log4j.spi.RootLogger; -import org.apache.log4j.xml.DOMConfigurator; +import org.apache.logging.log4j.Hierarchy; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.PropertyConfigurator; +import org.apache.logging.log4j.helpers.Loader; +import org.apache.logging.log4j.spi.Configurator; +import org.apache.logging.log4j.spi.RootLogger; +import org.apache.logging.log4j.xml.DOMConfigurator; /** * Initialize Log4J at application startup. diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java index e60007d8ab..afb6a20f51 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java @@ -17,7 +17,7 @@ import javax.ws.rs.core.Response; import org.apache.catalina.connector.ClientAbortException; import org.apache.commons.lang3.tuple.Pair; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.BitstreamRest; import org.dspace.app.rest.utils.ContextUtil; import org.dspace.app.rest.utils.MultipartFileSender; @@ -57,7 +57,7 @@ import org.springframework.web.bind.annotation.RestController; + "/{uuid:[0-9a-fxA-FX]{8}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{12}}/content") public class BitstreamContentRestController { - private static final Logger log = Logger.getLogger(BitstreamContentRestController.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamContentRestController.class); //Most file systems are configured to use block sizes of 4096 or 8192 and our buffer should be a multiple of that. private static final int BUFFER_SIZE = 4096 * 10; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 31add4cbfe..6c29dc5283 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Objects; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.link.HalLinkService; import org.dspace.app.rest.model.FacetConfigurationRest; import org.dspace.app.rest.model.FacetResultsRest; @@ -47,7 +47,7 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api/" + SearchResultsRest.CATEGORY) public class DiscoveryRestController implements InitializingBean { - private static final Logger log = Logger.getLogger(ScopeResolver.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ScopeResolver.class); @Autowired protected Utils utils; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/RestResourceController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/RestResourceController.java index 864383d687..9e5c339455 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/RestResourceController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/RestResourceController.java @@ -28,7 +28,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.atteo.evo.inflector.English; import org.dspace.app.rest.converter.JsonPatchConverter; import org.dspace.app.rest.exception.PaginationException; @@ -111,7 +111,7 @@ public class RestResourceController implements InitializingBean { */ private static final String REGEX_REQUESTMAPPING_IDENTIFIER_AS_DIGIT = "/{id:\\d+}"; - private static final Logger log = Logger.getLogger(RestResourceController.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RestResourceController.class); @Autowired DiscoverableEndpointsService discoverableEndpointsService; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/BrowseEntryConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/BrowseEntryConverter.java index 7d093c0f9a..677ecc1549 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/BrowseEntryConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/BrowseEntryConverter.java @@ -7,7 +7,7 @@ */ package org.dspace.app.rest.converter; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.BrowseEntryRest; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; @@ -20,7 +20,7 @@ import org.springframework.stereotype.Component; */ @Component public class BrowseEntryConverter implements Converter { - private static final Logger log = Logger.getLogger(BrowseEntryConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BrowseEntryConverter.class); @Override public BrowseEntryRest convert(String[] source) { diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/CollectionConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/CollectionConverter.java index c432064b86..a4c368d2b4 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/CollectionConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/CollectionConverter.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.UUID; import javax.servlet.http.HttpServletRequest; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.CollectionRest; import org.dspace.app.rest.model.ResourcePolicyRest; import org.dspace.app.rest.utils.ContextUtil; @@ -38,7 +38,7 @@ import org.springframework.stereotype.Component; public class CollectionConverter extends DSpaceObjectConverter { - private static final Logger log = Logger.getLogger(CollectionConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionConverter.class); @Autowired private BitstreamConverter bitstreamConverter; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/EPersonConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/EPersonConverter.java index 05632370f2..0e39d3a7fb 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/EPersonConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/EPersonConverter.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.EPersonRest; import org.dspace.app.rest.model.GroupRest; import org.dspace.core.Context; @@ -36,7 +36,7 @@ public class EPersonConverter extends DSpaceObjectConverter { - private static final Logger log = Logger.getLogger(GroupConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(GroupConverter.class); @Override public GroupRest fromModel(Group obj) { diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/ItemConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/ItemConverter.java index 51fb456d72..8c9743457c 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/ItemConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/ItemConverter.java @@ -10,7 +10,7 @@ package org.dspace.app.rest.converter; import java.util.ArrayList; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.BitstreamRest; import org.dspace.app.rest.model.ItemRest; import org.dspace.content.Bitstream; @@ -33,7 +33,7 @@ public class ItemConverter extends DSpaceObjectConverter { - private static final Logger log = Logger.getLogger(SubmissionDefinitionConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionDefinitionConverter.class); @Autowired private SubmissionSectionConverter panelConverter; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionSectionConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionSectionConverter.java index 1a15e74d2b..33cf0303fa 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionSectionConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionSectionConverter.java @@ -7,7 +7,7 @@ */ package org.dspace.app.rest.converter; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.SubmissionSectionRest; import org.dspace.app.rest.model.SubmissionVisibilityRest; import org.dspace.app.rest.model.VisibilityEnum; @@ -25,7 +25,7 @@ import org.springframework.stereotype.Component; @Component public class SubmissionSectionConverter extends DSpaceConverter { - private static final Logger log = Logger.getLogger(SubmissionSectionConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionSectionConverter.class); private SubmissionConfigReader submissionConfigReader; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/WorkspaceItemConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/WorkspaceItemConverter.java index 752a220a6d..22cee05541 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/WorkspaceItemConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/WorkspaceItemConverter.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.ErrorRest; import org.dspace.app.rest.model.SubmissionDefinitionRest; import org.dspace.app.rest.model.SubmissionSectionRest; @@ -37,7 +37,7 @@ import org.springframework.stereotype.Component; public class WorkspaceItemConverter extends DSpaceConverter { - private static final Logger log = Logger.getLogger(WorkspaceItemConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(WorkspaceItemConverter.class); @Autowired private EPersonConverter epersonConverter; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/HalLinkService.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/HalLinkService.java index 799623b7ff..2529d275ab 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/HalLinkService.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/HalLinkService.java @@ -16,7 +16,7 @@ import java.util.stream.Collectors; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.hateoas.EmbeddedPage; import org.dspace.app.rest.model.hateoas.HALResource; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +33,7 @@ import org.springframework.stereotype.Component; @ComponentScan public class HalLinkService { - private static final Logger log = Logger.getLogger(HalLinkService.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(HalLinkService.class); @Autowired private List halLinkFactories; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DSpaceRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DSpaceRestRepository.java index e853121c6f..5248cf024f 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DSpaceRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DSpaceRestRepository.java @@ -14,7 +14,7 @@ import java.sql.SQLException; import javax.servlet.http.HttpServletRequest; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.exception.PatchBadRequestException; import org.dspace.app.rest.exception.RESTAuthorizationException; import org.dspace.app.rest.exception.RepositoryMethodNotImplementedException; @@ -44,7 +44,7 @@ public abstract class DSpaceRestRepository { - private static final Logger log = Logger.getLogger(DSpaceRestRepository.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceRestRepository.class); //Trick to make inner-calls to ourselves that are checked by Spring security //See: diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index fe76178100..ea2f70c469 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -11,7 +11,7 @@ import java.util.List; import javax.ws.rs.BadRequestException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.converter.DiscoverConfigurationConverter; import org.dspace.app.rest.converter.DiscoverFacetConfigurationConverter; import org.dspace.app.rest.converter.DiscoverFacetResultsConverter; @@ -48,7 +48,7 @@ import org.springframework.stereotype.Component; @Component(SearchResultsRest.CATEGORY + "." + SearchResultsRest.NAME) public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { - private static final Logger log = Logger.getLogger(ScopeResolver.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ScopeResolver.class); @Autowired private DiscoveryConfigurationService searchConfigurationService; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java index 0478cd7974..39ee598564 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java @@ -11,7 +11,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.model.AccessConditionOptionRest; import org.dspace.app.rest.model.SubmissionUploadRest; import org.dspace.app.rest.model.hateoas.SubmissionUploadResource; @@ -43,7 +43,7 @@ import org.springframework.stereotype.Component; public class SubmissionUploadRestRepository extends DSpaceRestRepository implements LinkRestRepository { - private static final Logger log = Logger.getLogger(SubmissionUploadRestRepository.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionUploadRestRepository.class); private SubmissionConfigReader submissionConfigReader; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java index 4b4e30d059..95f24e0896 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java @@ -22,7 +22,7 @@ import gr.ekt.bte.core.TransformationSpec; import gr.ekt.bte.exceptions.BadTransformationSpec; import gr.ekt.bte.exceptions.MalformedSourceException; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.Parameter; import org.dspace.app.rest.SearchRestMethod; import org.dspace.app.rest.converter.WorkspaceItemConverter; @@ -79,7 +79,7 @@ public class WorkspaceItemRestRepository extends DSpaceRestRepository { /** * log4j category */ - private static final Logger log = Logger.getLogger(AbstractDSpaceObjectBuilder.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractDSpaceObjectBuilder.class); protected AbstractBuilder(Context context) { this.context = context; diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/AbstractDSpaceObjectBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/AbstractDSpaceObjectBuilder.java index 9d1322bcb4..f74d09adfc 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/AbstractDSpaceObjectBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/AbstractDSpaceObjectBuilder.java @@ -9,7 +9,7 @@ package org.dspace.app.rest.builder; import java.util.Date; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.ResourcePolicy; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -34,7 +34,7 @@ public abstract class AbstractDSpaceObjectBuilder extends AbstractBuilder { /* Log4j logger*/ - private static final Logger log = Logger.getLogger(AbstractDSpaceObjectBuilder.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractDSpaceObjectBuilder.class); protected AbstractDSpaceObjectBuilder(Context context) { super(context); diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/BitstreamFormatBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/BitstreamFormatBuilder.java index ddca4e622a..b0d169bfb8 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/BitstreamFormatBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/BitstreamFormatBuilder.java @@ -9,7 +9,7 @@ package org.dspace.app.rest.builder; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.BitstreamFormat; import org.dspace.core.Context; @@ -22,7 +22,7 @@ import org.dspace.service.DSpaceCRUDService; public class BitstreamFormatBuilder extends AbstractCRUDBuilder { /* Log4j logger*/ - private static final Logger log = Logger.getLogger(BitstreamFormatBuilder.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamFormatBuilder.class); private BitstreamFormat bitstreamFormat; diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataFieldBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataFieldBuilder.java index 42f9c10752..061e5f7c0d 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataFieldBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataFieldBuilder.java @@ -10,7 +10,7 @@ package org.dspace.app.rest.builder; import java.io.IOException; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; @@ -22,7 +22,7 @@ import org.dspace.discovery.SearchServiceException; public class MetadataFieldBuilder extends AbstractBuilder { /* Log4j logger*/ - private static final Logger log = Logger.getLogger(MetadataFieldBuilder.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataFieldBuilder.class); private MetadataField metadataField; diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataSchemaBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataSchemaBuilder.java index 5b42f0b24a..3f060accc4 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataSchemaBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/MetadataSchemaBuilder.java @@ -9,7 +9,7 @@ package org.dspace.app.rest.builder; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.MetadataSchema; import org.dspace.content.NonUniqueMetadataException; @@ -20,7 +20,7 @@ import org.dspace.discovery.SearchServiceException; public class MetadataSchemaBuilder extends AbstractBuilder { /* Log4j logger*/ - private static final Logger log = Logger.getLogger(MetadataSchemaBuilder.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataSchemaBuilder.class); private MetadataSchema metadataSchema; diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java index 3f129b5528..b2b550d69e 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java @@ -15,7 +15,7 @@ import java.sql.SQLException; import java.util.Properties; import java.util.TimeZone; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.builder.AbstractBuilder; import org.dspace.servicemanager.DSpaceKernelImpl; import org.dspace.servicemanager.DSpaceKernelInit; @@ -30,7 +30,7 @@ public class AbstractDSpaceIntegrationTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(AbstractDSpaceIntegrationTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractDSpaceIntegrationTest.class); /** * Test properties. These configure our general test environment diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java index 7c38a89f4d..8af9da111a 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java @@ -12,7 +12,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; import java.util.Arrays; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.app.launcher.ScriptLauncher; import org.dspace.app.rest.builder.AbstractBuilder; import org.dspace.authorize.AuthorizeException; @@ -37,7 +37,7 @@ public class AbstractIntegrationTestWithDatabase extends AbstractDSpaceIntegrati /** * log4j category */ - private static final Logger log = Logger.getLogger(AbstractIntegrationTestWithDatabase.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractIntegrationTestWithDatabase.class); /** * Context mock object to use in the tests. diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/MultipartFileSenderTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/MultipartFileSenderTest.java index 629e5fd1ef..c2665f4145 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/MultipartFileSenderTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/utils/MultipartFileSenderTest.java @@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.CharEncoding; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.junit.After; import org.junit.Before; @@ -41,7 +41,7 @@ public class MultipartFileSenderTest { /** * log4j category */ - private static final Logger log = Logger.getLogger(MultipartFileSenderTest.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MultipartFileSenderTest.class); private InputStream is; private String mimeType; diff --git a/dspace-spring-rest/src/test/java/org/dspace/solr/MockSolrServer.java b/dspace-spring-rest/src/test/java/org/dspace/solr/MockSolrServer.java index e5e62e25df..a71d33b82e 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/solr/MockSolrServer.java +++ b/dspace-spring-rest/src/test/java/org/dspace/solr/MockSolrServer.java @@ -13,7 +13,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicLong; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; @@ -25,7 +25,7 @@ import org.dspace.app.rest.test.AbstractDSpaceIntegrationTest; */ public class MockSolrServer { - private static final Logger log = Logger.getLogger(MockSolrServer.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MockSolrServer.class); private static final ConcurrentMap loadedCores = new ConcurrentHashMap<>(); private static final ConcurrentMap usersPerCore = new ConcurrentHashMap<>(); private static CoreContainer container = null; diff --git a/dspace-spring-rest/src/test/resources/log4j.properties b/dspace-spring-rest/src/test/resources/log4j.properties index 2500bc47ea..b982e8bd74 100644 --- a/dspace-spring-rest/src/test/resources/log4j.properties +++ b/dspace-spring-rest/src/test/resources/log4j.properties @@ -19,10 +19,10 @@ log4j.rootCategory=INFO, A1 # A1 is set to be a ConsoleAppender. -log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1=org.apache.logging.log4j.ConsoleAppender # A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n ########################################################################### @@ -40,9 +40,9 @@ log4j.logger.org.dspace.servicemanager=ERROR log4j.logger.org.dspace.providers=ERROR log4j.logger.org.dspace.utils=ERROR -log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout=org.apache.logging.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout=org.apache.logging.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n # # Root logger option diff --git a/dspace-sword/src/main/java/org/dspace/sword/BitstreamEntryGenerator.java b/dspace-sword/src/main/java/org/dspace/sword/BitstreamEntryGenerator.java index 3ce38aec47..14e65d81e1 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/BitstreamEntryGenerator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/BitstreamEntryGenerator.java @@ -10,7 +10,7 @@ package org.dspace.sword; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; import org.dspace.content.Bundle; @@ -33,7 +33,7 @@ public class BitstreamEntryGenerator extends DSpaceATOMEntry { /** * logger */ - private static Logger log = Logger.getLogger(BitstreamEntryGenerator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamEntryGenerator.class); /** * Create a new ATOM Entry generator which can provide a SWORD Entry for diff --git a/dspace-sword/src/main/java/org/dspace/sword/CollectionCollectionGenerator.java b/dspace-sword/src/main/java/org/dspace/sword/CollectionCollectionGenerator.java index d2cf664d5c..6c0927f016 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/CollectionCollectionGenerator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/CollectionCollectionGenerator.java @@ -10,7 +10,7 @@ package org.dspace.sword; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; @@ -26,7 +26,7 @@ public class CollectionCollectionGenerator extends ATOMCollectionGenerator { * logger */ private static Logger log = - Logger.getLogger(CollectionCollectionGenerator.class); + org.apache.logging.log4j.LogManager.getLogger(CollectionCollectionGenerator.class); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java b/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java index 5082e96511..98018ee811 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java +++ b/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java @@ -12,7 +12,7 @@ import java.io.IOException; import java.sql.SQLException; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -40,7 +40,7 @@ public class CollectionDepositor extends Depositor { /** * logger */ - private static Logger log = Logger.getLogger(CollectionDepositor.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionDepositor.class); protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/CollectionLocation.java b/dspace-sword/src/main/java/org/dspace/sword/CollectionLocation.java index d2ff871a72..caa9a1fdca 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/CollectionLocation.java +++ b/dspace-sword/src/main/java/org/dspace/sword/CollectionLocation.java @@ -11,7 +11,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.sql.SQLException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; import org.dspace.core.ConfigurationManager; @@ -30,7 +30,7 @@ public class CollectionLocation { /** * Log4j logger */ - public static final Logger log = Logger.getLogger(CollectionLocation.class); + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionLocation.class); protected HandleService handleService = HandleServiceFactory.getInstance() .getHandleService(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java b/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java index af266547cf..3318a42b33 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java @@ -10,7 +10,7 @@ package org.dspace.sword; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; import org.dspace.content.MetadataValue; diff --git a/dspace-sword/src/main/java/org/dspace/sword/DSpaceSWORDServer.java b/dspace-sword/src/main/java/org/dspace/sword/DSpaceSWORDServer.java index d742bc1eae..ee6b430278 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/DSpaceSWORDServer.java +++ b/dspace-sword/src/main/java/org/dspace/sword/DSpaceSWORDServer.java @@ -7,7 +7,7 @@ */ package org.dspace.sword; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.LogManager; import org.purl.sword.base.AtomDocumentRequest; @@ -33,7 +33,7 @@ public class DSpaceSWORDServer implements SWORDServer { /** * Log4j logger */ - public static final Logger log = Logger.getLogger(DSpaceSWORDServer.class); + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceSWORDServer.class); // methods required by SWORDServer interface //////////////////////////////////////////// diff --git a/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java b/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java index fddd3cf3ba..7535302139 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java +++ b/dspace-sword/src/main/java/org/dspace/sword/DepositManager.java @@ -21,7 +21,7 @@ import java.io.PrintWriter; import java.util.Date; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -46,7 +46,7 @@ public class DepositManager { /** * Log4j logger */ - public static final Logger log = Logger.getLogger(DepositManager.class); + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DepositManager.class); /** * The SWORD service implementation diff --git a/dspace-sword/src/main/java/org/dspace/sword/ItemEntryGenerator.java b/dspace-sword/src/main/java/org/dspace/sword/ItemEntryGenerator.java index 482a25fe85..da7dcead4c 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/ItemEntryGenerator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/ItemEntryGenerator.java @@ -11,7 +11,7 @@ import java.sql.SQLException; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; import org.dspace.content.Bundle; @@ -40,7 +40,7 @@ public class ItemEntryGenerator extends DSpaceATOMEntry { /** * logger */ - private static Logger log = Logger.getLogger(ItemEntryGenerator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemEntryGenerator.class); protected HandleService handleService = HandleServiceFactory.getInstance() .getHandleService(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java index 4497532c25..ec46ab8f22 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.AuthenticationMethod; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; @@ -53,7 +53,7 @@ public class SWORDAuthenticator { /** * logger */ - private static Logger log = Logger.getLogger(SWORDAuthenticator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SWORDAuthenticator.class); protected AuthenticationService authenticationService = AuthenticateServiceFactory.getInstance().getAuthenticationService(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java index ad52eba956..0bc12934ca 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java @@ -13,7 +13,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.BitstreamFormat; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; @@ -44,7 +44,7 @@ public class SWORDConfiguration { /** * logger */ - public static final Logger log = Logger.getLogger(SWORDConfiguration.class); + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SWORDConfiguration.class); protected BitstreamFormatService bitstreamFormatService = ContentServiceFactory .getInstance().getBitstreamFormatService(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java index d734256501..6d7ca18367 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java @@ -12,7 +12,7 @@ import java.sql.SQLException; import java.util.Date; import java.util.StringTokenizer; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.DSpaceObject; @@ -38,7 +38,7 @@ public class SWORDMETSIngester implements SWORDIngester { /** * Log4j logger */ - public static final Logger log = Logger.getLogger(SWORDMETSIngester.class); + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SWORDMETSIngester.class); /* (non-Javadoc) * @see org.dspace.sword.SWORDIngester#ingest(org.dspace.core.Context, org.purl.sword.base.Deposit) diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java index 6bb30e2f23..a84289a934 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java @@ -12,7 +12,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.BitstreamFormat; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.BitstreamFormatService; @@ -33,7 +33,7 @@ public class SWORDService { /** * Log4j logging instance */ - public static final Logger log = Logger.getLogger(SWORDService.class); + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SWORDService.class); protected BitstreamFormatService bitstreamFormatService = ContentServiceFactory .getInstance().getBitstreamFormatService(); diff --git a/dspace-sword/src/main/java/org/purl/sword/atom/Content.java b/dspace-sword/src/main/java/org/purl/sword/atom/Content.java index 35e4bcf0ce..418fa6549e 100644 --- a/dspace-sword/src/main/java/org/purl/sword/atom/Content.java +++ b/dspace-sword/src/main/java/org/purl/sword/atom/Content.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.Namespaces; import org.purl.sword.base.SwordElementInterface; import org.purl.sword.base.SwordValidationInfo; @@ -51,7 +51,7 @@ public class Content extends XmlElement implements SwordElementInterface { /** * The log. */ - private static Logger log = Logger.getLogger(Content.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Content.class); /** * diff --git a/dspace-sword/src/main/java/org/purl/sword/atom/Entry.java b/dspace-sword/src/main/java/org/purl/sword/atom/Entry.java index 09ceb31dc5..7f09d80412 100644 --- a/dspace-sword/src/main/java/org/purl/sword/atom/Entry.java +++ b/dspace-sword/src/main/java/org/purl/sword/atom/Entry.java @@ -14,7 +14,7 @@ import java.util.Properties; import nu.xom.Element; import nu.xom.Elements; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.HttpHeaders; import org.purl.sword.base.Namespaces; import org.purl.sword.base.SwordElementInterface; @@ -143,7 +143,7 @@ public class Entry extends XmlElement implements SwordElementInterface { /** * The log. */ - private static Logger log = Logger.getLogger(Entry.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Entry.class); /** * The prefix, local name and namespace used for this element. diff --git a/dspace-sword/src/main/java/org/purl/sword/atom/Generator.java b/dspace-sword/src/main/java/org/purl/sword/atom/Generator.java index 8f28b8589a..128d39b210 100644 --- a/dspace-sword/src/main/java/org/purl/sword/atom/Generator.java +++ b/dspace-sword/src/main/java/org/purl/sword/atom/Generator.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.Namespaces; import org.purl.sword.base.SwordElementInterface; import org.purl.sword.base.SwordValidationInfo; @@ -62,7 +62,7 @@ public class Generator extends XmlElement implements SwordElementInterface { /** * The logger. */ - private static Logger log = Logger.getLogger(Generator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Generator.class); /** * The Xml name details for the element. diff --git a/dspace-sword/src/main/java/org/purl/sword/atom/Link.java b/dspace-sword/src/main/java/org/purl/sword/atom/Link.java index c7658ba999..9786a91216 100644 --- a/dspace-sword/src/main/java/org/purl/sword/atom/Link.java +++ b/dspace-sword/src/main/java/org/purl/sword/atom/Link.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.Namespaces; import org.purl.sword.base.SwordElementInterface; import org.purl.sword.base.SwordValidationInfo; @@ -102,7 +102,7 @@ public class Link extends XmlElement implements SwordElementInterface { /** * The logger. */ - private static Logger log = Logger.getLogger(Link.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Link.class); private static final XmlName XML_NAME = new XmlName( Namespaces.PREFIX_ATOM, "link", Namespaces.NS_ATOM); diff --git a/dspace-sword/src/main/java/org/purl/sword/atom/Source.java b/dspace-sword/src/main/java/org/purl/sword/atom/Source.java index 6b23d5429a..59d26c2ebb 100644 --- a/dspace-sword/src/main/java/org/purl/sword/atom/Source.java +++ b/dspace-sword/src/main/java/org/purl/sword/atom/Source.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Element; import nu.xom.Elements; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.Namespaces; import org.purl.sword.base.SwordElementInterface; import org.purl.sword.base.SwordValidationInfo; @@ -42,7 +42,7 @@ public class Source extends XmlElement implements SwordElementInterface { /** * The log. */ - private static Logger log = Logger.getLogger(Source.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Source.class); /** * Create a new instance and set the prefix to diff --git a/dspace-sword/src/main/java/org/purl/sword/atom/TextConstruct.java b/dspace-sword/src/main/java/org/purl/sword/atom/TextConstruct.java index 98dee816ea..23005d78e8 100644 --- a/dspace-sword/src/main/java/org/purl/sword/atom/TextConstruct.java +++ b/dspace-sword/src/main/java/org/purl/sword/atom/TextConstruct.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.Namespaces; import org.purl.sword.base.SwordElementInterface; import org.purl.sword.base.SwordValidationInfo; @@ -43,7 +43,7 @@ public class TextConstruct extends XmlElement /** * The log. */ - private static Logger log = Logger.getLogger(TextConstruct.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(TextConstruct.class); /** * label for the type attribute. diff --git a/dspace-sword/src/main/java/org/purl/sword/base/BasicContentElement.java b/dspace-sword/src/main/java/org/purl/sword/base/BasicContentElement.java index 2ed1ba9400..f5604f3656 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/BasicContentElement.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/BasicContentElement.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.Properties; import nu.xom.Element; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Represents a text construct in the ATOM elements. This is a superclass of @@ -25,7 +25,7 @@ public abstract class BasicContentElement extends XmlElement /** * The log. */ - private static Logger log = Logger.getLogger(BasicContentElement.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BasicContentElement.class); public BasicContentElement(String prefix, String name, String namespaceUri) { super(prefix, name, namespaceUri); diff --git a/dspace-sword/src/main/java/org/purl/sword/base/ChecksumUtils.java b/dspace-sword/src/main/java/org/purl/sword/base/ChecksumUtils.java index c2b2a6563a..ece4deeb90 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/ChecksumUtils.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/ChecksumUtils.java @@ -13,7 +13,7 @@ import java.io.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Utility class that holds Checksum related methods. @@ -25,7 +25,7 @@ public class ChecksumUtils { /** * Logger */ - private static Logger log = Logger.getLogger(ChecksumUtils.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ChecksumUtils.class); /** * Default constructor diff --git a/dspace-sword/src/main/java/org/purl/sword/base/Collection.java b/dspace-sword/src/main/java/org/purl/sword/base/Collection.java index 34c2f3817d..cd78f27d50 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/Collection.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/Collection.java @@ -15,7 +15,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; import nu.xom.Elements; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.atom.Accept; import org.purl.sword.atom.ContentType; import org.purl.sword.atom.Title; @@ -69,7 +69,7 @@ public class Collection extends XmlElement implements SwordElementInterface { /** * The logger. */ - private static Logger log = Logger.getLogger(Collection.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Collection.class); /** * Label for the Href attribute. diff --git a/dspace-sword/src/main/java/org/purl/sword/base/Deposit.java b/dspace-sword/src/main/java/org/purl/sword/base/Deposit.java index 3c1e76a2f1..2473d28e4a 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/Deposit.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/Deposit.java @@ -12,7 +12,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletResponse; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Represents a deposit. @@ -20,7 +20,7 @@ import org.apache.log4j.Logger; * @author Stuart Lewis */ public class Deposit { - private static final Logger log = Logger.getLogger(Deposit.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Deposit.class); /** * The File deposited diff --git a/dspace-sword/src/main/java/org/purl/sword/base/DepositResponse.java b/dspace-sword/src/main/java/org/purl/sword/base/DepositResponse.java index a731c020ed..453af3df35 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/DepositResponse.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/DepositResponse.java @@ -16,7 +16,7 @@ import nu.xom.Document; import nu.xom.Element; import nu.xom.ParsingException; import nu.xom.Serializer; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Represents a deposit response. This holds the SWORD Entry element. @@ -43,7 +43,7 @@ public class DepositResponse { /** * Logger */ - private static Logger log = Logger.getLogger(DepositResponse.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DepositResponse.class); /** * Create a new response with the specified http code. diff --git a/dspace-sword/src/main/java/org/purl/sword/base/Service.java b/dspace-sword/src/main/java/org/purl/sword/base/Service.java index c335aecf75..3edc86c14e 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/Service.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/Service.java @@ -14,7 +14,7 @@ import java.util.Properties; import nu.xom.Element; import nu.xom.Elements; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.atom.Generator; @@ -47,7 +47,7 @@ public class Service extends XmlElement implements SwordElementInterface { /** * Logger */ - private static Logger log = Logger.getLogger(Service.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Service.class); /** * MaxUploadSize diff --git a/dspace-sword/src/main/java/org/purl/sword/base/SwordAcceptPackaging.java b/dspace-sword/src/main/java/org/purl/sword/base/SwordAcceptPackaging.java index 6d063c6c7e..aa0a545d97 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/SwordAcceptPackaging.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/SwordAcceptPackaging.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Represents a text construct in the ATOM elements. This is a superclass of @@ -36,7 +36,7 @@ public class SwordAcceptPackaging extends XmlElement /** * The log. */ - private static Logger log = Logger.getLogger(SwordAcceptPackaging.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SwordAcceptPackaging.class); /** */ public static final String ELEMENT_NAME = "acceptPackaging"; diff --git a/dspace-sword/src/main/java/org/purl/sword/base/SwordContentPackageTypes.java b/dspace-sword/src/main/java/org/purl/sword/base/SwordContentPackageTypes.java index 814c91bb39..727372408c 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/SwordContentPackageTypes.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/SwordContentPackageTypes.java @@ -11,14 +11,14 @@ import java.io.InputStream; import java.util.Enumeration; import java.util.Properties; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * @author Neil Taylor (nst@aber.ac.uk) */ public class SwordContentPackageTypes { - private static Logger log = Logger.getLogger(SwordContentPackageTypes.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SwordContentPackageTypes.class); private static Properties types; diff --git a/dspace-sword/src/main/java/org/purl/sword/base/Workspace.java b/dspace-sword/src/main/java/org/purl/sword/base/Workspace.java index 81964152ba..1f18167c95 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/Workspace.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/Workspace.java @@ -14,7 +14,7 @@ import java.util.Properties; import nu.xom.Element; import nu.xom.Elements; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.atom.ContentType; import org.purl.sword.atom.Title; @@ -37,7 +37,7 @@ public class Workspace extends XmlElement implements SwordElementInterface { /** * The logger. */ - private static Logger log = Logger.getLogger(Workspace.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Workspace.class); /** * Local name part of this element. diff --git a/dspace-sword/src/main/java/org/purl/sword/base/XmlElement.java b/dspace-sword/src/main/java/org/purl/sword/base/XmlElement.java index 6249c4290a..80217738d2 100644 --- a/dspace-sword/src/main/java/org/purl/sword/base/XmlElement.java +++ b/dspace-sword/src/main/java/org/purl/sword/base/XmlElement.java @@ -13,7 +13,7 @@ import java.util.Properties; import nu.xom.Attribute; import nu.xom.Element; import nu.xom.Node; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * Parent class for all classes that represent an XML element. This provides @@ -27,7 +27,7 @@ public abstract class XmlElement { /** * Logger */ - private static Logger log = Logger.getLogger(XmlElement.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(XmlElement.class); /** diff --git a/dspace-sword/src/main/java/org/purl/sword/client/Client.java b/dspace-sword/src/main/java/org/purl/sword/client/Client.java index 4b4899e4f9..c6d335d8dd 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/Client.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/Client.java @@ -31,7 +31,7 @@ import org.apache.http.entity.ContentType; import org.apache.http.entity.FileEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpParams; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.ChecksumUtils; import org.purl.sword.base.DepositResponse; import org.purl.sword.base.HttpHeaders; @@ -96,7 +96,7 @@ public class Client implements SWORDClient { /** * Logger. */ - private static final Logger log = Logger.getLogger(Client.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Client.class); /** * Create a new Client. The client will not use authentication by default. diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java index 0ae5cb3f26..2612bbf25a 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java @@ -7,7 +7,7 @@ */ package org.purl.sword.client; -import org.apache.log4j.PropertyConfigurator; +import org.apache.logging.log4j.PropertyConfigurator; /** * Entry point for the SWORD Demonstration Client. This will parse the list of diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientOptions.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientOptions.java index 2f3c73d1e5..e085baeb78 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientOptions.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientOptions.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; /** * List of options that are parsed from the command line. @@ -117,7 +117,7 @@ public class ClientOptions { /** * Logger. */ - private static Logger log = Logger.getLogger(ClientOptions.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ClientOptions.class); /** * List of multiple destination items. Used if the mode is set to multipost. diff --git a/dspace-sword/src/main/java/org/purl/sword/client/CmdClient.java b/dspace-sword/src/main/java/org/purl/sword/client/CmdClient.java index f1f224fe8b..f747de5ffa 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/CmdClient.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/CmdClient.java @@ -15,7 +15,7 @@ import java.net.URL; import java.util.Iterator; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.atom.Author; import org.purl.sword.atom.Content; import org.purl.sword.atom.Contributor; @@ -54,7 +54,7 @@ public class CmdClient implements ClientType { /** * The logger. */ - private static Logger log = Logger.getLogger(CmdClient.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CmdClient.class); /** * Create a new instance of the class and create an instance of the diff --git a/dspace-sword/src/main/java/org/purl/sword/server/DepositServlet.java b/dspace-sword/src/main/java/org/purl/sword/server/DepositServlet.java index 51b7bd2bcb..c272fc95f5 100644 --- a/dspace-sword/src/main/java/org/purl/sword/server/DepositServlet.java +++ b/dspace-sword/src/main/java/org/purl/sword/server/DepositServlet.java @@ -25,7 +25,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.codec.binary.Base64; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.atom.Summary; import org.purl.sword.atom.Title; import org.purl.sword.base.ChecksumUtils; @@ -73,7 +73,7 @@ public class DepositServlet extends HttpServlet { /** * Logger */ - private static final Logger log = Logger.getLogger(DepositServlet.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(DepositServlet.class); /** * Initialise the servlet. diff --git a/dspace-sword/src/main/java/org/purl/sword/server/DummyServer.java b/dspace-sword/src/main/java/org/purl/sword/server/DummyServer.java index c7c2f49dcc..2dc9b3b7e2 100644 --- a/dspace-sword/src/main/java/org/purl/sword/server/DummyServer.java +++ b/dspace-sword/src/main/java/org/purl/sword/server/DummyServer.java @@ -17,7 +17,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import javax.servlet.http.HttpServletResponse; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.atom.Author; import org.purl.sword.atom.Content; import org.purl.sword.atom.Contributor; @@ -62,7 +62,7 @@ public class DummyServer implements SWORDServer { /** * Logger */ - private static Logger log = Logger.getLogger(ServiceDocumentServlet.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ServiceDocumentServlet.class); /** * Provides a dumb but plausible service document - it contains diff --git a/dspace-sword/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java b/dspace-sword/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java index bb43850ef6..28c309b2ca 100644 --- a/dspace-sword/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java +++ b/dspace-sword/src/main/java/org/purl/sword/server/ServiceDocumentServlet.java @@ -16,7 +16,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.codec.binary.Base64; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.purl.sword.base.HttpHeaders; import org.purl.sword.base.SWORDAuthenticationException; import org.purl.sword.base.SWORDErrorException; @@ -49,7 +49,7 @@ public class ServiceDocumentServlet extends HttpServlet { /** * Logger */ - private static final Logger log = Logger.getLogger(ServiceDocumentServlet.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ServiceDocumentServlet.class); /** * Initialise the servlet. diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java b/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java index 9184c5293e..0a26ec7957 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java @@ -12,7 +12,7 @@ import java.util.Date; import java.util.List; import java.util.StringTokenizer; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.BitstreamFormat; import org.dspace.content.Collection; import org.dspace.content.DCDate; @@ -30,7 +30,7 @@ import org.swordapp.server.SwordServerException; public abstract class AbstractSwordContentIngester implements SwordContentIngester { - public static final Logger log = Logger.getLogger( + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger( AbstractSwordContentIngester.class); protected BitstreamFormatService bitstreamFormatService = diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionCollectionGenerator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionCollectionGenerator.java index f22ebbd60e..34cf27d631 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionCollectionGenerator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionCollectionGenerator.java @@ -11,7 +11,7 @@ import java.util.List; import org.apache.abdera.i18n.iri.IRI; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; import org.dspace.content.MetadataValue; @@ -26,7 +26,7 @@ import org.swordapp.server.SwordCollection; * DSpace Collections */ public class CollectionCollectionGenerator implements AtomCollectionGenerator { - private static Logger log = Logger.getLogger( + private static Logger log = org.apache.logging.log4j.LogManager.getLogger( CommunityCollectionGenerator.class); protected CollectionService collectionService = diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionDepositManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionDepositManagerDSpace.java index a088ce5300..9db2dc7810 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionDepositManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionDepositManagerDSpace.java @@ -10,7 +10,7 @@ package org.dspace.sword2; import java.io.IOException; import java.util.Date; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/CommunityCollectionGenerator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/CommunityCollectionGenerator.java index 726e8d3e36..91c98acdaf 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/CommunityCollectionGenerator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/CommunityCollectionGenerator.java @@ -11,7 +11,7 @@ import java.util.List; import org.apache.abdera.i18n.iri.IRI; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; import org.dspace.content.MetadataValue; diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/ContainerManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/ContainerManagerDSpace.java index 92b2b57787..9bb6eb8790 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/ContainerManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/ContainerManagerDSpace.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -39,7 +39,7 @@ import org.swordapp.server.SwordServerException; public class ContainerManagerDSpace extends DSpaceSwordAPI implements ContainerManager { - private static Logger log = Logger.getLogger(ContainerManagerDSpace.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ContainerManagerDSpace.class); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java b/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java index 845d13341b..2e0f4412f7 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java @@ -27,7 +27,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; @@ -52,7 +52,7 @@ import org.swordapp.server.SwordServerException; import org.swordapp.server.UriRegistry; public class DSpaceSwordAPI { - private static Logger log = Logger.getLogger(DSpaceSwordAPI.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceSwordAPI.class); protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java index 59d5c4bbbf..412ef842eb 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java @@ -18,7 +18,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java index caadc1db83..ad806daf04 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/ReceiptGenerator.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import org.apache.abdera.i18n.iri.IRI; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.Item; @@ -40,7 +40,7 @@ public class ReceiptGenerator { /** * logger */ - private static Logger log = Logger.getLogger(ReceiptGenerator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ReceiptGenerator.class); protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/ServiceDocumentManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/ServiceDocumentManagerDSpace.java index ac8f73a1bb..6f582a23a7 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/ServiceDocumentManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/ServiceDocumentManagerDSpace.java @@ -9,7 +9,7 @@ package org.dspace.sword2; import java.util.List; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SimpleDCEntryIngester.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SimpleDCEntryIngester.java index 9b80fdc487..60ddce0189 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SimpleDCEntryIngester.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SimpleDCEntryIngester.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.DCDate; @@ -36,7 +36,7 @@ import org.swordapp.server.SwordServerException; public class SimpleDCEntryIngester extends AbstractSimpleDC implements SwordEntryIngester { private static final Logger log = - Logger.getLogger(SimpleDCEntryIngester.class); + org.apache.logging.log4j.LogManager.getLogger(SimpleDCEntryIngester.class); protected WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/StatementManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/StatementManagerDSpace.java index 1e8edd2a34..a12f373b35 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/StatementManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/StatementManagerDSpace.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.service.AuthorizeService; @@ -32,7 +32,7 @@ import org.swordapp.server.SwordServerException; public class StatementManagerDSpace extends DSpaceSwordAPI implements StatementManager { - private static Logger log = Logger.getLogger(StatementManagerDSpace.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(StatementManagerDSpace.class); protected AuthorizeService authorizeService = AuthorizeServiceFactory .getInstance().getAuthorizeService(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java index 5d6e73ddee..b054a41e3d 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java @@ -13,7 +13,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.authenticate.AuthenticationMethod; import org.dspace.authenticate.factory.AuthenticateServiceFactory; import org.dspace.authenticate.service.AuthenticationService; @@ -52,7 +52,7 @@ public class SwordAuthenticator { /** * logger */ - private static Logger log = Logger.getLogger(SwordAuthenticator.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SwordAuthenticator.class); protected AuthenticationService authenticationService = AuthenticateServiceFactory.getInstance().getAuthenticationService(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java index ee27e7fae6..d004311121 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java @@ -13,7 +13,7 @@ import java.util.List; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.BitstreamFormat; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java index fc9fb8e232..3c42b82720 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java @@ -9,7 +9,7 @@ package org.dspace.sword2; import java.io.File; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; @@ -34,7 +34,7 @@ public class SwordMETSContentIngester extends AbstractSwordContentIngester { /** * Log4j logger */ - public static final Logger log = Logger.getLogger( + public static final Logger log = org.apache.logging.log4j.LogManager.getLogger( SwordMETSContentIngester.class); protected WorkspaceItemService workspaceItemService = diff --git a/dspace/config/log4j-console.properties b/dspace/config/log4j-console.properties index 5a52df7c5b..2ec6892f62 100644 --- a/dspace/config/log4j-console.properties +++ b/dspace/config/log4j-console.properties @@ -12,10 +12,10 @@ log4j.rootCategory=WARN, A1 # A1 is set to be a ConsoleAppender. -log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1=org.apache.logging.log4j.ConsoleAppender # A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n # block passwords from being exposed in Axis logs. diff --git a/dspace/config/log4j-handle-plugin.properties b/dspace/config/log4j-handle-plugin.properties index 44d39fb1bd..72381a698c 100644 --- a/dspace/config/log4j-handle-plugin.properties +++ b/dspace/config/log4j-handle-plugin.properties @@ -20,12 +20,12 @@ log.dir=${dspace.dir}/log log4j.rootCategory=INFO, A1 # A1 is set to be a DailyRollingFileAppender. -log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender +log4j.appender.A1=org.apache.logging.log4j.DailyRollingFileAppender log4j.appender.A1.File=${log.dir}/handle-plugin.log log4j.appender.A1.DatePattern='.'yyyy-MM-dd # A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n diff --git a/dspace/config/log4j-solr.properties b/dspace/config/log4j-solr.properties index c94e384d81..a9750333b4 100644 --- a/dspace/config/log4j-solr.properties +++ b/dspace/config/log4j-solr.properties @@ -23,18 +23,18 @@ log.dir=${dspace.dir}/log log4j.rootLogger=INFO, file # Console logging options. Switch the above from "file" to "CONSOLE" to enable -log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE=org.apache.logging.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.logging.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n #- size rotation with log cleanup. -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender +log4j.appender.file=org.apache.logging.log4j.DailyRollingFileAppender # Set this to yyyy-MM-DD for daily log files, or yyyy-MM for monthly files log4j.appender.file.DatePattern='.'yyyy-MM-dd #- File to log to and log format log4j.appender.file.File=${log.dir}/solr.log -log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout=org.apache.logging.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %-5p %c @ %m%n log4j.logger.org.apache.zookeeper=WARN diff --git a/dspace/config/log4j.properties b/dspace/config/log4j.properties index 5acdacd310..5378533250 100644 --- a/dspace/config/log4j.properties +++ b/dspace/config/log4j.properties @@ -54,7 +54,7 @@ log4j.appender.A1.DatePattern=yyyy-MM-dd # The number of log files to keep, or 0 to keep them all log4j.appender.A1.MaxLogs=0 # A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n @@ -75,7 +75,7 @@ log4j.appender.A2.DatePattern=yyyy-MM-dd # The number of log files to keep, or 0 to keep them all log4j.appender.A2.MaxLogs=0 # A2 uses PatternLayout. -log4j.appender.A2.layout=org.apache.log4j.PatternLayout +log4j.appender.A2.layout=org.apache.logging.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=%m%n From 1e3231967ff420ef5c0fe49f06d832da333d3b15 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Tue, 13 Mar 2018 17:24:49 -0400 Subject: [PATCH 054/118] Add Log4J LogManager to EventListenerExample --- .../servicemanager/example/EventListenerExample.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java index aa603fc295..8567c9fba7 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java @@ -7,7 +7,8 @@ */ package org.dspace.servicemanager.example; -import org.apache.logging.log4j.Logger; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; import org.dspace.services.model.Event; import org.dspace.services.model.EventListener; @@ -23,8 +24,8 @@ public final class EventListenerExample implements EventListener { /** * log4j category */ - private static Logger log = Logger - .getLogger(EventListenerExample.class); + private static Logger log = LogManager.getLogger(EventListenerExample.class); + /** * @return null From b72fff4a25aafb54ae4200d96baed8585121b783 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Tue, 13 Mar 2018 17:27:52 -0400 Subject: [PATCH 055/118] Remove code related to log4j1 --- .../dspace/app/util/DailyFileAppender.java | 299 ------------------ .../org/dspace/core/LoggerServiceImpl.java | 182 ----------- .../solr/filters/ConfigureLog4jListener.java | 80 ----- 3 files changed, 561 deletions(-) delete mode 100644 dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java delete mode 100644 dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java delete mode 100644 dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java diff --git a/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java b/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java deleted file mode 100644 index ff45346715..0000000000 --- a/dspace-api/src/main/java/org/dspace/app/util/DailyFileAppender.java +++ /dev/null @@ -1,299 +0,0 @@ -/** - * 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/ - */ -package org.dspace.app.util; - -import java.io.File; -import java.io.IOException; -import java.net.UnknownHostException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; - -import org.apache.commons.lang3.time.DateUtils; -import org.apache.logging.log4j.FileAppender; -import org.apache.logging.log4j.helpers.LogLog; -import org.apache.logging.log4j.spi.LoggingEvent; - -/** - * Special log appender for log4j. Adds the current date (ie. year-mon) to - * the end of the file name, so that rolling on to the next log is simply - * a case of starting a new one - no renaming of old logs. - * - * This is advisable if you are using Windows, and have multiple applications - * (ie. dspace, dspace-oai, dspace-sword) that all want to write to the same log file, - * as each would otherwise try to rename the old files during rollover. - * - * An example log4j.properties (one log per month, retains three months of logs) - * - * log4j.rootCategory=INFO, A1 - * log4j.appender.A1=org.dspace.app.util.DailyFileAppender - * log4j.appender.A1.File=@@log.dir@@/dspace.log - * log4j.appender.A1.DatePattern=yyyy-MM - * log4j.appender.A1.MaxLogs=3 - * log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout - * log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n - */ -public class DailyFileAppender extends FileAppender { - /** - * The fixed date pattern to be used if one is not specified. - */ - private static final String DATE_PATTERN = "yyyy-MM-dd"; - - /** - * The folder under which daily folders are created. This can be a absolute path - * or relative path also. - * e.g. JavaLogs/CPRILog or F:/LogFiles/CPRILog - */ - private String mstrFileName; - - /** - * Used internally and contains the name of the date derived from current system date. - */ - private Date mstrDate = new Date(System.currentTimeMillis()); - - /** - * Holds the user specified DatePattern, - */ - private String mstrDatePattern = DATE_PATTERN; - - private boolean mMonthOnly = false; - - /** - * The date formatter object used for parsing the user specified DatePattern. - */ - private SimpleDateFormat mobjSDF; - - private boolean mWithHostName = false; - - private int mMaxLogs = 0; - - /** - * Default constructor. This is required as the appender class is dynamically - * loaded. - */ - public DailyFileAppender() { - super(); - } - - /* (non-Javadoc) - * @see org.apache.logging.log4j.FileAppender#activateOptions() - */ - @Override - public void activateOptions() { - setFileName(); - cleanupOldFiles(); - super.activateOptions(); - } - - /*------------------------------------------------------------------------------ - * Getters - *----------------------------------------------------------------------------*/ - public String getDatePattern() { - return this.mstrDatePattern; - } - - @Override - public String getFile() { - return this.mstrFileName; - } - - public boolean getWithHost() { - return mWithHostName; - } - - public int getMaxLogs() { - return mMaxLogs; - } - - /*------------------------------------------------------------------------------ - * Setters - *----------------------------------------------------------------------------*/ - public void setDatePattern(String pstrPattern) { - this.mstrDatePattern = checkPattern(pstrPattern); - if (mstrDatePattern.contains("dd") || mstrDatePattern.contains("DD")) { - mMonthOnly = false; - } else { - mMonthOnly = true; - } - } - - @Override - public void setFile(String file) { - // Trim spaces from both ends. The users probably does not want - // trailing spaces in file names. - String val = file.trim(); - mstrFileName = val; - } - - public void setWithHost(boolean wh) { - mWithHostName = wh; - } - - public void setMaxLogs(int ml) { - mMaxLogs = ml; - } - - /*------------------------------------------------------------------------------ - * Methods - *----------------------------------------------------------------------------*/ - /* (non-Javadoc) - * @see org.apache.logging.log4j.WriterAppender#subAppend(org.apache.logging.log4j.spi.LoggingEvent) - */ - @Override - protected void subAppend(LoggingEvent pobjEvent) { - Date dtNow = new Date(System.currentTimeMillis()); - - boolean rollover = false; - - if (mMonthOnly) { - Calendar now = Calendar.getInstance(); - Calendar cur = Calendar.getInstance(); - now.setTime(dtNow); - cur.setTime(mstrDate); - rollover = !(now.get(Calendar.YEAR) == cur.get(Calendar.YEAR) && now.get(Calendar.MONTH) == cur - .get(Calendar.MONTH)); - } else { - rollover = !(DateUtils.isSameDay(dtNow, mstrDate)); - } - - if (rollover) { - try { - rollOver(dtNow); - } catch (IOException IOEx) { - LogLog.error("rollOver() failed!", IOEx); - } - } - - super.subAppend(pobjEvent); - } - - /*------------------------------------------------------------------------------ - * Helpers - *----------------------------------------------------------------------------*/ - - /** - * The helper function to validate the DatePattern. - * - * @param pstrPattern The DatePattern to be validated. - * @return The validated date pattern or defautlt DATE_PATTERN - */ - private String checkPattern(String pstrPattern) { - String strRet = null; - SimpleDateFormat objFmt = new SimpleDateFormat(DATE_PATTERN); - - try { - this.mobjSDF = new SimpleDateFormat(pstrPattern); - strRet = pstrPattern; - } catch (NullPointerException NPExIgnore) { - LogLog.error("Invalid DatePattern " + pstrPattern, NPExIgnore); - this.mobjSDF = objFmt; - strRet = DATE_PATTERN; - } catch (IllegalArgumentException IlArgExIgnore) { - LogLog.error("Invalid DatePattern " + pstrPattern, IlArgExIgnore); - this.mobjSDF = objFmt; - strRet = DATE_PATTERN; - } finally { - objFmt = null; - } - return strRet; - } - - /** - * This function is responsible for performing the actual file rollover. - * - * @param pstrName The name of the new folder based on current system date. - * @throws IOException if IO error - */ - private static boolean deletingFiles = false; - - private void cleanupOldFiles() { - // If we need to delete log files - if (mMaxLogs > 0 && !deletingFiles) { - deletingFiles = true; - - // Determine the final file extension with the hostname - String hostFileExt = null; - try { - hostFileExt = "." + java.net.InetAddress.getLocalHost().getHostName(); - } catch (UnknownHostException e) { - LogLog.error("Unable to retrieve host name"); - } - - try { - // Array to hold the logs we are going to keep - File[] logsToKeep = new File[mMaxLogs]; - - // Get a 'master' file handle, and the parent directory from it - File logMaster = new File(mstrFileName); - File logDir = logMaster.getParentFile(); - if (logDir.isDirectory()) { - // Iterate all the files in that directory - File[] logArr = logDir.listFiles(); - for (File curLog : logArr) { - LogLog.debug("Comparing '" + curLog.getAbsolutePath() + "' to '" + mstrFileName + "'"); - String name = curLog.getAbsolutePath(); - - // First, see if we are not using hostname, or the log file ends with this host - if (!mWithHostName || (hostFileExt != null && name.endsWith(hostFileExt))) { - // Check that the file is indeed one we want (contains the master file name) - if (name.contains(mstrFileName)) { - // Iterate through the array of logs we are keeping - for (int i = 0; curLog != null && i < logsToKeep.length; i++) { - // Have we exhausted the 'to keep' array? - if (logsToKeep[i] == null) { - // Empty space, retain this log file - logsToKeep[i] = curLog; - curLog = null; - } else if (logsToKeep[i].getName().compareTo(curLog.getName()) < 0) { - // If the 'kept' file is older than the current one - // Replace tested entry with current file - File temp = logsToKeep[i]; - logsToKeep[i] = curLog; - curLog = temp; - } - } - - // If we have a 'current' entry at this point, it's a log we don't want - if (curLog != null) { - LogLog.debug("Deleting log " + curLog.getName()); - if (!curLog.delete()) { - LogLog.error("Unable to delete log file"); - } - } - } - } - } - } - } catch (Exception e) { - // Don't worry about exceptions - } finally { - deletingFiles = false; - } - } - } - - private void rollOver(Date dtNow) throws IOException { - mstrDate = dtNow; - setFileName(); - this.setFile(fileName, true, bufferedIO, bufferSize); - - cleanupOldFiles(); - } - - private void setFileName() { - fileName = mstrFileName + "." + mobjSDF.format(mstrDate); - - if (mWithHostName) { - try { - fileName += "." + java.net.InetAddress.getLocalHost().getHostName(); - } catch (UnknownHostException e) { - LogLog.error("Unable to retrieve host name"); - } - } - } -} diff --git a/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java deleted file mode 100644 index 1af1a702fb..0000000000 --- a/dspace-api/src/main/java/org/dspace/core/LoggerServiceImpl.java +++ /dev/null @@ -1,182 +0,0 @@ -/** - * 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/ - */ -package org.dspace.core; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.util.Enumeration; -import java.util.Properties; - -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.PropertyConfigurator; -import org.apache.logging.log4j.xml.DOMConfigurator; -import org.dspace.services.ConfigurationService; -import org.dspace.services.KernelStartupCallbackService; -import org.dspace.services.factory.DSpaceServicesFactory; - -/** - * Service which simply initializes DSpace logging *after* the kernel starts - * - * @author Tim Donohue - */ -public class LoggerServiceImpl implements KernelStartupCallbackService { - /** - * log4j category - */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerServiceImpl.class); - - // System property which will disable DSpace's log4j setup - private final String LOG_DISABLE_PROPERTY = "dspace.log.init.disable"; - - // Logging settings which are specified in DSpace's configuration - private final String LOG_CONFIG_PROPERTY = "log.init.config"; - - /** - * After kernel starts up, initialize Log4j based on the logging settings - * in our ConfigurationService. - */ - @Override - public void executeCallback() { - try { - /* - * Initialize Logging once ConfigurationManager is initialized. - * - * This is controlled by a property in dspace.cfg. If the property - * is absent then nothing will be configured and the application - * will use the defaults provided by log4j. - * - * Property format is: - * - * log.init.config = ${dspace.dir}/config/log4j.properties - * or - * log.init.config = ${dspace.dir}/config/log4j.xml - * - * See default log4j initialization documentation here: - * http://logging.apache.org/log4j/docs/manual.html - * - * If there is a problem with the file referred to in - * "log.configuration", it needs to be sent to System.err - * so do not instantiate another Logging configuration. - * - */ - ConfigurationService config = DSpaceServicesFactory.getInstance().getConfigurationService(); - String dsLogConfiguration = config.getProperty(LOG_CONFIG_PROPERTY); - - if (dsLogConfiguration == null || System.getProperty(LOG_DISABLE_PROPERTY) != null) { - /* - * Do nothing if log config not set in dspace.cfg or "dspace.log.init.disable" - * system property set. Leave it upto log4j to properly init its logging - * via classpath or system properties. - */ - info("Using default log4j provided log configuration." + - " If unintended, check your dspace.cfg for (" + LOG_CONFIG_PROPERTY + ")"); - } else { - info("Using dspace provided log configuration (" + LOG_CONFIG_PROPERTY + ")"); - - File logConfigFile = new File(dsLogConfiguration); - - if (logConfigFile.exists()) { - info("Loading: " + dsLogConfiguration); - - // Check if we have an XML config - if (logConfigFile.getName().endsWith(".xml")) { - // Configure log4j via the DOMConfigurator - DOMConfigurator.configure(logConfigFile.toURI().toURL()); - } else { - // Otherwise, assume a Properties file - - // Parse our log4j properties file - Properties log4jProps = new Properties(); - try (InputStream fis = new FileInputStream(logConfigFile)) { - log4jProps.load(fis); - } catch (IOException e) { - fatal("Can't load dspace provided log4j configuration from " + logConfigFile - .getAbsolutePath(), e); - } - - // Configure log4j based on all its properties - PropertyConfigurator.configure(log4jProps); - } - } else { - info("File does not exist: " + dsLogConfiguration); - } - } - - } catch (MalformedURLException e) { - fatal("Can't load dspace provided log4j configuration", e); - throw new IllegalStateException("Cannot load dspace provided log4j configuration", e); - } - } - - /** - * Attempt to log an INFO statement. If Log4j is not yet setup, send to System OUT - * - * @param string - */ - private void info(String string) { - if (!isLog4jConfigured()) { - System.out.println("INFO: " + string); - } else { - log.info(string); - } - } - - /** - * Attempt to log a WARN statement. If Log4j is not yet setup, send to System OUT - * - * @param string - */ - private void warn(String string) { - if (!isLog4jConfigured()) { - System.out.println("WARN: " + string); - } else { - log.warn(string); - } - } - - /** - * Attempt to log a FATAL statement. If Log4j is not yet setup, send to System ERR - * - * @param string - * @param e - */ - private void fatal(String string, Exception e) { - if (!isLog4jConfigured()) { - System.err.println("FATAL: " + string); - e.printStackTrace(System.err); - } else { - log.fatal(string, e); - } - } - - /** - * Only current solution available to detect if log4j is truly configured. - *

- * Based on samples here: http://wiki.apache.org/logging-log4j/UsefulCode - */ - private boolean isLog4jConfigured() { - Enumeration appenders = org.apache.logging.log4j.LogManager.getRootLogger() - .getAllAppenders(); - - if (!(appenders instanceof org.apache.logging.log4j.helpers.NullEnumeration)) { - return true; - } else { - Enumeration loggers = org.apache.logging.log4j.LogManager.getCurrentLoggers(); - while (loggers.hasMoreElements()) { - Logger c = (Logger) loggers.nextElement(); - if (!(c.getAllAppenders() instanceof org.apache.logging.log4j.helpers.NullEnumeration)) { - return true; - } - } - } - return false; - } -} diff --git a/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java b/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java deleted file mode 100644 index 6281c471ad..0000000000 --- a/dspace-solr/src/main/java/org/dspace/solr/filters/ConfigureLog4jListener.java +++ /dev/null @@ -1,80 +0,0 @@ -/** - * 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/ - */ - -package org.dspace.solr.filters; - -import java.io.File; -import java.net.MalformedURLException; -import java.net.URL; -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -import org.apache.logging.log4j.Hierarchy; -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.PropertyConfigurator; -import org.apache.logging.log4j.helpers.Loader; -import org.apache.logging.log4j.spi.Configurator; -import org.apache.logging.log4j.spi.RootLogger; -import org.apache.logging.log4j.xml.DOMConfigurator; - -/** - * Initialize Log4J at application startup. - * This class mimics the default Log4J initialization procedure, except - * that it is controlled by context parameters rather than system properties. - * - * @author Mark H. Wood - */ -public class ConfigureLog4jListener - implements ServletContextListener { - public void contextInitialized(ServletContextEvent sce) { - ServletContext ctx = sce.getServletContext(); - - String logConfig = ctx.getInitParameter("log4j.configuration"); - if (null == logConfig) { - logConfig = "log4j.properties"; - } - - URL configURL; - try { - configURL = new File(logConfig).toURI().toURL(); - } catch (MalformedURLException e) { - configURL = Loader.getResource(logConfig); - } - - if (null == configURL) { - ctx.log("Log4J configuration not found. Left unconfigured."); - return; - } else { - ctx.log(" In context " + ctx.getContextPath() + - ", configuring Log4J from " + configURL.toExternalForm()); - - String configuratorName = ctx.getInitParameter("log4j.configuratorClass"); - if (null != configuratorName) { - Configurator configurator; - try { - configurator = (Configurator) Class.forName(configuratorName).newInstance(); - } catch (Exception ex) { - ctx.log("Unable to load custom Log4J configuration class '" - + configuratorName + "': " + ex.getMessage()); - return; - } - - configurator.doConfigure(configURL, new Hierarchy(new RootLogger(Level.OFF))); - } else if (configURL.getFile().endsWith(".xml")) { - DOMConfigurator.configure(configURL); - } else { - PropertyConfigurator.configure(configURL); - } - } - } - - public void contextDestroyed(ServletContextEvent sce) { - // Nothing to be done - } -} From 1eed2698ae1685731a94666e67d6a347a956f145 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Tue, 13 Mar 2018 17:33:57 -0400 Subject: [PATCH 056/118] Remove trailing whitespace in EventListenerExample --- .../org/dspace/servicemanager/example/EventListenerExample.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java index 8567c9fba7..847d3fb625 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java @@ -25,7 +25,6 @@ public final class EventListenerExample implements EventListener { * log4j category */ private static Logger log = LogManager.getLogger(EventListenerExample.class); - /** * @return null From 7f589a5ad69ce8007a3c39db63adc8dc98b94678 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Tue, 13 Mar 2018 17:54:00 -0400 Subject: [PATCH 057/118] Refactor import statements --- .../discovery/SolrServiceMetadataBrowseIndexingPlugin.java | 4 ++-- .../dspace/servicemanager/example/EventListenerExample.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java index 83b9c14c5f..5e78173d93 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceMetadataBrowseIndexingPlugin.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.Set; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.solr.common.SolrInputDocument; import org.dspace.browse.BrowseException; @@ -44,8 +45,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class SolrServiceMetadataBrowseIndexingPlugin implements SolrServiceIndexPlugin { - private static final Logger log = Logger - .getLogger(SolrServiceMetadataBrowseIndexingPlugin.class); + private static final Logger log = LogManager.getLogger(SolrServiceMetadataBrowseIndexingPlugin.class); @Autowired(required = true) protected ItemService itemService; diff --git a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java index 847d3fb625..ab2afb5ed6 100644 --- a/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java +++ b/dspace-services/src/main/java/org/dspace/servicemanager/example/EventListenerExample.java @@ -7,8 +7,8 @@ */ package org.dspace.servicemanager.example; -import org.apache.log4j.LogManager; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.services.model.Event; import org.dspace.services.model.EventListener; From 35b5c6c32170e2fe9d77640a1a43444148fccbb5 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Thu, 15 Mar 2018 10:54:27 -0400 Subject: [PATCH 058/118] Remove bean declaration for log4v1 service --- .../src/main/resources/spring/spring-dspace-core-services.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/dspace-api/src/main/resources/spring/spring-dspace-core-services.xml b/dspace-api/src/main/resources/spring/spring-dspace-core-services.xml index dfdd1a2c8c..402d5d8287 100644 --- a/dspace-api/src/main/resources/spring/spring-dspace-core-services.xml +++ b/dspace-api/src/main/resources/spring/spring-dspace-core-services.xml @@ -45,6 +45,4 @@ - - From bda4fa0ba7a5fbe1cf9e229a8d685a7d1ee1c079 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Thu, 22 Mar 2018 19:52:52 -0400 Subject: [PATCH 059/118] Refactor additional loggers for log4jv2 --- .../org/dspace/checker/MostRecentChecksumServiceImpl.java | 3 ++- .../authority/InputFormSelfRegisterWrapperAuthority.java | 3 ++- .../CreativeCommonsRDFStreamDisseminationCrosswalk.java | 3 ++- .../CreativeCommonsRDFStreamIngestionCrosswalk.java | 3 ++- .../CreativeCommonsTextStreamDisseminationCrosswalk.java | 3 ++- .../crosswalk/LicenseStreamDisseminationCrosswalk.java | 3 ++- .../content/crosswalk/XHTMLHeadDisseminationCrosswalk.java | 4 ++-- .../discovery/SolrServiceResourceRestrictionPlugin.java | 3 ++- .../src/main/java/org/dspace/eperson/SubscribeCLITool.java | 4 ++-- ...rsionedHandleIdentifierProviderWithCanonicalHandles.java | 3 ++- .../rdf/conversion/SimpleDSORelationsConverterPlugin.java | 3 ++- .../V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java | 3 ++- .../submit/lookup/DSpaceWorkspaceItemOutputGenerator.java | 4 ++-- .../submit/lookup/MultipleSubmissionLookupDataLoader.java | 4 ++-- .../org/dspace/submit/lookup/SubmissionItemDataLoader.java | 4 ++-- .../org/dspace/submit/step/StartSubmissionLookupStep.java | 4 ++-- .../java/org/dspace/usage/LoggerUsageEventListener.java | 3 +-- .../java/org/dspace/sword/CommunityCollectionGenerator.java | 4 ++-- .../src/main/java/org/purl/sword/client/ClientFactory.java | 6 +++--- 19 files changed, 38 insertions(+), 29 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java index 5e875a152d..d267171aa0 100644 --- a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java @@ -28,7 +28,8 @@ import org.springframework.beans.factory.annotation.Autowired; * @author kevinvandevelde at atmire.com */ public class MostRecentChecksumServiceImpl implements MostRecentChecksumService { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MostRecentChecksumServiceImpl.class); + private static final Logger log = + org.apache.logging.log4j.LogManager.getLogger(MostRecentChecksumServiceImpl.class); @Autowired(required = true) protected MostRecentChecksumDAO mostRecentChecksumDAO; diff --git a/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java index 08cd5d892e..60c3403728 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/InputFormSelfRegisterWrapperAuthority.java @@ -32,7 +32,8 @@ import org.dspace.content.Collection; */ public class InputFormSelfRegisterWrapperAuthority implements ChoiceAuthority { - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(InputFormSelfRegisterWrapperAuthority.class); + private static Logger log = + org.apache.logging.log4j.LogManager.getLogger(InputFormSelfRegisterWrapperAuthority.class); private Map delegates = new HashMap(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java index fac15d99e7..9042a3a7f5 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamDisseminationCrosswalk.java @@ -35,7 +35,8 @@ public class CreativeCommonsRDFStreamDisseminationCrosswalk /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsRDFStreamDisseminationCrosswalk.class); + private static Logger log = + org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsRDFStreamDisseminationCrosswalk.class); protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); protected CreativeCommonsService creativeCommonsService = LicenseServiceFactory.getInstance() .getCreativeCommonsService(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java index 55634df647..a5d503b6c2 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsRDFStreamIngestionCrosswalk.java @@ -38,7 +38,8 @@ public class CreativeCommonsRDFStreamIngestionCrosswalk /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsRDFStreamIngestionCrosswalk.class); + private static Logger log = + org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsRDFStreamIngestionCrosswalk.class); protected CreativeCommonsService creativeCommonsService = LicenseServiceFactory.getInstance() .getCreativeCommonsService(); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java index 2da3876b06..6d7becba42 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CreativeCommonsTextStreamDisseminationCrosswalk.java @@ -42,7 +42,8 @@ public class CreativeCommonsTextStreamDisseminationCrosswalk /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsTextStreamDisseminationCrosswalk.class); + private static Logger log = + org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsTextStreamDisseminationCrosswalk.class); @Override public boolean canDisseminate(Context context, DSpaceObject dso) { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java index 911f2b91bb..75b884613d 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/LicenseStreamDisseminationCrosswalk.java @@ -34,7 +34,8 @@ public class LicenseStreamDisseminationCrosswalk /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LicenseStreamDisseminationCrosswalk.class); + private static Logger log = + org.apache.logging.log4j.LogManager.getLogger(LicenseStreamDisseminationCrosswalk.class); protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); @Override diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java index 8826fb1ce3..bc153e9426 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XHTMLHeadDisseminationCrosswalk.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; @@ -65,8 +66,7 @@ public class XHTMLHeadDisseminationCrosswalk extends SelfNamedPlugin implements /** * log4j logger */ - private static Logger log = Logger - .getLogger(XHTMLHeadDisseminationCrosswalk.class); + private static Logger log = LogManager.getLogger(XHTMLHeadDisseminationCrosswalk.class); /** * Location of config file diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java index 8ba43ef417..4fcc8c38ca 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java @@ -39,7 +39,8 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class SolrServiceResourceRestrictionPlugin implements SolrServiceIndexPlugin, SolrServiceSearchPlugin { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrServiceResourceRestrictionPlugin.class); + private static final Logger log = + org.apache.logging.log4j.LogManager.getLogger(SolrServiceResourceRestrictionPlugin.class); @Autowired(required = true) protected AuthorizeService authorizeService; diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java index c02e655387..2b3a8a9661 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java @@ -26,8 +26,8 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.StringUtils; -import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; +// Replace with new log4j 2: import org.apache.logging.log4j.Level; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; @@ -316,7 +316,7 @@ public class SubscribeCLITool { boolean test = line.hasOption("t"); if (test) { - log.setLevel(Level.DEBUG); + //TODO Replace with log4j2: org.apache.logging.log4j.core.config.Configurator.setLevel(); } Context context = null; diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java index 9396526d47..797358262e 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java @@ -43,7 +43,8 @@ public class VersionedHandleIdentifierProviderWithCanonicalHandles extends Ident /** * log4j category */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(VersionedHandleIdentifierProviderWithCanonicalHandles.class); + private static Logger log = + org.apache.logging.log4j.LogManager.getLogger(VersionedHandleIdentifierProviderWithCanonicalHandles.class); /** * Prefix registered to no one diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java index 3337738b17..e5475e5eb4 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java @@ -57,7 +57,8 @@ public class SimpleDSORelationsConverterPlugin public static final String SIMPLE_RELATIONS_ITEM2BITSTREAM_KEY = "rdf.simplerelations.item2bitstream"; - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SimpleDSORelationsConverterPlugin.class); + private static final Logger log = + org.apache.logging.log4j.LogManager.getLogger(SimpleDSORelationsConverterPlugin.class); @Autowired(required = true) protected BitstreamService bitstreamService; diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java index 0ed07785d9..2b614b5356 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/migration/V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.java @@ -27,7 +27,8 @@ public class V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables implements JdbcM /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.class); + private static final Logger log = + org.apache.logging.log4j.LogManager.getLogger(V6_0_2016_01_26__DS_2188_Remove_DBMS_Browse_Tables.class); /* The checksum to report for this migration (when successful) */ private int checksum = -1; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java b/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java index a8ff5ef7fb..f93eb29bbc 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/DSpaceWorkspaceItemOutputGenerator.java @@ -22,6 +22,7 @@ import gr.ekt.bte.core.Record; import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.Value; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.app.util.DCInput; import org.dspace.app.util.DCInputSet; @@ -49,8 +50,7 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class DSpaceWorkspaceItemOutputGenerator implements OutputGenerator { - private static Logger log = Logger - .getLogger(DSpaceWorkspaceItemOutputGenerator.class); + private static Logger log = LogManager.getLogger(DSpaceWorkspaceItemOutputGenerator.class); protected Context context; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java index f90c8e2bb8..712bfbc3a4 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/MultipleSubmissionLookupDataLoader.java @@ -21,6 +21,7 @@ import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.core.StringValue; import gr.ekt.bte.dataloader.FileDataLoader; import gr.ekt.bte.exceptions.MalformedSourceException; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.core.Context; @@ -32,8 +33,7 @@ import org.dspace.core.Context; */ public class MultipleSubmissionLookupDataLoader implements DataLoader { - private static Logger log = Logger - .getLogger(MultipleSubmissionLookupDataLoader.class); + private static Logger log = LogManager.getLogger(MultipleSubmissionLookupDataLoader.class); protected final String NOT_FOUND_DOI = "NOT-FOUND-DOI"; diff --git a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java index a3c8bbfc8b..286c6ba23b 100644 --- a/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java +++ b/dspace-api/src/main/java/org/dspace/submit/lookup/SubmissionItemDataLoader.java @@ -15,6 +15,7 @@ import gr.ekt.bte.core.DataLoadingSpec; import gr.ekt.bte.core.Record; import gr.ekt.bte.core.RecordSet; import gr.ekt.bte.exceptions.MalformedSourceException; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.submit.util.ItemSubmissionLookupDTO; @@ -29,8 +30,7 @@ public class SubmissionItemDataLoader implements DataLoader { List providers; - private static Logger log = Logger - .getLogger(SubmissionItemDataLoader.class); + private static Logger log = LogManager.getLogger(SubmissionItemDataLoader.class); public SubmissionItemDataLoader() { dtoList = null; diff --git a/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java b/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java index b8513aefe0..b10b1895bb 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/StartSubmissionLookupStep.java @@ -7,6 +7,7 @@ */ package org.dspace.submit.step; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.content.InProgressSubmission; import org.dspace.core.Context; @@ -16,8 +17,7 @@ public class StartSubmissionLookupStep extends AbstractProcessingStep { /** * log4j logger */ - private static Logger log = Logger - .getLogger(StartSubmissionLookupStep.class); + private static Logger log = LogManager.getLogger(StartSubmissionLookupStep.class); @Override public void doPreProcessing(Context context, InProgressSubmission wsi) { diff --git a/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java b/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java index 9421f7d54b..aa24db0775 100644 --- a/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java +++ b/dspace-api/src/main/java/org/dspace/usage/LoggerUsageEventListener.java @@ -23,8 +23,7 @@ public class LoggerUsageEventListener extends AbstractUsageEventListener { /** * log4j category */ - private static Logger log = Logger - .getLogger(LoggerUsageEventListener.class); + private static Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerUsageEventListener.class); @Override public void receiveEvent(Event event) { diff --git a/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java b/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java index 3318a42b33..1d8caa5d16 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/CommunityCollectionGenerator.java @@ -10,6 +10,7 @@ package org.dspace.sword; import java.util.List; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; @@ -19,8 +20,7 @@ import org.dspace.content.service.CommunityService; import org.purl.sword.base.Collection; public class CommunityCollectionGenerator extends ATOMCollectionGenerator { - private static Logger log = Logger - .getLogger(CommunityCollectionGenerator.class); + private static Logger log = LogManager.getLogger(CommunityCollectionGenerator.class); protected CommunityService communityService = ContentServiceFactory .getInstance().getCommunityService(); diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java index 2612bbf25a..83d7ed0c11 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java @@ -7,7 +7,7 @@ */ package org.purl.sword.client; -import org.apache.logging.log4j.PropertyConfigurator; +// Replace with log4j 2: import org.apache.logging.log4j.PropertyConfigurator; /** * Entry point for the SWORD Demonstration Client. This will parse the list of @@ -24,8 +24,8 @@ public class ClientFactory { // configure the logger from the property file. The GUI client will // reload these properties if it is set to capture the output and // display it in a panel. - PropertyConfigurator.configure(this.getClass().getClassLoader() - .getResource(ClientConstants.LOGGING_PROPERTY_FILE)); + // Replace with log4j 2: PropertyConfigurator.configure(this.getClass() + // .getClassLoader().getResource(ClientConstants.LOGGING_PROPERTY_FILE)); } /** From 3b10caef0d8edf193717338f1e9d28df9237d72e Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Fri, 23 Mar 2018 13:46:32 -0400 Subject: [PATCH 060/118] Fix reference to log4jv2 --- .../java/org/dspace/identifier/EZIDIdentifierProviderTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java b/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java index e2128669e9..038611fe80 100644 --- a/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java +++ b/dspace-api/src/test/java/org/dspace/identifier/EZIDIdentifierProviderTest.java @@ -466,7 +466,7 @@ public class EZIDIdentifierProviderTest PrintWriter pw = new PrintWriter(sw); ex.printStackTrace(pw); System.out.println(sw.toString()); - org.apache.logging.log4j.org.apache.logging.log4j.LogManager.getLogger(EZIDIdentifierProviderTest.class).fatal("Caught NPE", ex); + org.apache.logging.log4j.LogManager.getLogger(EZIDIdentifierProviderTest.class).fatal("Caught NPE", ex); throw ex; } } From 00088c973906c04bd50b26e67fcd011fd71b568b Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Sat, 7 Apr 2018 08:53:59 -0400 Subject: [PATCH 061/118] Fix dependency convergence and use POM property for log4j version --- dspace-api/pom.xml | 30 ++++++++++++++++++++++++++++-- dspace-oai/pom.xml | 22 +++++++++++++++++++--- dspace-rdf/pom.xml | 4 ++-- dspace-rest/pom.xml | 4 ++-- dspace-services/pom.xml | 4 ++-- dspace-solr/pom.xml | 21 +++++++++++++++++++-- dspace-sword/pom.xml | 4 ++-- dspace-swordv2/pom.xml | 12 ++++++++++-- pom.xml | 11 ++++++----- 9 files changed, 90 insertions(+), 22 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 9dae1498f4..345acce24f 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -351,6 +351,24 @@ org.apache.jena apache-jena-libs pom + + + com.fasterxml.jackson.core + jackson-core + + + com.fasterxml.jackson.core + jackson-databind + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + + commons-cli @@ -415,12 +433,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} oro @@ -532,6 +550,10 @@ org.mockito mockito-core + + + log4j + log4j @@ -549,6 +571,10 @@ org.mockito mockito-core + + + log4j + log4j diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index 5d5e4c8627..d58d12f281 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -106,7 +106,15 @@ org.apache.commons commons-lang3 - + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + @@ -159,6 +167,14 @@ javax.servlet servlet-api + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + @@ -192,12 +208,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} org.slf4j diff --git a/dspace-rdf/pom.xml b/dspace-rdf/pom.xml index 205eb2ef6c..0bea543874 100644 --- a/dspace-rdf/pom.xml +++ b/dspace-rdf/pom.xml @@ -70,12 +70,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} org.apache.commons diff --git a/dspace-rest/pom.xml b/dspace-rest/pom.xml index 81e6fc14e1..0943fa6e16 100644 --- a/dspace-rest/pom.xml +++ b/dspace-rest/pom.xml @@ -230,12 +230,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} org.dspace diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index dafff484bb..b12da0859c 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -146,12 +146,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} diff --git a/dspace-solr/pom.xml b/dspace-solr/pom.xml index ea569d8265..181e884946 100644 --- a/dspace-solr/pom.xml +++ b/dspace-solr/pom.xml @@ -231,6 +231,23 @@ + + + org.apache.zookeeper + zookeeper + 3.4.6 + + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + + + + org.slf4j @@ -245,12 +262,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} javax.servlet diff --git a/dspace-sword/pom.xml b/dspace-sword/pom.xml index d5c6344306..e931469c9d 100644 --- a/dspace-sword/pom.xml +++ b/dspace-sword/pom.xml @@ -123,12 +123,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} xom diff --git a/dspace-swordv2/pom.xml b/dspace-swordv2/pom.xml index b201945817..f5eea1366b 100644 --- a/dspace-swordv2/pom.xml +++ b/dspace-swordv2/pom.xml @@ -99,6 +99,14 @@ javax.servlet servlet-api + + log4j + log4j + + + org.slf4j + slf4j-log4j12 + @@ -114,12 +122,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j log4j-core - 2.10.0 + ${log4j.version} org.apache.abdera diff --git a/pom.xml b/pom.xml index 74b6fe894f..a90b9bc4b2 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,8 @@ 3.17 42.2.1 4.10.4 - 2.13.0 + 2.13.0 + 2.11.0 1.7.22 2.8.11 2.26 @@ -1103,7 +1104,7 @@ - spring-jdbc + spring-jdbc org.springframework ${spring.version} @@ -1260,12 +1261,12 @@ org.apache.logging.log4j log4j-api - 2.10.0 + ${log4j.version} org.apache.logging.log4j - log4j-core - 2.10.0 + log4j-core + ${log4j.version} oro From a5a00816cc4ff53f8aaa9efca34fc59889edbc07 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Sat, 7 Apr 2018 08:55:15 -0400 Subject: [PATCH 062/118] Additional refactoring for log4jv2 --- .../org/dspace/xoai/controller/DSpaceOAIDataProvider.java | 2 +- .../org/dspace/app/rest/BitstreamContentRestController.java | 3 ++- .../app/rest/converter/SubmissionDefinitionConverter.java | 3 ++- .../app/rest/repository/SubmissionUploadRestRepository.java | 5 +++-- .../org/dspace/sword2/CollectionDepositManagerDSpace.java | 2 +- .../java/org/dspace/sword2/CommunityCollectionGenerator.java | 3 ++- .../java/org/dspace/sword2/MediaResourceManagerDSpace.java | 2 +- .../java/org/dspace/sword2/ServiceDocumentManagerDSpace.java | 2 +- .../java/org/dspace/sword2/SwordConfigurationDSpace.java | 3 ++- 9 files changed, 15 insertions(+), 10 deletions(-) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java b/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java index 43c79681ea..96e82d8eae 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/controller/DSpaceOAIDataProvider.java @@ -9,7 +9,7 @@ package org.dspace.xoai.controller; import static java.util.Arrays.asList; import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; -import static org.apache.logging.log4j.org.apache.logging.log4j.LogManager.getLogger; +import static org.apache.logging.log4j.LogManager.getLogger; import java.io.IOException; import java.io.OutputStream; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java index afb6a20f51..b387951f09 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java @@ -57,7 +57,8 @@ import org.springframework.web.bind.annotation.RestController; + "/{uuid:[0-9a-fxA-FX]{8}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{12}}/content") public class BitstreamContentRestController { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamContentRestController.class); + private static final Logger log = org.apache.logging.log4j.LogManager + .getLogger(BitstreamContentRestController.class); //Most file systems are configured to use block sizes of 4096 or 8192 and our buffer should be a multiple of that. private static final int BUFFER_SIZE = 4096 * 10; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionDefinitionConverter.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionDefinitionConverter.java index c7c1f3757d..e9abeb8633 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionDefinitionConverter.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/converter/SubmissionDefinitionConverter.java @@ -37,7 +37,8 @@ import org.springframework.stereotype.Component; @Component public class SubmissionDefinitionConverter extends DSpaceConverter { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionDefinitionConverter.class); + private static final Logger log = org.apache.logging.log4j.LogManager + .getLogger(SubmissionDefinitionConverter.class); @Autowired private SubmissionSectionConverter panelConverter; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java index 39ee598564..69fb7a64fc 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java @@ -43,7 +43,8 @@ import org.springframework.stereotype.Component; public class SubmissionUploadRestRepository extends DSpaceRestRepository implements LinkRestRepository { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionUploadRestRepository.class); + private static final Logger log = org.apache.logging.log4j.LogManager + .getLogger(SubmissionUploadRestRepository.class); private SubmissionConfigReader submissionConfigReader; @@ -141,4 +142,4 @@ public class SubmissionUploadRestRepository extends DSpaceRestRepository Date: Tue, 6 Mar 2018 13:29:24 -0500 Subject: [PATCH 063/118] Update POMs to version 2.10.0 --- dspace-services/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index b12da0859c..545192cd99 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -150,7 +150,7 @@ org.apache.logging.log4j - log4j-core + log4j-core ${log4j.version} From bb2dde22b19c1b1f8313e18832a86fe8e4e6c73a Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Fri, 9 Mar 2018 17:54:01 -0500 Subject: [PATCH 064/118] Convert getLogger() and Log4J imports for Log4J 2 --- .../main/java/org/dspace/authenticate/IPAuthentication.java | 1 + .../org/dspace/content/packager/AbstractMETSDisseminator.java | 1 - .../src/main/java/org/dspace/eperson/SubscribeCLITool.java | 1 - .../org/dspace/app/rest/BitstreamContentRestController.java | 3 +-- .../app/rest/repository/SubmissionUploadRestRepository.java | 3 +-- .../src/main/java/org/purl/sword/client/ClientFactory.java | 2 +- 6 files changed, 4 insertions(+), 7 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java index f78cc449be..8daa5ca42e 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java @@ -17,6 +17,7 @@ import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.collections.ListUtils; import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java index e8e4e974b4..9f528d96b7 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java @@ -126,7 +126,6 @@ public abstract class AbstractMETSDisseminator /** * log4j category */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractMETSDisseminator.class); // JDOM xml output writer - indented format for readability. diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java index 2b3a8a9661..ccfe8fee93 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java @@ -27,7 +27,6 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.PosixParser; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -// Replace with new log4j 2: import org.apache.logging.log4j.Level; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java index b387951f09..afb6a20f51 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java @@ -57,8 +57,7 @@ import org.springframework.web.bind.annotation.RestController; + "/{uuid:[0-9a-fxA-FX]{8}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{12}}/content") public class BitstreamContentRestController { - private static final Logger log = org.apache.logging.log4j.LogManager - .getLogger(BitstreamContentRestController.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamContentRestController.class); //Most file systems are configured to use block sizes of 4096 or 8192 and our buffer should be a multiple of that. private static final int BUFFER_SIZE = 4096 * 10; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java index 69fb7a64fc..6cad29cc36 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java @@ -43,8 +43,7 @@ import org.springframework.stereotype.Component; public class SubmissionUploadRestRepository extends DSpaceRestRepository implements LinkRestRepository { - private static final Logger log = org.apache.logging.log4j.LogManager - .getLogger(SubmissionUploadRestRepository.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionUploadRestRepository.class); private SubmissionConfigReader submissionConfigReader; diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java index 83d7ed0c11..57a2473bf8 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java @@ -7,7 +7,7 @@ */ package org.purl.sword.client; -// Replace with log4j 2: import org.apache.logging.log4j.PropertyConfigurator; +import org.apache.logging.log4j.PropertyConfigurator; /** * Entry point for the SWORD Demonstration Client. This will parse the list of From 7bd47362b6cc4bc78d7bf7f8d84ecc369832b5fb Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Thu, 22 Mar 2018 19:52:52 -0400 Subject: [PATCH 065/118] Refactor additional loggers for log4jv2 --- .../src/main/java/org/purl/sword/client/ClientFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java index 57a2473bf8..83d7ed0c11 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java @@ -7,7 +7,7 @@ */ package org.purl.sword.client; -import org.apache.logging.log4j.PropertyConfigurator; +// Replace with log4j 2: import org.apache.logging.log4j.PropertyConfigurator; /** * Entry point for the SWORD Demonstration Client. This will parse the list of From 56dd50d283c582f18b86fe3b826ce613718f71ba Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Sat, 7 Apr 2018 08:55:15 -0400 Subject: [PATCH 066/118] Additional refactoring for log4jv2 --- .../org/dspace/app/rest/BitstreamContentRestController.java | 3 ++- .../app/rest/repository/SubmissionUploadRestRepository.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java index afb6a20f51..b387951f09 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/BitstreamContentRestController.java @@ -57,7 +57,8 @@ import org.springframework.web.bind.annotation.RestController; + "/{uuid:[0-9a-fxA-FX]{8}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{4}-[0-9a-fxA-FX]{12}}/content") public class BitstreamContentRestController { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamContentRestController.class); + private static final Logger log = org.apache.logging.log4j.LogManager + .getLogger(BitstreamContentRestController.class); //Most file systems are configured to use block sizes of 4096 or 8192 and our buffer should be a multiple of that. private static final int BUFFER_SIZE = 4096 * 10; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java index 6cad29cc36..69fb7a64fc 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/SubmissionUploadRestRepository.java @@ -43,7 +43,8 @@ import org.springframework.stereotype.Component; public class SubmissionUploadRestRepository extends DSpaceRestRepository implements LinkRestRepository { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SubmissionUploadRestRepository.class); + private static final Logger log = org.apache.logging.log4j.LogManager + .getLogger(SubmissionUploadRestRepository.class); private SubmissionConfigReader submissionConfigReader; From 7996283d3cef49a0db0b07b1c3227ae37c7712b2 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Sat, 7 Apr 2018 19:11:45 -0400 Subject: [PATCH 067/118] Fix files not conforming to code style --- .../org/dspace/content/NonUniqueMetadataExceptionTest.java | 4 +++- .../dspace/app/rest/test/AbstractDSpaceIntegrationTest.java | 4 +++- .../app/rest/test/AbstractIntegrationTestWithDatabase.java | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java b/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java index 2ba4aa44e2..b99e44c7f2 100644 --- a/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java +++ b/dspace-api/src/test/java/org/dspace/content/NonUniqueMetadataExceptionTest.java @@ -9,6 +9,7 @@ package org.dspace.content; import static org.junit.Assert.assertTrue; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Test; @@ -23,7 +24,8 @@ public class NonUniqueMetadataExceptionTest { /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(NonUniqueMetadataExceptionTest.class); + private static final Logger log = LogManager + .getLogger(NonUniqueMetadataExceptionTest.class); /** * Dummy test to avoid initialization errors diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java index b2b550d69e..6854f0a225 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractDSpaceIntegrationTest.java @@ -15,6 +15,7 @@ import java.sql.SQLException; import java.util.Properties; import java.util.TimeZone; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.app.rest.builder.AbstractBuilder; import org.dspace.servicemanager.DSpaceKernelImpl; @@ -30,7 +31,8 @@ public class AbstractDSpaceIntegrationTest { /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractDSpaceIntegrationTest.class); + private static final Logger log = LogManager + .getLogger(AbstractDSpaceIntegrationTest.class); /** * Test properties. These configure our general test environment diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java index 8af9da111a..2c89f63183 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java @@ -12,6 +12,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; import java.util.Arrays; +import org.apache.logging.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.app.launcher.ScriptLauncher; import org.dspace.app.rest.builder.AbstractBuilder; @@ -37,7 +38,8 @@ public class AbstractIntegrationTestWithDatabase extends AbstractDSpaceIntegrati /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractIntegrationTestWithDatabase.class); + private static final Logger log = LogManager + .getLogger(AbstractIntegrationTestWithDatabase.class); /** * Context mock object to use in the tests. From a3db6f727c36813a387eca231a04e78e697bce3b Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Sat, 7 Apr 2018 19:46:25 -0400 Subject: [PATCH 068/118] Fix import statement --- .../app/rest/test/AbstractIntegrationTestWithDatabase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java index 2c89f63183..6f6ee8519a 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/test/AbstractIntegrationTestWithDatabase.java @@ -12,7 +12,7 @@ import static org.junit.Assert.fail; import java.sql.SQLException; import java.util.Arrays; -import org.apache.logging.LogManager; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.app.launcher.ScriptLauncher; import org.dspace.app.rest.builder.AbstractBuilder; From 8eb074b11f75d18587b5e7d9473cc18b181b3213 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Tue, 4 Sep 2018 19:35:40 -0400 Subject: [PATCH 069/118] Fix dependency convergence --- .../dspace/authenticate/IPAuthentication.java | 1 - .../dspace/authority/orcid/xml/Converter.java | 3 +- .../dspace/authority/orcid/xml/XMLtoBio.java | 2 +- .../packager/AbstractMETSDisseminator.java | 6 ++-- .../statistics/SolrLoggerServiceImpl.java | 10 +++---- dspace-solr/pom.xml | 28 +++++++++++++------ .../app/rest/utils/DiscoverQueryBuilder.java | 2 +- 7 files changed, 28 insertions(+), 24 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java index 8daa5ca42e..f78cc449be 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java @@ -17,7 +17,6 @@ import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.collections.ListUtils; import org.apache.logging.log4j.Logger; import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java index f64b498235..d55f9d4eee 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/Converter.java @@ -14,9 +14,8 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; -import org.xml.sax.SAXException; - import org.apache.logging.log4j.Logger; +import org.xml.sax.SAXException; /** * @param type diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java index 7f2de9f870..d7fdb4dc81 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/xml/XMLtoBio.java @@ -12,6 +12,7 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; +import org.apache.logging.log4j.Logger; import org.dspace.authority.orcid.Orcidv2; import org.dspace.utils.DSpace; import org.orcid.jaxb.model.common_v2.OrcidId; @@ -19,7 +20,6 @@ import org.orcid.jaxb.model.record_v2.Person; import org.orcid.jaxb.model.search_v2.Result; import org.orcid.jaxb.model.search_v2.Search; import org.xml.sax.SAXException; -import org.apache.logging.log4j.Logger; /** * @author Antoine Snyers (antoine at atmire.com) diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java index 9f528d96b7..f32990ea5b 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java @@ -53,7 +53,6 @@ import edu.harvard.hul.ois.mets.helper.MetsException; import edu.harvard.hul.ois.mets.helper.MetsValidator; import edu.harvard.hul.ois.mets.helper.MetsWriter; import edu.harvard.hul.ois.mets.helper.PreformedXML; -import org.apache.logging.log4j.Logger; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.factory.AuthorizeServiceFactory; @@ -86,8 +85,6 @@ import org.jdom.Element; import org.jdom.Namespace; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * Base class for disseminator of @@ -126,7 +123,8 @@ public abstract class AbstractMETSDisseminator /** * log4j category */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(AbstractMETSDisseminator.class); + private static org.apache.logging.log4j.Logger log = + org.apache.logging.log4j.LogManager.getLogger(AbstractMETSDisseminator.class); // JDOM xml output writer - indented format for readability. protected static XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()); diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java index bf3cd0d3dc..fd26725a71 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java @@ -45,7 +45,6 @@ import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.logging.log4j.Logger; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; @@ -90,8 +89,6 @@ import org.dspace.statistics.util.DnsLookup; import org.dspace.statistics.util.LocationUtils; import org.dspace.statistics.util.SpiderDetector; import org.dspace.usage.UsageWorkflowEvent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -105,9 +102,10 @@ import org.springframework.beans.factory.annotation.Autowired; * @author mdiggory at atmire.com */ public class SolrLoggerServiceImpl implements SolrLoggerService, InitializingBean { - - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(SolrLoggerServiceImpl.class); - + + private static final org.apache.logging.log4j.Logger log = + org.apache.logging.log4j.LogManager.getLogger(SolrLoggerServiceImpl.class); + private static final String MULTIPLE_VALUES_SPLITTER = "|"; protected SolrServer solr; diff --git a/dspace-solr/pom.xml b/dspace-solr/pom.xml index 181e884946..c49354c610 100644 --- a/dspace-solr/pom.xml +++ b/dspace-solr/pom.xml @@ -169,6 +169,10 @@ jetty-xml org.eclipse.jetty + + org.apache.zookeeper + zookeeper + @@ -224,6 +228,10 @@ jetty-xml org.eclipse.jetty + + log4j + log4j + org.apache.zookeeper zookeeper @@ -237,15 +245,11 @@ zookeeper 3.4.6 - - log4j - log4j - - org.slf4j - slf4j-log4j12 - - + log4j + log4j + + @@ -257,7 +261,13 @@ org.slf4j slf4j-log4j12 - runtime + runtime + + + log4j + log4j + + org.apache.logging.log4j diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java index 04b8302f77..70d97906ae 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/utils/DiscoverQueryBuilder.java @@ -14,8 +14,8 @@ import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.dspace.app.rest.converter.query.SearchQueryConverter; import org.apache.logging.log4j.Logger; +import org.dspace.app.rest.converter.query.SearchQueryConverter; import org.dspace.app.rest.exception.InvalidDSpaceObjectTypeException; import org.dspace.app.rest.exception.InvalidRequestException; import org.dspace.app.rest.exception.InvalidSearchFacetException; From 538b0046e5dbe7bb015cd417a4e565463a1cb1b5 Mon Sep 17 00:00:00 2001 From: Patrick Trottier Date: Thu, 6 Sep 2018 16:51:36 -0400 Subject: [PATCH 070/118] Change to version 2.6.2 of log4j To ensure compatibility with Spring Boot v1.4.4 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a90b9bc4b2..f8f63329a7 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ 42.2.1 4.10.4 2.13.0 - 2.11.0 + 2.6.2 1.7.22 2.8.11 2.26 From f48d005e2c74ed5a54f5b9e8e887bbb33a4ef9a4 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 31 Mar 2017 15:49:41 -0400 Subject: [PATCH 071/118] [DS-3135] log4j 2 needs new configuration -- start with the command line tools --- dspace/config/log4j.xml | 78 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 dspace/config/log4j.xml diff --git a/dspace/config/log4j.xml b/dspace/config/log4j.xml new file mode 100644 index 0000000000..13f84deff3 --- /dev/null +++ b/dspace/config/log4j.xml @@ -0,0 +1,78 @@ + + + + + + ${dspace.dir}/log + + + INFO + + + INFO + + + + + + + + yyyy-MM-dd + + + + + + + + + yyyy-MM-dd + + + + + + + + + + + + + + + + + + + + + # Block services logging except on exceptions + + + + + + + # Block passwords from being exposed in Axis logs. + # (DEBUG exposes passwords in Basic Auth) + + + From f5d325b36bf1acbc3f1082ebdd51d49e89f6e14b Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sat, 13 Oct 2018 18:55:55 -0400 Subject: [PATCH 072/118] [DS-3135] Fix new class that uses old log4j. --- .../org/dspace/authority/orcid/Orcidv2.java | 9 +- dspace/config/log4j.properties | 95 ------------------- 2 files changed, 6 insertions(+), 98 deletions(-) delete mode 100644 dspace/config/log4j.properties diff --git a/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java b/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java index 14f0f9888d..a545c6cf9e 100644 --- a/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java +++ b/dspace-api/src/main/java/org/dspace/authority/orcid/Orcidv2.java @@ -20,7 +20,8 @@ import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.authority.AuthorityValue; import org.dspace.authority.SolrAuthorityInterface; import org.dspace.authority.orcid.xml.XMLtoBio; @@ -35,7 +36,7 @@ import org.orcid.jaxb.model.record_v2.Person; */ public class Orcidv2 implements SolrAuthorityInterface { - private static Logger log = Logger.getLogger(Orcidv2.class); + private static Logger log = LogManager.getLogger(Orcidv2.class); public RESTConnector restConnector; private String OAUTHUrl; @@ -46,7 +47,9 @@ public class Orcidv2 implements SolrAuthorityInterface { private String accessToken; /** - * Initialize the accessToken that is required for all subsequent calls to ORCID + * Initialize the accessToken that is required for all subsequent calls to ORCID. + * + * @throws java.io.IOException passed through from HTTPclient. */ public void init() throws IOException { if (StringUtils.isNotBlank(accessToken) && StringUtils.isNotBlank(clientSecret)) { diff --git a/dspace/config/log4j.properties b/dspace/config/log4j.properties deleted file mode 100644 index 5378533250..0000000000 --- a/dspace/config/log4j.properties +++ /dev/null @@ -1,95 +0,0 @@ -########################################################################### -# log4j.properties -# -# This is the primary log4j (logging) configuration file for DSpace. By default, -# Log4j is configured to write log files that rotate daily. However, you may -# tweak these settings based on your local needs / best practices. -# For more information on log4j configuration, see: -# https://logging.apache.org/log4j/1.2/manual.html -########################################################################### - -# VARIABLES: -# The following variables can be used to easily tweak the default log4j settings. -# These variables are used by the log4j config / appenders later in this file. - -# log.dir -# Default log file directory for DSpace. Defaults to the 'log' subdirectory -# under [dspace.dir]. NOTE: The value of 'dspace.dir' will be replaced by -# its value in your configuration when DSpace is deployed (via Ant). -log.dir=${dspace.dir}/log - -# loglevel.dspace -# Log level for all DSpace-specific code (org.dspace.*) -# Possible values (from most to least info): DEBUG, INFO, WARN, ERROR, FATAL -# Defaults to INFO -loglevel.dspace=INFO - -# loglevel.other -# Log level for other third-party tools/APIs used by DSpace -# Possible values (from most to least info): DEBUG, INFO, WARN, ERROR, FATAL -# Defaults to INFO -loglevel.other=INFO - - -########################################################################### -# A1 is the name of the appender for most DSpace activity. -########################################################################### -# The root category is the default setting for all non-DSpace code. -# Change this from INFO to DEBUG to see extra logging created by non-DSpace -# code. -log4j.rootCategory=${loglevel.other}, A1 -# This line sets the logging level for DSpace code. Set this to DEBUG to see -# extra detailed logging for DSpace code. -log4j.logger.org.dspace=${loglevel.dspace}, A1 - -# Do not change these "additivity" lines -log4j.additivity.org.dspace=false - -# The name of the file appender -log4j.appender.A1=org.dspace.app.util.DailyFileAppender -# The filename of the log file created. A date stamp is appended to this -log4j.appender.A1.File=${log.dir}/dspace.log -# Set this to yyyy-MM-DD for daily log files, or yyyy-MM for monthly files -log4j.appender.A1.DatePattern=yyyy-MM-dd -# The number of log files to keep, or 0 to keep them all -log4j.appender.A1.MaxLogs=0 -# A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout -log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n - - -########################################################################### -# A2 is the name of the appender for the Checksum Checker -########################################################################### -# This line sets the logging level for the checksum checker log file. -# Set this to DEBUG to see extra detailed logging. -log4j.logger.org.dspace.checker=INFO, A2 -# Do not change this line -log4j.additivity.org.dspace.checker=false -# The name of the file appender -log4j.appender.A2=org.dspace.app.util.DailyFileAppender -# The filename of the log file created. A date stamp is appended to this -log4j.appender.A2.File=${log.dir}/checker.log -# Set this to yyyy-MM-DD for daily log files, or yyyy-MM for monthly files -log4j.appender.A2.DatePattern=yyyy-MM-dd -# The number of log files to keep, or 0 to keep them all -log4j.appender.A2.MaxLogs=0 -# A2 uses PatternLayout. -log4j.appender.A2.layout=org.apache.logging.log4j.PatternLayout -log4j.appender.A2.layout.ConversionPattern=%m%n - - -########################################################################### -# Other settings -########################################################################### - -# Block passwords from being exposed in Axis logs. -# (DEBUG exposes passwords in Basic Auth) -log4j.logger.org.apache.axis.handlers.http.HTTPAuthHandler=INFO - -# Block services logging except on exceptions -log4j.logger.org.dspace.kernel=ERROR -log4j.logger.org.dspace.services=ERROR -log4j.logger.org.dspace.servicemanager=ERROR -log4j.logger.org.dspace.providers=ERROR -log4j.logger.org.dspace.utils=ERROR From 9be54714d3f5c079e8eb255d57bd2262f0ff366b Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sat, 13 Oct 2018 18:57:17 -0400 Subject: [PATCH 073/118] [DS-3135] More dependency fixes. --- dspace-api/pom.xml | 7 ++++--- dspace-services/pom.xml | 9 +++++---- pom.xml | 10 ++++++++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 345acce24f..5c698f7e89 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -433,12 +433,14 @@ org.apache.logging.log4j log4j-api - ${log4j.version} + + + org.apache.logging.log4j + log4j-1.2-api org.apache.logging.log4j log4j-core - ${log4j.version} oro @@ -643,7 +645,6 @@ com.google.guava guava - 19.0 diff --git a/dspace-services/pom.xml b/dspace-services/pom.xml index 545192cd99..e402bed92b 100644 --- a/dspace-services/pom.xml +++ b/dspace-services/pom.xml @@ -139,10 +139,6 @@ 6.1.26 test - - org.slf4j - slf4j-log4j12 - org.apache.logging.log4j log4j-api @@ -153,6 +149,11 @@ log4j-core ${log4j.version} + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + commons-logging diff --git a/pom.xml b/pom.xml index f8f63329a7..8527346406 100644 --- a/pom.xml +++ b/pom.xml @@ -1263,11 +1263,21 @@ log4j-api ${log4j.version} + + org.apache.logging.log4j + log4j-1.2-api + ${log4j.version} + org.apache.logging.log4j log4j-core ${log4j.version} + + org.apache.logging.log4j + log4j-web + ${log4j.version} + oro oro From bb10bfe01a50015c588af9ada8982e8cf3ba64cb Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 14 Oct 2018 15:18:31 -0400 Subject: [PATCH 074/118] [DS-3135] More dependency cleanup --- dspace-oai/pom.xml | 10 ++++++---- dspace-rdf/pom.xml | 8 ++++++-- dspace-rest/pom.xml | 6 ++++-- dspace-solr/pom.xml | 36 ++++++++++++++++-------------------- dspace-spring-rest/pom.xml | 21 +++++++++++++-------- dspace-sword/pom.xml | 8 ++++++-- dspace-swordv2/pom.xml | 6 ++++-- pom.xml | 7 +++++++ 8 files changed, 62 insertions(+), 40 deletions(-) diff --git a/dspace-oai/pom.xml b/dspace-oai/pom.xml index d58d12f281..9a66c4c86a 100644 --- a/dspace-oai/pom.xml +++ b/dspace-oai/pom.xml @@ -208,16 +208,18 @@ org.apache.logging.log4j log4j-api - ${log4j.version} org.apache.logging.log4j log4j-core - ${log4j.version} + + org.apache.logging.log4j + log4j-web + - org.slf4j - slf4j-log4j12 + org.apache.logging.log4j + log4j-slf4j-impl runtime diff --git a/dspace-rdf/pom.xml b/dspace-rdf/pom.xml index 0bea543874..b4b4000e6f 100644 --- a/dspace-rdf/pom.xml +++ b/dspace-rdf/pom.xml @@ -67,16 +67,20 @@ javax.servlet-api provided + org.apache.logging.log4j log4j-api - ${log4j.version} org.apache.logging.log4j log4j-core - ${log4j.version} + + org.apache.logging.log4j + log4j-web + + org.apache.commons commons-lang3 diff --git a/dspace-rest/pom.xml b/dspace-rest/pom.xml index 0943fa6e16..6d012d246a 100644 --- a/dspace-rest/pom.xml +++ b/dspace-rest/pom.xml @@ -230,13 +230,15 @@ org.apache.logging.log4j log4j-api - ${log4j.version} org.apache.logging.log4j log4j-core - ${log4j.version} + + org.apache.logging.log4j + log4j-web + org.dspace dspace-services diff --git a/dspace-solr/pom.xml b/dspace-solr/pom.xml index c49354c610..b41e8f3eda 100644 --- a/dspace-solr/pom.xml +++ b/dspace-solr/pom.xml @@ -254,40 +254,36 @@ - org.slf4j - jul-to-slf4j - 1.7.14 - - - org.slf4j - slf4j-log4j12 - runtime - - - log4j - log4j - - + org.apache.logging.log4j + log4j-jul + ${log4j.version} org.apache.logging.log4j log4j-api - ${log4j.version} org.apache.logging.log4j log4j-core - ${log4j.version} + + org.apache.logging.log4j + log4j-web + + + org.apache.logging.log4j + log4j-slf4j-impl + + + commons-logging + commons-logging + + javax.servlet javax.servlet-api provided - - commons-logging - commons-logging - diff --git a/dspace-spring-rest/pom.xml b/dspace-spring-rest/pom.xml index 2bcda527d7..beeafa440d 100644 --- a/dspace-spring-rest/pom.xml +++ b/dspace-spring-rest/pom.xml @@ -183,9 +183,10 @@ ${spring-boot.version} org.slf4j @@ -263,11 +264,14 @@ ${spring-boot.version} - - - + + org.springframework.boot spring-boot-starter + ${spring-boot.version} org.springframework.boot @@ -277,8 +281,9 @@ org.springframework.boot - spring-boot-starter-log4j - --> + spring-boot-starter-log4j2 + ${spring-boot.version} + diff --git a/dspace-sword/pom.xml b/dspace-sword/pom.xml index e931469c9d..63f149e01f 100644 --- a/dspace-sword/pom.xml +++ b/dspace-sword/pom.xml @@ -120,16 +120,20 @@ junit test + org.apache.logging.log4j log4j-api - ${log4j.version} org.apache.logging.log4j log4j-core - ${log4j.version} + + org.apache.logging.log4j + log4j-web + + xom xom diff --git a/dspace-swordv2/pom.xml b/dspace-swordv2/pom.xml index f5eea1366b..6ac1a15b5d 100644 --- a/dspace-swordv2/pom.xml +++ b/dspace-swordv2/pom.xml @@ -122,13 +122,15 @@ org.apache.logging.log4j log4j-api - ${log4j.version} org.apache.logging.log4j log4j-core - ${log4j.version} + + org.apache.logging.log4j + log4j-web + org.apache.abdera abdera-client diff --git a/pom.xml b/pom.xml index 8527346406..b2d1681d40 100644 --- a/pom.xml +++ b/pom.xml @@ -1258,6 +1258,7 @@ jdom 1.1.3 + org.apache.logging.log4j log4j-api @@ -1278,6 +1279,12 @@ log4j-web ${log4j.version} + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + + oro oro From 5cbe4fefb59d0e277e5d96ec150d56ec20a5dd1d Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 14 Oct 2018 15:19:06 -0400 Subject: [PATCH 075/118] [DS-3135] Correct Log4J configuration file name. --- dspace/config/log4j.xml | 78 ---------------------------------- dspace/config/log4j2.xml | 91 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 78 deletions(-) delete mode 100644 dspace/config/log4j.xml create mode 100644 dspace/config/log4j2.xml diff --git a/dspace/config/log4j.xml b/dspace/config/log4j.xml deleted file mode 100644 index 13f84deff3..0000000000 --- a/dspace/config/log4j.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - ${dspace.dir}/log - - - INFO - - - INFO - - - - - - - - yyyy-MM-dd - - - - - - - - - yyyy-MM-dd - - - - - - - - - - - - - - - - - - - - - # Block services logging except on exceptions - - - - - - - # Block passwords from being exposed in Axis logs. - # (DEBUG exposes passwords in Basic Auth) - - - diff --git a/dspace/config/log4j2.xml b/dspace/config/log4j2.xml new file mode 100644 index 0000000000..98a0300125 --- /dev/null +++ b/dspace/config/log4j2.xml @@ -0,0 +1,91 @@ + + + + + + ${log4j:configParentLocation}/../log + + + INFO + + + INFO + + + + + + + + yyyy-MM-dd + + + + + + + + + yyyy-MM-dd + + + + + + + + + + + + + + + + + + + + + # Block services logging except on exceptions + + + + + + + # Block passwords from being exposed in Axis logs. + # (DEBUG exposes passwords in Basic Auth) + + + From 3f904dc4ec3839a3cf13e89a6c50cdc05d03f119 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 14 Oct 2018 15:21:41 -0400 Subject: [PATCH 076/118] [DS-3135] Tell Log4J where to find its configuration. --- dspace-oai/src/main/webapp/WEB-INF/web.xml | 5 +++++ dspace-rdf/src/main/webapp/WEB-INF/web.xml | 8 ++++++++ dspace-rest/src/main/webapp/WEB-INF/web.xml | 8 ++++++++ dspace-solr/src/main/webapp/WEB-INF/web.xml | 6 ++++-- .../src/main/resources/application.properties | 6 +++++- dspace-sword/src/main/webapp/WEB-INF/web.xml | 8 ++++++++ dspace-swordv2/src/main/webapp/WEB-INF/web.xml | 11 ++++++++++- dspace/bin/dspace | 7 ++++--- dspace/bin/dspace.bat | 4 ++-- 9 files changed, 54 insertions(+), 9 deletions(-) diff --git a/dspace-oai/src/main/webapp/WEB-INF/web.xml b/dspace-oai/src/main/webapp/WEB-INF/web.xml index 54d207c099..d731a0c659 100644 --- a/dspace-oai/src/main/webapp/WEB-INF/web.xml +++ b/dspace-oai/src/main/webapp/WEB-INF/web.xml @@ -20,6 +20,11 @@ ${dspace.dir} + + log4jConfiguration + ${dspace.dir}/config/log4j2.xml + The location of the Log4J configuration + diff --git a/dspace-rdf/src/main/webapp/WEB-INF/web.xml b/dspace-rdf/src/main/webapp/WEB-INF/web.xml index 65f22b637b..c15ec675f3 100644 --- a/dspace-rdf/src/main/webapp/WEB-INF/web.xml +++ b/dspace-rdf/src/main/webapp/WEB-INF/web.xml @@ -22,6 +22,14 @@ ${dspace.dir} + + log4jConfiguration + ${dspace.dir}/config/log4j2.xml + + The location of the Log4J configuration + + + dspace.request org.dspace.utils.servlet.DSpaceWebappServletFilter diff --git a/dspace-rest/src/main/webapp/WEB-INF/web.xml b/dspace-rest/src/main/webapp/WEB-INF/web.xml index df639b9b08..ba96425824 100644 --- a/dspace-rest/src/main/webapp/WEB-INF/web.xml +++ b/dspace-rest/src/main/webapp/WEB-INF/web.xml @@ -76,6 +76,14 @@ ${dspace.dir} + + log4jConfiguration + ${dspace.dir}/config/log4j2.xml + + The location of the Log4J configuration + + + contextConfigLocation diff --git a/dspace-solr/src/main/webapp/WEB-INF/web.xml b/dspace-solr/src/main/webapp/WEB-INF/web.xml index 67350c4dcc..081d436b9f 100644 --- a/dspace-solr/src/main/webapp/WEB-INF/web.xml +++ b/dspace-solr/src/main/webapp/WEB-INF/web.xml @@ -45,9 +45,11 @@ initialized until the DSpace Kernel starts up, and we don't want Solr to depend on the DSpace Kernel/API --> - log4j.configuration + log4jConfiguration ${dspace.dir}/config/log4j-solr.properties - URL locating a Log4J configuration file (properties or XML). + + URL locating a Log4J configuration file (properties or XML). + diff --git a/dspace-spring-rest/src/main/resources/application.properties b/dspace-spring-rest/src/main/resources/application.properties index cc29bc7e3c..422d4913c5 100644 --- a/dspace-spring-rest/src/main/resources/application.properties +++ b/dspace-spring-rest/src/main/resources/application.properties @@ -112,4 +112,8 @@ spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSou # #logging.level.org.springframework.boot=DEBUG #logging.level.org.springframework.web=DEBUG -#logging.level.org.hibernate=ERROR \ No newline at end of file +#logging.level.org.hibernate=ERROR + +######################### +# Log4J configuration +server.context-parameters.log4jConfiguration=${dspace.dir}/config/log4j2.xml diff --git a/dspace-sword/src/main/webapp/WEB-INF/web.xml b/dspace-sword/src/main/webapp/WEB-INF/web.xml index 3d721e9744..14b873ccd9 100644 --- a/dspace-sword/src/main/webapp/WEB-INF/web.xml +++ b/dspace-sword/src/main/webapp/WEB-INF/web.xml @@ -27,6 +27,14 @@ org.dspace.sword.DSpaceSWORDServer + + log4jConfiguration + ${dspace.dir}/config/log4j2.xml + + The location of the Log4J configuration + + + The type of authentication used : [Basic|None] authentication-method diff --git a/dspace-swordv2/src/main/webapp/WEB-INF/web.xml b/dspace-swordv2/src/main/webapp/WEB-INF/web.xml index 52feaf240a..f7794795dd 100644 --- a/dspace-swordv2/src/main/webapp/WEB-INF/web.xml +++ b/dspace-swordv2/src/main/webapp/WEB-INF/web.xml @@ -29,7 +29,16 @@ org.dspace.sword2.ServiceDocumentManagerDSpace - + + log4jConfiguration + ${dspace.dir}/config/log4j2.xml + + The location of the Log4J configuration + + + + The CollectionListManager server implementation class name collection-list-impl diff --git a/dspace/bin/dspace b/dspace/bin/dspace index 92a40d1f11..d7d5ae1a69 100644 --- a/dspace/bin/dspace +++ b/dspace/bin/dspace @@ -35,8 +35,6 @@ if [ "$1" = "classpath" ]; then exit 0 fi - - #Allow user to specify java options through JAVA_OPTS variable if [ "$JAVA_OPTS" = "" ]; then #Default Java to use 256MB of memory @@ -44,4 +42,7 @@ if [ "$JAVA_OPTS" = "" ]; then fi # Now invoke Java -java $JAVA_OPTS -classpath $FULLPATH org.dspace.app.launcher.ScriptLauncher "$@" +java $JAVA_OPTS \ + -classpath $FULLPATH \ + -Dlog4j.configurationFile=$DSPACEDIR/config/log4j2.xml \ + org.dspace.app.launcher.ScriptLauncher "$@" diff --git a/dspace/bin/dspace.bat b/dspace/bin/dspace.bat index 7cef8e2300..8ad421ff32 100644 --- a/dspace/bin/dspace.bat +++ b/dspace/bin/dspace.bat @@ -39,7 +39,7 @@ REM Otherwise, default Java to using 256MB of memory if "%JAVA_OPTS%"=="" set "JAVA_OPTS=-Xmx256m -Dfile.encoding=UTF-8" REM Execute Java -java %JAVA_OPTS% -classpath "%DSPACE_CLASSPATH%" org.dspace.app.launcher.ScriptLauncher %* +java %JAVA_OPTS% -classpath "%DSPACE_CLASSPATH%" -Dlog4j.configurationFile=%DSPACEDIR%/config/log4j2.xml org.dspace.app.launcher.ScriptLauncher %* REM Clean up DSPACE_CLASSPATH variable set DSPACE_CLASSPATH= @@ -47,4 +47,4 @@ set DSPACE_CLASSPATH= :end REM Back to original dir -chdir /D %CURRENT_DIR% \ No newline at end of file +chdir /D %CURRENT_DIR% From f3505ed22b498e705684a057845d3be1619068e7 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sat, 27 Oct 2018 07:37:05 -0400 Subject: [PATCH 077/118] [DS-3135] Still more dependency cleanup. --- dspace-rdf/pom.xml | 12 ++++++++++++ dspace-solr/pom.xml | 8 ++++++++ dspace/modules/oai/pom.xml | 6 ++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/dspace-rdf/pom.xml b/dspace-rdf/pom.xml index b4b4000e6f..9c6c154ddc 100644 --- a/dspace-rdf/pom.xml +++ b/dspace-rdf/pom.xml @@ -33,6 +33,18 @@ jackson-databind com.fasterxml.jackson.core + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + pom diff --git a/dspace-solr/pom.xml b/dspace-solr/pom.xml index b41e8f3eda..0672ce9cbc 100644 --- a/dspace-solr/pom.xml +++ b/dspace-solr/pom.xml @@ -173,6 +173,10 @@ org.apache.zookeeper zookeeper + + log4j + log4j + @@ -249,6 +253,10 @@ log4j log4j + + org.slf4j + slf4j-log4j12 + diff --git a/dspace/modules/oai/pom.xml b/dspace/modules/oai/pom.xml index 441846e8ce..e36adfafcc 100644 --- a/dspace/modules/oai/pom.xml +++ b/dspace/modules/oai/pom.xml @@ -130,10 +130,12 @@ javax.servlet-api provided + com.lyncode From 959b5122b7171752a8a415e6a6d3caed9dfce617 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 28 Oct 2018 07:53:05 -0400 Subject: [PATCH 078/118] [DS-3135] Squash one more log4j1 dependency. --- dspace/modules/solr/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dspace/modules/solr/pom.xml b/dspace/modules/solr/pom.xml index d84c1a4a51..ff0927727a 100644 --- a/dspace/modules/solr/pom.xml +++ b/dspace/modules/solr/pom.xml @@ -130,6 +130,10 @@ org.apache.zookeeper zookeeper + + log4j + log4j + From 9133d289ed07de0f0f25aad6a37ad6ce03ee420f Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 28 Oct 2018 07:54:16 -0400 Subject: [PATCH 079/118] [DS-3135] Satisfy Checkstyle by removing unused includes; tighten up the code a little. --- .../src/main/java/org/dspace/submit/step/DescribeStep.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java b/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java index c429ea103c..ae58efc1c3 100644 --- a/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java +++ b/dspace-api/src/main/java/org/dspace/submit/step/DescribeStep.java @@ -7,11 +7,8 @@ */ package org.dspace.submit.step; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.dspace.content.InProgressSubmission; -import org.dspace.core.Context; -import org.dspace.services.model.Request; -import org.dspace.submit.AbstractProcessingStep; /** * @author Luigi Andrea Pascarelli (luigiandrea.pascarelli at 4science.it) @@ -20,6 +17,6 @@ public class DescribeStep extends MetadataStep { /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DescribeStep.class); + private static final Logger log = LogManager.getLogger(); } From b668860a2b2b8c2763eddcb81235111bb7937ead Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 28 Oct 2018 11:39:48 -0400 Subject: [PATCH 080/118] [DS-3135] Don't configure Solr with ConfigureLog4jListener which no longer exists. --- dspace-solr/src/main/webapp/WEB-INF/web.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dspace-solr/src/main/webapp/WEB-INF/web.xml b/dspace-solr/src/main/webapp/WEB-INF/web.xml index 081d436b9f..52e02583d4 100644 --- a/dspace-solr/src/main/webapp/WEB-INF/web.xml +++ b/dspace-solr/src/main/webapp/WEB-INF/web.xml @@ -108,10 +108,6 @@ - - org.dspace.solr.filters.ConfigureLog4jListener - - Zookeeper org.apache.solr.servlet.ZookeeperInfoServlet From 2925a3a3bf31b132860b1b008f54f7ab1be73b24 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 28 Oct 2018 20:02:34 -0400 Subject: [PATCH 081/118] [DS-3135] Finish converting log4j2 configuration; make it work for Solr; tweak Ant usage. --- dspace-solr/src/main/webapp/WEB-INF/web.xml | 47 +++++++++++++-------- dspace/config/dspace.cfg | 6 +-- dspace/config/log4j-console.properties | 23 ---------- dspace/config/log4j-solr.properties | 44 ------------------- dspace/config/log4j2-console.xml | 32 ++++++++++++++ dspace/config/log4j2-solr.xml | 40 ++++++++++++++++++ dspace/src/main/config/build.xml | 21 ++++++--- 7 files changed, 118 insertions(+), 95 deletions(-) delete mode 100644 dspace/config/log4j-console.properties delete mode 100644 dspace/config/log4j-solr.properties create mode 100644 dspace/config/log4j2-console.xml create mode 100644 dspace/config/log4j2-solr.xml diff --git a/dspace-solr/src/main/webapp/WEB-INF/web.xml b/dspace-solr/src/main/webapp/WEB-INF/web.xml index 52e02583d4..fd5846a4b4 100644 --- a/dspace-solr/src/main/webapp/WEB-INF/web.xml +++ b/dspace-solr/src/main/webapp/WEB-INF/web.xml @@ -1,6 +1,4 @@ - - + - - + Solr home: configuration, cores etc. solr/home ${dspace.dir}/solr java.lang.String - + - log4jConfiguration - ${dspace.dir}/config/log4j-solr.properties URL locating a Log4J configuration file (properties or XML). + log4jConfiguration + ${dspace.dir}/config/log4j-solr.xml + + org.apache.logging.log4j.web.Log4jServletContextListener + + + + Activate logging + log4jServletFilter + org.apache.logging.log4j.web.Log4jServletFilter + + LocalHostRestrictionFilter @@ -85,6 +88,14 @@ --> + + log4jServletFilter + /* + REQUEST + FORWARD + INCLUDE + ERROR + LocalHostRestrictionFilter diff --git a/dspace/config/dspace.cfg b/dspace/config/dspace.cfg index a36ba73201..d1176f6c37 100644 --- a/dspace/config/dspace.cfg +++ b/dspace/config/dspace.cfg @@ -164,10 +164,10 @@ mail.allowed.referrers = ${dspace.hostname} ##### Logging configuration ##### # Override default log4j configuration file # You may provide your own configuration here, existing alternatives are: -# log.init.config = ${dspace.dir}/config/log4j-console.properties -log.init.config = ${dspace.dir}/config/log4j.properties +# log.init.config = ${dspace.dir}/config/log4j2-console.xml +log.init.config = ${dspace.dir}/config/log4j2.xml -# All other log4j settings moved to config/log4j.properties +# All other log4j settings moved to config/log4j2.xml ##### DOI registration agency credentials ###### # To mint DOIs you have to use a DOI registration agency like DataCite. Several diff --git a/dspace/config/log4j-console.properties b/dspace/config/log4j-console.properties deleted file mode 100644 index 2ec6892f62..0000000000 --- a/dspace/config/log4j-console.properties +++ /dev/null @@ -1,23 +0,0 @@ -############################################################# -# log4j-console.properties -# -# Simple log4j configuration file used during Ant build tasks -# -# Its goal is to simply output logs to the commandline / console. -############################################################# - -# Set root category priority to WARN and its only appender to A1. -# For commandline / ant scripts, we are only concerned about significant warnings/errors -# For the full detail, change this to INFO and re-run Ant. -log4j.rootCategory=WARN, A1 - -# A1 is set to be a ConsoleAppender. -log4j.appender.A1=org.apache.logging.log4j.ConsoleAppender - -# A1 uses PatternLayout. -log4j.appender.A1.layout=org.apache.logging.log4j.PatternLayout -log4j.appender.A1.layout.ConversionPattern=%d %-5p %c @ %m%n - -# block passwords from being exposed in Axis logs. -# (DEBUG exposes passwords in Basic Auth) -log4j.logger.org.apache.axis.handlers.http.HTTPAuthHandler=INFO diff --git a/dspace/config/log4j-solr.properties b/dspace/config/log4j-solr.properties deleted file mode 100644 index a9750333b4..0000000000 --- a/dspace/config/log4j-solr.properties +++ /dev/null @@ -1,44 +0,0 @@ -########################################################################### -# log4j-solr.properties -# -# This is the log4j configuration file for the Solr webapp that comes bundled -# with DSpace. Because Solr is a dependency, its log4j settings are kept -# separate from the default DSpace log4j settings (in log4j.properties). -# -# Therefore, this log4j file is standalone. If you wish to tweak the location of -# your Solr logs, you must do so within this file. -########################################################################### - -# VARIABLES: -# The following variables can be used to easily tweak the default log4j settings. -# These variables are used by the log4j config / appenders later in this file. - -# log.dir -# Default log file directory for DSpace. Defaults to the 'log' subdirectory -# under [dspace.dir]. NOTE: The value of 'dspace.dir' will be replaced by -# its value in your configuration when DSpace is deployed (via Ant). -log.dir=${dspace.dir}/log - -# Logging level for Solr -log4j.rootLogger=INFO, file - -# Console logging options. Switch the above from "file" to "CONSOLE" to enable -log4j.appender.CONSOLE=org.apache.logging.log4j.ConsoleAppender -log4j.appender.CONSOLE.layout=org.apache.logging.log4j.PatternLayout -log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n - -#- size rotation with log cleanup. -log4j.appender.file=org.apache.logging.log4j.DailyRollingFileAppender -# Set this to yyyy-MM-DD for daily log files, or yyyy-MM for monthly files -log4j.appender.file.DatePattern='.'yyyy-MM-dd - -#- File to log to and log format -log4j.appender.file.File=${log.dir}/solr.log -log4j.appender.file.layout=org.apache.logging.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d %-5p %c @ %m%n - -log4j.logger.org.apache.zookeeper=WARN -log4j.logger.org.apache.hadoop=WARN - -# set to INFO to enable infostream log messages -log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF diff --git a/dspace/config/log4j2-console.xml b/dspace/config/log4j2-console.xml new file mode 100644 index 0000000000..db2998f6be --- /dev/null +++ b/dspace/config/log4j2-console.xml @@ -0,0 +1,32 @@ + + + + + + ${log4j:configParentLocation}/../log + + + + + + + + + + + + + + + diff --git a/dspace/config/log4j2-solr.xml b/dspace/config/log4j2-solr.xml new file mode 100644 index 0000000000..1e32365263 --- /dev/null +++ b/dspace/config/log4j2-solr.xml @@ -0,0 +1,40 @@ + + + + + + ${log4j:configParentLocation}/../log + + + + + + + yyyy-MM-dd + + + + + + + + + + + + + + + diff --git a/dspace/src/main/config/build.xml b/dspace/src/main/config/build.xml index ec4782aa5d..81efafd19f 100644 --- a/dspace/src/main/config/build.xml +++ b/dspace/src/main/config/build.xml @@ -781,7 +781,8 @@ Common usage: - + @@ -955,7 +956,8 @@ You may manually install this file by following these steps: - + @@ -1044,7 +1046,8 @@ You may manually install this file by following these steps: Checking if the Solr index at ${indexDir} is >= Solr ${version} - + @@ -1153,8 +1156,10 @@ For more information, please see the Upgrade Instructions. Upgrading the Solr index in ${indexDir}. Depending on the index size, this may take a while (please be patient)... - - + + @@ -1168,8 +1173,10 @@ For more information, please see the Upgrade Instructions. Upgrading the Solr index in ${indexDir}. Depending on the index size, this may take a while (please be patient)... - - + + From 5b66fdf5dbea8a67a611c88390df4c3e765ee0c0 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 5 Nov 2018 10:46:51 -0500 Subject: [PATCH 082/118] [DS-3135] Clean out temporary exclusions; tidy indentation. --- dspace-spring-rest/pom.xml | 41 ++++++++++---------------------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/dspace-spring-rest/pom.xml b/dspace-spring-rest/pom.xml index beeafa440d..3ea878747b 100644 --- a/dspace-spring-rest/pom.xml +++ b/dspace-spring-rest/pom.xml @@ -181,26 +181,6 @@ org.springframework.boot spring-boot-starter-web ${spring-boot.version} - - - - org.slf4j - log4j-over-slf4j - - - org.slf4j - jul-to-slf4j - - - ch.qos.logback - logback-classic - - org.springframework.boot @@ -246,16 +226,17 @@ test - - - org.springframework.data - spring-data-rest-hal-browser - 2.5.7.RELEASE - - - + + + org.springframework.data + spring-data-rest-hal-browser + 2.5.7.RELEASE + + + From 38e1d0a8d48292f9c85ce222258a76d49d92dac0 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 5 Nov 2018 11:12:00 -0500 Subject: [PATCH 083/118] [DS-3135] Set the log4jConfiguration context parameter properly. --- dspace-spring-rest/src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dspace-spring-rest/src/main/resources/application.properties b/dspace-spring-rest/src/main/resources/application.properties index 422d4913c5..1be1f5f50a 100644 --- a/dspace-spring-rest/src/main/resources/application.properties +++ b/dspace-spring-rest/src/main/resources/application.properties @@ -116,4 +116,4 @@ spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSou ######################### # Log4J configuration -server.context-parameters.log4jConfiguration=${dspace.dir}/config/log4j2.xml +server.servlet.context-parameters.log4jConfiguration=${dspace.dir}/config/log4j2.xml From eff018aacea2dce36b3be7faf8e1b705729ef6b9 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 5 Nov 2018 13:04:03 -0500 Subject: [PATCH 084/118] [DS-3135] Squash another unused import for Checkstyle. --- .../src/main/java/org/dspace/authenticate/IPAuthentication.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java index f78cc449be..e18c4eddd7 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java @@ -18,7 +18,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.logging.log4j.Logger; -import org.dspace.core.ConfigurationManager; import org.dspace.core.Context; import org.dspace.core.LogManager; import org.dspace.core.factory.CoreServiceFactory; From e671680ae466f6bd4dc0870aac9b0b58f6c110b1 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 5 Nov 2018 15:01:02 -0500 Subject: [PATCH 085/118] [DS-3135] Let Spring configure Log4J; correct logging config in Ant script. --- .../src/main/resources/application.properties | 2 +- dspace/src/main/config/build.xml | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/dspace-spring-rest/src/main/resources/application.properties b/dspace-spring-rest/src/main/resources/application.properties index 1be1f5f50a..9ab234c642 100644 --- a/dspace-spring-rest/src/main/resources/application.properties +++ b/dspace-spring-rest/src/main/resources/application.properties @@ -116,4 +116,4 @@ spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSou ######################### # Log4J configuration -server.servlet.context-parameters.log4jConfiguration=${dspace.dir}/config/log4j2.xml +logging.config = ${dspace.dir}/config/log4j2.xml diff --git a/dspace/src/main/config/build.xml b/dspace/src/main/config/build.xml index 81efafd19f..ab13191561 100644 --- a/dspace/src/main/config/build.xml +++ b/dspace/src/main/config/build.xml @@ -354,6 +354,7 @@ Common usage: to its log files. In addition, log4j strongly prefers autoconfiguring itself (e.g. see DS-3104). --> + @@ -780,8 +781,11 @@ Common usage: - - + @@ -956,7 +960,7 @@ You may manually install this file by following these steps: - @@ -1046,7 +1050,7 @@ You may manually install this file by following these steps: Checking if the Solr index at ${indexDir} is >= Solr ${version} - @@ -1156,7 +1160,7 @@ For more information, please see the Upgrade Instructions. Upgrading the Solr index in ${indexDir}. Depending on the index size, this may take a while (please be patient)... - @@ -1173,7 +1177,7 @@ For more information, please see the Upgrade Instructions. Upgrading the Solr index in ${indexDir}. Depending on the index size, this may take a while (please be patient)... - From 3929a5d7ac475cb7dd75651992908e2216cd305f Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 5 Nov 2018 19:05:37 -0500 Subject: [PATCH 086/118] [DS-3135] Remove questionable loglevel fiddling; conform to webapp descriptor schema. --- .../src/main/java/org/dspace/eperson/SubscribeCLITool.java | 4 ---- dspace-rest/src/main/webapp/WEB-INF/web.xml | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java index ccfe8fee93..d7174e7d45 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java @@ -314,10 +314,6 @@ public class SubscribeCLITool { boolean test = line.hasOption("t"); - if (test) { - //TODO Replace with log4j2: org.apache.logging.log4j.core.config.Configurator.setLevel(); - } - Context context = null; try { diff --git a/dspace-rest/src/main/webapp/WEB-INF/web.xml b/dspace-rest/src/main/webapp/WEB-INF/web.xml index ba96425824..1b33aac885 100644 --- a/dspace-rest/src/main/webapp/WEB-INF/web.xml +++ b/dspace-rest/src/main/webapp/WEB-INF/web.xml @@ -77,11 +77,11 @@ - log4jConfiguration - ${dspace.dir}/config/log4j2.xml The location of the Log4J configuration + log4jConfiguration + ${dspace.dir}/config/log4j2.xml From 468725346fe1121f7c0567ae68c9e37bd997c59c Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 6 Nov 2018 14:27:46 -0500 Subject: [PATCH 087/118] Remove system property pointing to logging config. Instead just let framework do its default search, which should find the config. on the classpath. --- dspace/bin/dspace | 1 - dspace/bin/dspace.bat | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/dspace/bin/dspace b/dspace/bin/dspace index d7d5ae1a69..8f2990199e 100644 --- a/dspace/bin/dspace +++ b/dspace/bin/dspace @@ -44,5 +44,4 @@ fi # Now invoke Java java $JAVA_OPTS \ -classpath $FULLPATH \ - -Dlog4j.configurationFile=$DSPACEDIR/config/log4j2.xml \ org.dspace.app.launcher.ScriptLauncher "$@" diff --git a/dspace/bin/dspace.bat b/dspace/bin/dspace.bat index 8ad421ff32..66b6382f12 100644 --- a/dspace/bin/dspace.bat +++ b/dspace/bin/dspace.bat @@ -39,7 +39,7 @@ REM Otherwise, default Java to using 256MB of memory if "%JAVA_OPTS%"=="" set "JAVA_OPTS=-Xmx256m -Dfile.encoding=UTF-8" REM Execute Java -java %JAVA_OPTS% -classpath "%DSPACE_CLASSPATH%" -Dlog4j.configurationFile=%DSPACEDIR%/config/log4j2.xml org.dspace.app.launcher.ScriptLauncher %* +java %JAVA_OPTS% -classpath "%DSPACE_CLASSPATH%" org.dspace.app.launcher.ScriptLauncher %* REM Clean up DSPACE_CLASSPATH variable set DSPACE_CLASSPATH= From 18868370de02a2b31f203d8777f011ba6458fd4a Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 6 Nov 2018 14:30:20 -0500 Subject: [PATCH 088/118] [DS-3135] Remove commented-out attempt by logged code to tell logging framework its configuration path. --- .../src/main/java/org/purl/sword/client/ClientFactory.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java index 83d7ed0c11..9687e66663 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java @@ -7,8 +7,6 @@ */ package org.purl.sword.client; -// Replace with log4j 2: import org.apache.logging.log4j.PropertyConfigurator; - /** * Entry point for the SWORD Demonstration Client. This will parse the list of * command line options and load either a Command Line client or a GUI client. @@ -24,8 +22,6 @@ public class ClientFactory { // configure the logger from the property file. The GUI client will // reload these properties if it is set to capture the output and // display it in a panel. - // Replace with log4j 2: PropertyConfigurator.configure(this.getClass() - // .getClassLoader().getResource(ClientConstants.LOGGING_PROPERTY_FILE)); } /** @@ -35,7 +31,7 @@ public class ClientFactory { * @return A list of the options for this program. */ public static String usage() { - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); buffer.append("swordclient: version "); buffer.append(ClientConstants.CLIENT_VERSION); buffer.append("\n"); From 9e1c16990face34507a86ff394133c282b27f82b Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Wed, 7 Nov 2018 14:57:15 -0500 Subject: [PATCH 089/118] [DS-3135] Remove leftover comment (and surrounding empty niladic constructor). --- .../main/java/org/purl/sword/client/ClientFactory.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java index 9687e66663..00bd9c17a5 100644 --- a/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java +++ b/dspace-sword/src/main/java/org/purl/sword/client/ClientFactory.java @@ -14,16 +14,6 @@ package org.purl.sword.client; * @author Neil Taylor */ public class ClientFactory { - - /** - * Create a new instance. - */ - public ClientFactory() { - // configure the logger from the property file. The GUI client will - // reload these properties if it is set to capture the output and - // display it in a panel. - } - /** * Generate a string that specifies the command line options for this * program. From c30e548533a24a8ba616697f352657c5293a1df9 Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Mon, 12 Nov 2018 09:26:18 +0100 Subject: [PATCH 090/118] use only one extraction of the UUID --- .../main/java/org/dspace/app/bulkedit/MetadataImport.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index 2de433fe78..b4cca2829c 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -692,11 +692,12 @@ public class MetadataImport { boolean left = false; List acceptableRelationshipTypes = new LinkedList<>(); String url = handleService.resolveToURL(c, values.get(0)); - if (UUIDUtils.fromString(values.get(0)) == null && StringUtils.isNotBlank(url)) { + UUID uuid = UUIDUtils.fromString(values.get(0)); + if (uuid == null && StringUtils.isNotBlank(url)) { return; } - Entity relationEntity = entityService.findByItemId(c, UUID.fromString(values.get(0))); + Entity relationEntity = entityService.findByItemId(c, uuid); List leftRelationshipTypesForEntity = entityService.getLeftRelationshipTypes(c, entity); From 45afa91d0e094bf7df608ede21fc2b063b9e9941 Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Mon, 12 Nov 2018 09:32:40 +0100 Subject: [PATCH 091/118] Removed setter since it's no longer used --- .../src/main/java/org/dspace/content/Relationship.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/Relationship.java b/dspace-api/src/main/java/org/dspace/content/Relationship.java index e8ebcfa645..a21cfc7628 100644 --- a/dspace-api/src/main/java/org/dspace/content/Relationship.java +++ b/dspace-api/src/main/java/org/dspace/content/Relationship.java @@ -84,14 +84,6 @@ public class Relationship implements ReloadableEntity { return id; } - /** - * Standard setter for the ID field - * @param id The ID to be set - */ - public void setId(Integer id) { - this.id = id; - } - /** * Standard getter for the leftItem field * @return The leftItem Item object in this relationship From f3245e7c88f5515ed08cd39c1893d1264b2bc32f Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Thu, 15 Nov 2018 16:28:14 +0000 Subject: [PATCH 092/118] DS-4078: Bitstreams should keep their formats when being versioned. --- .../src/main/java/org/dspace/content/BitstreamServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index bef2012202..bc076443ed 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -103,6 +103,8 @@ public class BitstreamServiceImpl extends DSpaceObjectServiceImpl imp clonedBitstream.setSizeBytes(bitstream.getSizeBytes()); clonedBitstream.setChecksum(bitstream.getChecksum()); clonedBitstream.setChecksumAlgorithm(bitstream.getChecksumAlgorithm()); + clonedBitstream.setFormat(bitstream.getBitstreamFormat()); + try { //Update our bitstream but turn off the authorization system since permissions //haven't been set at this point in time. From b8d6fa2fba2ebd00be28033d89ede1d75726768d Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Tue, 20 Nov 2018 15:51:41 +0100 Subject: [PATCH 093/118] [Task 57442] Added the MetadataSchemaEnum with DC and RELATION, rewrote methods using relation String --- .../org/dspace/app/bulkedit/DSpaceCSV.java | 3 +- .../dspace/app/bulkedit/MetadataImport.java | 5 ++- .../dspace/content/MetadataSchemaEnum.java | 39 +++++++++++++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 dspace-api/src/main/java/org/dspace/content/MetadataSchemaEnum.java diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java index 0bf17b8d9b..a14f57bf95 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java @@ -35,6 +35,7 @@ import org.dspace.content.Collection; import org.dspace.content.Item; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.authority.Choices; import org.dspace.content.factory.ContentServiceFactory; @@ -199,7 +200,7 @@ public class DSpaceCSV implements Serializable { } // Check that the scheme exists - if (!StringUtils.equals(metadataSchema, "relation")) { + if (!StringUtils.equals(metadataSchema, MetadataSchemaEnum.RELATION.getName())) { MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema); if (foundSchema == null) { throw new MetadataImportInvalidHeadingException(clean[0], diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index b4cca2829c..67390a56a3 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -37,6 +37,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.Entity; import org.dspace.content.EntityType; import org.dspace.content.Item; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.Relationship; import org.dspace.content.RelationshipType; @@ -356,7 +357,7 @@ public class MetadataImport { // Add the metadata to the item List relationships = new LinkedList<>(); for (BulkEditMetadataValue dcv : whatHasChanged.getAdds()) { - if (StringUtils.equals(dcv.getSchema(), "relation")) { + if (StringUtils.equals(dcv.getSchema(), MetadataSchemaEnum.RELATION.getName())) { if (!StringUtils.equals(dcv.getElement(), "type")) { relationships.add(dcv); @@ -637,7 +638,7 @@ public class MetadataImport { } - if (StringUtils.equals(schema, "relation")) { + if (StringUtils.equals(schema, MetadataSchemaEnum.RELATION.getName())) { handleRelationMetadata(c, item, schema, element, qualifier, language, values, authorities, confidences); } else { itemService.clearMetadata(c, item, schema, element, qualifier, language); diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaEnum.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaEnum.java new file mode 100644 index 0000000000..cac4485ec9 --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaEnum.java @@ -0,0 +1,39 @@ +/** + * 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/ + */ +package org.dspace.content; + +/** + * This is an enum that holds track of a few special MetadataSchema types. + * It is important to note that this list is not exhaustive for the MetadataSchema + * types and different MetadataSchema can easily be made. + * These MetadataSchema objects are simply required. + */ +public enum MetadataSchemaEnum { + DC("dc"), RELATION("relation"); + + /** + * The String representation of the MetadataSchemaEnum + */ + private String name; + + /** + * Default constructor with the name parameter + * @param name The name parameter + */ + MetadataSchemaEnum(String name) { + this.name = name; + } + + /** + * Generic getter for the String representation of the enum object + * @return The name of the enum object + */ + public String getName() { + return name; + } +} From 5114f21da8ccd50577a6e0fb62ddb6861cef3c75 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 20 Nov 2018 18:58:41 -0500 Subject: [PATCH 094/118] [DS-4077] Remove old, failing WordFilter; use PoiWordFilter instead. --- .../dspace/app/mediafilter/WordFilter.java | 93 ------------------- dspace/config/dspace.cfg | 4 +- 2 files changed, 1 insertion(+), 96 deletions(-) delete mode 100644 dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java deleted file mode 100644 index d8fa8cc768..0000000000 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/WordFilter.java +++ /dev/null @@ -1,93 +0,0 @@ -/** - * 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/ - */ -package org.dspace.app.mediafilter; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.apache.logging.log4j.Logger; -import org.dspace.content.Item; -import org.textmining.extraction.TextExtractor; -import org.textmining.extraction.word.WordTextExtractorFactory; - -/* - * - * to do: helpful error messages - can't find mediafilter.cfg - can't - * instantiate filter - bitstream format doesn't exist. - * - */ -public class WordFilter extends MediaFilter { - - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(WordFilter.class); - - @Override - public String getFilteredName(String oldFilename) { - return oldFilename + ".txt"; - } - - /** - * @return String bundle name - */ - @Override - public String getBundleName() { - return "TEXT"; - } - - /** - * @return String bitstreamformat - */ - @Override - public String getFormatString() { - return "Text"; - } - - /** - * @return String description - */ - @Override - public String getDescription() { - return "Extracted text"; - } - - /** - * @param currentItem item - * @param source source input stream - * @param verbose verbose mode - * @return InputStream the resulting input stream - * @throws Exception if error - */ - @Override - public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose) - throws Exception { - // get input stream from bitstream - // pass to filter, get string back - try { - WordTextExtractorFactory factory = new WordTextExtractorFactory(); - TextExtractor e = factory.textExtractor(source); - String extractedText = e.getText(); - - // if verbose flag is set, print out extracted text - // to STDOUT - if (verbose) { - System.out.println(extractedText); - } - - // generate an input stream with the extracted text - byte[] textBytes = extractedText.getBytes(); - ByteArrayInputStream bais = new ByteArrayInputStream(textBytes); - - return bais; // will this work? or will the byte array be out of scope? - } catch (IOException ioe) { - System.out.println("Invalid Word Format"); - log.error("Error detected - Word File format not recognized: " - + ioe.getMessage(), ioe); - throw ioe; - } - } -} diff --git a/dspace/config/dspace.cfg b/dspace/config/dspace.cfg index ea764ea95a..4ce7bf00d4 100644 --- a/dspace/config/dspace.cfg +++ b/dspace/config/dspace.cfg @@ -369,8 +369,7 @@ filter.plugins = PDFBox JPEG Thumbnail #Assign 'human-understandable' names to each filter plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.PDFFilter = PDF Text Extractor plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.HTMLFilter = HTML Text Extractor -plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.WordFilter = Word Text Extractor -#plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.PoiWordFilter = Word Text Extractor +plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.PoiWordFilter = Word Text Extractor plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.ExcelFilter = Excel Text Extractor plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.PowerPointFilter = PowerPoint Text Extractor plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.JPEGFilter = JPEG Thumbnail @@ -382,7 +381,6 @@ plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilte #Configure each filter's input format(s) filter.org.dspace.app.mediafilter.PDFFilter.inputFormats = Adobe PDF filter.org.dspace.app.mediafilter.HTMLFilter.inputFormats = HTML, Text -filter.org.dspace.app.mediafilter.WordFilter.inputFormats = Microsoft Word filter.org.dspace.app.mediafilter.PoiWordFilter.inputFormats = Microsoft Word, Microsoft Word XML filter.org.dspace.app.mediafilter.PowerPointFilter.inputFormats = Microsoft Powerpoint, Microsoft Powerpoint XML filter.org.dspace.app.mediafilter.JPEGFilter.inputFormats = BMP, GIF, JPEG, image/png From aeee5971012fab4ec291033cfc96d7aab334e664 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 20 Nov 2018 19:55:02 -0500 Subject: [PATCH 095/118] [DS-4077] Remove traces of tm-extractors. --- LICENSES_THIRD_PARTY | 1 - dspace-api/pom.xml | 4 ---- pom.xml | 6 +----- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/LICENSES_THIRD_PARTY b/LICENSES_THIRD_PARTY index b23938748d..69aa0f74bd 100644 --- a/LICENSES_THIRD_PARTY +++ b/LICENSES_THIRD_PARTY @@ -366,7 +366,6 @@ https://wiki.duraspace.org/display/DSPACE/Code+Contribution+Guidelines * FindBugs-Annotations (com.google.code.findbugs:annotations:3.0.1u2 - http://findbugs.sourceforge.net/) * MaxMind GeoIP Legacy API (com.maxmind.geoip:geoip-api:1.3.0 - https://github.com/maxmind/geoip-api-java) * JHighlight (com.uwyn:jhighlight:1.0 - https://jhighlight.dev.java.net/) - * DSpace TM-Extractors Dependency (org.dspace.dependencies:dspace-tm-extractors:1.0.1 - http://projects.dspace.org/dspace-pom/dspace-tm-extractors) * A Hibernate O/RM Module (org.hibernate:hibernate-core:4.2.21.Final - http://hibernate.org) * A Hibernate O/RM Module (org.hibernate:hibernate-ehcache:4.2.21.Final - http://hibernate.org) * Hibernate Commons Annotations (org.hibernate.common:hibernate-commons-annotations:4.0.2.Final - http://hibernate.org) diff --git a/dspace-api/pom.xml b/dspace-api/pom.xml index 5c698f7e89..16c6e4336b 100644 --- a/dspace-api/pom.xml +++ b/dspace-api/pom.xml @@ -343,10 +343,6 @@ org.dspace mets - - org.dspace.dependencies - dspace-tm-extractors - org.apache.jena apache-jena-libs diff --git a/pom.xml b/pom.xml index b2d1681d40..21bcef9015 100644 --- a/pom.xml +++ b/pom.xml @@ -1147,11 +1147,7 @@ mets 1.5.2 - - org.dspace.dependencies - dspace-tm-extractors - 1.0.1 - + commons-beanutils From b905f69d63b4c1bb52c91d1c13cd13d07f09274c Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Wed, 21 Nov 2018 09:35:11 +0100 Subject: [PATCH 096/118] Refactored the usages of MetadataSchema.DC to use the enum instead --- .../dspace/administer/MetadataImporter.java | 3 +- .../app/itemexport/ItemExportServiceImpl.java | 4 +-- .../app/itemimport/ItemImportServiceImpl.java | 3 +- .../app/itemupdate/MetadataUtilities.java | 3 +- .../app/statistics/ReportGenerator.java | 7 +++-- .../java/org/dspace/app/util/DCInput.java | 4 +-- .../org/dspace/app/util/DCInputsReader.java | 6 ++-- .../java/org/dspace/content/Bitstream.java | 20 ++++++++----- .../dspace/content/BitstreamServiceImpl.java | 4 +-- .../main/java/org/dspace/content/Bundle.java | 5 ++-- .../java/org/dspace/content/Collection.java | 2 +- .../dspace/content/CollectionServiceImpl.java | 10 ++++--- .../java/org/dspace/content/Community.java | 2 +- .../dspace/content/CommunityServiceImpl.java | 15 ++++++---- .../content/DSpaceObjectServiceImpl.java | 20 ++++++------- .../content/InstallItemServiceImpl.java | 25 +++++++++------- .../main/java/org/dspace/content/Item.java | 2 +- .../org/dspace/content/ItemComparator.java | 2 +- .../org/dspace/content/ItemServiceImpl.java | 8 ++--- .../org/dspace/content/MetadataSchema.java | 4 --- .../crosswalk/OAIDCIngestionCrosswalk.java | 5 ++-- .../crosswalk/OREDisseminationCrosswalk.java | 9 +++--- .../content/crosswalk/QDCCrosswalk.java | 3 +- .../SimpleDCDisseminationCrosswalk.java | 4 +-- .../dspace/content/packager/PDFPackager.java | 21 ++++++++----- .../dspace/content/packager/PackageUtils.java | 4 +-- .../dspace/embargo/EmbargoServiceImpl.java | 6 ++-- .../org/dspace/eperson/SubscribeCLITool.java | 4 +-- .../identifier/HandleIdentifierProvider.java | 7 +++-- .../VersionedHandleIdentifierProvider.java | 9 +++--- ...dentifierProviderWithCanonicalHandles.java | 9 +++--- .../conversion/MetadataConverterPlugin.java | 3 +- .../BasicWorkflowServiceImpl.java | 14 ++++----- .../xmlworkflow/XmlWorkflowServiceImpl.java | 10 ++++--- .../AcceptEditRejectAction.java | 4 +-- .../processingaction/FinalEditAction.java | 4 +-- .../processingaction/ReviewAction.java | 4 +-- .../ScoreEvaluationAction.java | 6 ++-- .../SingleUserReviewAction.java | 4 +-- .../org/dspace/content/CollectionTest.java | 12 ++++---- .../org/dspace/content/CommunityTest.java | 30 +++++++++++-------- .../java/org/dspace/content/ItemTest.java | 8 ++--- .../org/dspace/content/MetadataFieldTest.java | 19 ++++++------ .../dspace/content/MetadataSchemaTest.java | 4 +-- .../org/dspace/content/MetadataValueTest.java | 2 +- .../dspace/content/packager/ITDSpaceAIP.java | 24 ++++++++------- .../content/packager/PackageUtilsTest.java | 7 +++-- .../app/rest/builder/CollectionBuilder.java | 4 +-- .../app/rest/builder/CommunityBuilder.java | 4 +-- .../dspace/app/rest/builder/ItemBuilder.java | 11 +++---- .../rest/builder/WorkspaceItemBuilder.java | 10 +++---- 51 files changed, 229 insertions(+), 185 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java b/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java index ac547f1839..aee48f71e8 100644 --- a/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java +++ b/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java @@ -21,6 +21,7 @@ import org.apache.xpath.XPathAPI; import org.dspace.authorize.AuthorizeException; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.NonUniqueMetadataException; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.MetadataFieldService; @@ -248,7 +249,7 @@ public class MetadataImporter { // If the schema is not provided default to DC if (schema == null) { - schema = MetadataSchema.DC_SCHEMA; + schema = MetadataSchemaEnum.DC.getName(); } diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java index 170aa0c620..8f08600042 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java @@ -42,7 +42,7 @@ import org.dspace.content.Community; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataField; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.service.BitstreamService; import org.dspace.content.service.CommunityService; @@ -214,7 +214,7 @@ public class ItemExportServiceImpl implements ItemExportService { protected void writeMetadata(Context c, String schema, Item i, File destDir, boolean migrate) throws Exception { String filename; - if (schema.equals(MetadataSchema.DC_SCHEMA)) { + if (schema.equals(MetadataSchemaEnum.DC.getName())) { filename = "dublin_core.xml"; } else { filename = "metadata_" + schema + ".xml"; diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index 829594f448..1e209f030c 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -74,6 +74,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.WorkspaceItem; import org.dspace.content.service.BitstreamFormatService; import org.dspace.content.service.BitstreamService; @@ -677,7 +678,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea Node schemaAttr = metadata.item(0).getAttributes().getNamedItem( "schema"); if (schemaAttr == null) { - schema = MetadataSchema.DC_SCHEMA; + schema = MetadataSchemaEnum.DC.getName(); } else { schema = schemaAttr.getNodeValue(); } diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java index 82ed5f75a0..362c14d782 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/MetadataUtilities.java @@ -34,6 +34,7 @@ import org.dspace.authorize.AuthorizeException; import org.dspace.content.Item; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -189,7 +190,7 @@ public class MetadataUtilities { NodeList metadata = XPathAPI.selectNodeList(document, "/dublin_core"); Node schemaAttr = metadata.item(0).getAttributes().getNamedItem("schema"); if (schemaAttr == null) { - schema = MetadataSchema.DC_SCHEMA; + schema = MetadataSchemaEnum.DC.getName(); } else { schema = schemaAttr.getNodeValue(); } diff --git a/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java b/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java index 8c38cc842d..7e9b438547 100644 --- a/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java +++ b/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java @@ -28,7 +28,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -763,9 +763,10 @@ public class ReportGenerator { // build the referece // FIXME: here we have blurred the line between content and presentation // and it should probably be un-blurred - List title = itemService.getMetadata(item, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + List title = itemService.getMetadata(item, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY); List author = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "contributor", "author", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "contributor", "author", Item.ANY); StringBuffer authors = new StringBuffer(); if (author.size() > 0) { diff --git a/dspace-api/src/main/java/org/dspace/app/util/DCInput.java b/dspace-api/src/main/java/org/dspace/app/util/DCInput.java index 5564b66806..4e884ea112 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DCInput.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DCInput.java @@ -14,7 +14,7 @@ import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import org.apache.commons.lang.StringUtils; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.core.Utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -160,7 +160,7 @@ public class DCInput { // Default the schema to dublin core dcSchema = fieldMap.get("dc-schema"); if (dcSchema == null) { - dcSchema = MetadataSchema.DC_SCHEMA; + dcSchema = MetadataSchemaEnum.DC.getName(); } //check if the input have a language tag diff --git a/dspace-api/src/main/java/org/dspace/app/util/DCInputsReader.java b/dspace-api/src/main/java/org/dspace/app/util/DCInputsReader.java index b473e602b8..736458116e 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DCInputsReader.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DCInputsReader.java @@ -21,7 +21,7 @@ import javax.xml.parsers.FactoryConfigurationError; import org.apache.commons.lang3.StringUtils; import org.dspace.content.Collection; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.core.Utils; import org.dspace.services.factory.DSpaceServicesFactory; import org.w3c.dom.Document; @@ -464,7 +464,7 @@ public class DCInputsReader { String elem = field.get("dc-element"); String qual = field.get("dc-qualifier"); if ((schema == null) || (schema.equals(""))) { - schema = MetadataSchema.DC_SCHEMA; + schema = MetadataSchemaEnum.DC.getName(); } String schemaTest; @@ -474,7 +474,7 @@ public class DCInputsReader { Map fld = pg.get(j); if ((fld.get("dc-schema") == null) || ((fld.get("dc-schema")).equals(""))) { - schemaTest = MetadataSchema.DC_SCHEMA; + schemaTest = MetadataSchemaEnum.DC.getName(); } else { schemaTest = fld.get("dc-schema"); } diff --git a/dspace-api/src/main/java/org/dspace/content/Bitstream.java b/dspace-api/src/main/java/org/dspace/content/Bitstream.java index 3be9b1feb1..cc4ecd139e 100644 --- a/dspace-api/src/main/java/org/dspace/content/Bitstream.java +++ b/dspace-api/src/main/java/org/dspace/content/Bitstream.java @@ -122,7 +122,8 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport */ @Override public String getName() { - return getBitstreamService().getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + return getBitstreamService().getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY); } /** @@ -133,7 +134,8 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport * @throws SQLException if database error */ public void setName(Context context, String n) throws SQLException { - getBitstreamService().setMetadataSingleValue(context, this, MetadataSchema.DC_SCHEMA, "title", null, null, n); + getBitstreamService().setMetadataSingleValue(context, this, MetadataSchemaEnum.DC.getName(), + "title", null, null, n); } /** @@ -144,7 +146,8 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport * @return the source of the bitstream */ public String getSource() { - return getBitstreamService().getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "source", null, Item.ANY); + return getBitstreamService().getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), + "source", null, Item.ANY); } /** @@ -155,7 +158,8 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport * @throws SQLException if database error */ public void setSource(Context context, String n) throws SQLException { - getBitstreamService().setMetadataSingleValue(context, this, MetadataSchema.DC_SCHEMA, "source", null, null, n); + getBitstreamService().setMetadataSingleValue(context, this, MetadataSchemaEnum.DC.getName(), + "source", null, null, n); } /** @@ -166,7 +170,8 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport */ public String getDescription() { return getBitstreamService() - .getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "description", null, Item.ANY); + .getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), "description", + null, Item.ANY); } /** @@ -178,7 +183,7 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport */ public void setDescription(Context context, String n) throws SQLException { getBitstreamService() - .setMetadataSingleValue(context, this, MetadataSchema.DC_SCHEMA, "description", null, null, n); + .setMetadataSingleValue(context, this, MetadataSchemaEnum.DC.getName(), "description", null, null, n); } /** @@ -227,7 +232,8 @@ public class Bitstream extends DSpaceObject implements DSpaceObjectLegacySupport * @return the user's format description. */ public String getUserFormatDescription() { - return getBitstreamService().getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "format", null, Item.ANY); + return getBitstreamService().getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), + "format", null, Item.ANY); } protected BitstreamFormat getBitstreamFormat() { diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index e5e7cc57e4..461f5078b3 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -203,7 +203,7 @@ public class BitstreamServiceImpl extends DSpaceObjectServiceImpl imp @Override public void setUserFormatDescription(Context context, Bitstream bitstream, String desc) throws SQLException { setFormat(context, bitstream, null); - setMetadataSingleValue(context, bitstream, MetadataSchema.DC_SCHEMA, "format", null, null, desc); + setMetadataSingleValue(context, bitstream, MetadataSchemaEnum.DC.getName(), "format", null, null, desc); } @Override @@ -233,7 +233,7 @@ public class BitstreamServiceImpl extends DSpaceObjectServiceImpl imp } // Remove user type description - clearMetadata(context, bitstream, MetadataSchema.DC_SCHEMA, "format", null, Item.ANY); + clearMetadata(context, bitstream, MetadataSchemaEnum.DC.getName(), "format", null, Item.ANY); // Update the ID in the table row bitstream.setFormat(bitstreamFormat); diff --git a/dspace-api/src/main/java/org/dspace/content/Bundle.java b/dspace-api/src/main/java/org/dspace/content/Bundle.java index 5fe7100d4f..88f21c2c2f 100644 --- a/dspace-api/src/main/java/org/dspace/content/Bundle.java +++ b/dspace-api/src/main/java/org/dspace/content/Bundle.java @@ -88,7 +88,7 @@ public class Bundle extends DSpaceObject implements DSpaceObjectLegacySupport { */ @Override public String getName() { - return getBundleService().getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + return getBundleService().getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); } /** @@ -100,7 +100,8 @@ public class Bundle extends DSpaceObject implements DSpaceObjectLegacySupport { * @throws SQLException if database error */ public void setName(Context context, String name) throws SQLException { - getBundleService().setMetadataSingleValue(context, this, MetadataSchema.DC_SCHEMA, "title", null, null, name); + getBundleService().setMetadataSingleValue(context, this, MetadataSchemaEnum.DC.getName(), + "title", null, null, name); } /** diff --git a/dspace-api/src/main/java/org/dspace/content/Collection.java b/dspace-api/src/main/java/org/dspace/content/Collection.java index 249c5a19a2..e8431dca1c 100644 --- a/dspace-api/src/main/java/org/dspace/content/Collection.java +++ b/dspace-api/src/main/java/org/dspace/content/Collection.java @@ -134,7 +134,7 @@ public class Collection extends DSpaceObject implements DSpaceObjectLegacySuppor @Override public String getName() { String value = getCollectionService() - .getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + .getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); return value == null ? "" : value; } diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index bd7034856f..31abfffa48 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -143,10 +143,11 @@ public class CollectionServiceImpl extends DSpaceObjectServiceImpl i @Override public List findAll(Context context) throws SQLException { - MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null); + MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + "title", null); if (nameField == null) { throw new IllegalArgumentException( - "Required metadata field '" + MetadataSchema.DC_SCHEMA + ".title' doesn't exist!"); + "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } return collectionDAO.findAll(context, nameField); @@ -154,10 +155,11 @@ public class CollectionServiceImpl extends DSpaceObjectServiceImpl i @Override public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null); + MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + "title", null); if (nameField == null) { throw new IllegalArgumentException( - "Required metadata field '" + MetadataSchema.DC_SCHEMA + ".title' doesn't exist!"); + "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } return collectionDAO.findAll(context, nameField, limit, offset); diff --git a/dspace-api/src/main/java/org/dspace/content/Community.java b/dspace-api/src/main/java/org/dspace/content/Community.java index 448e86e039..5bcf623b61 100644 --- a/dspace-api/src/main/java/org/dspace/content/Community.java +++ b/dspace-api/src/main/java/org/dspace/content/Community.java @@ -254,7 +254,7 @@ public class Community extends DSpaceObject implements DSpaceObjectLegacySupport @Override public String getName() { String value = getCommunityService() - .getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + .getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); return value == null ? "" : value; } diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index 667b0268b1..996f79479b 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -139,10 +139,11 @@ public class CommunityServiceImpl extends DSpaceObjectServiceImpl imp @Override public List findAll(Context context) throws SQLException { - MetadataField sortField = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null); + MetadataField sortField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + "title", null); if (sortField == null) { throw new IllegalArgumentException( - "Required metadata field '" + MetadataSchema.DC_SCHEMA + ".title' doesn't exist!"); + "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } return communityDAO.findAll(context, sortField); @@ -150,10 +151,11 @@ public class CommunityServiceImpl extends DSpaceObjectServiceImpl imp @Override public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null); + MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + "title", null); if (nameField == null) { throw new IllegalArgumentException( - "Required metadata field '" + MetadataSchema.DC_SCHEMA + ".title' doesn't exist!"); + "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } return communityDAO.findAll(context, nameField, limit, offset); @@ -162,10 +164,11 @@ public class CommunityServiceImpl extends DSpaceObjectServiceImpl imp @Override public List findAllTop(Context context) throws SQLException { // get all communities that are not children - MetadataField sortField = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null); + MetadataField sortField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + "title", null); if (sortField == null) { throw new IllegalArgumentException( - "Required metadata field '" + MetadataSchema.DC_SCHEMA + ".title' doesn't exist!"); + "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } return communityDAO.findAllNoParent(context, sortField); diff --git a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java index 014d32f44a..b50d513ba4 100644 --- a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java @@ -67,7 +67,7 @@ public abstract class DSpaceObjectServiceImpl implements @Override public String getName(T dso) { - String value = getMetadataFirstValue(dso, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + String value = getMetadataFirstValue(dso, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); return value == null ? "" : value; } @@ -578,23 +578,23 @@ public abstract class DSpaceObjectServiceImpl implements protected String[] getMDValueByLegacyField(String field) { switch (field) { case "introductory_text": - return new String[] {MetadataSchema.DC_SCHEMA, "description", null}; + return new String[] {MetadataSchemaEnum.DC.getName(), "description", null}; case "short_description": - return new String[] {MetadataSchema.DC_SCHEMA, "description", "abstract"}; + return new String[] {MetadataSchemaEnum.DC.getName(), "description", "abstract"}; case "side_bar_text": - return new String[] {MetadataSchema.DC_SCHEMA, "description", "tableofcontents"}; + return new String[] {MetadataSchemaEnum.DC.getName(), "description", "tableofcontents"}; case "copyright_text": - return new String[] {MetadataSchema.DC_SCHEMA, "rights", null}; + return new String[] {MetadataSchemaEnum.DC.getName(), "rights", null}; case "name": - return new String[] {MetadataSchema.DC_SCHEMA, "title", null}; + return new String[] {MetadataSchemaEnum.DC.getName(), "title", null}; case "provenance_description": - return new String[] {MetadataSchema.DC_SCHEMA, "provenance", null}; + return new String[] {MetadataSchemaEnum.DC.getName(), "provenance", null}; case "license": - return new String[] {MetadataSchema.DC_SCHEMA, "rights", "license"}; + return new String[] {MetadataSchemaEnum.DC.getName(), "rights", "license"}; case "user_format_description": - return new String[] {MetadataSchema.DC_SCHEMA, "format", null}; + return new String[] {MetadataSchemaEnum.DC.getName(), "format", null}; case "source": - return new String[] {MetadataSchema.DC_SCHEMA, "source", null}; + return new String[] {MetadataSchemaEnum.DC.getName(), "source", null}; case "firstname": return new String[] {"eperson", "firstname", null}; case "lastname": diff --git a/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java index 59298e4c31..11cd4c107c 100644 --- a/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java @@ -104,9 +104,10 @@ public class InstallItemServiceImpl implements InstallItemService { // If the item doesn't have a date.accessioned, set it to today List dateAccessioned = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "date", "accessioned", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "date", "accessioned", Item.ANY); if (dateAccessioned.isEmpty()) { - itemService.addMetadata(c, item, MetadataSchema.DC_SCHEMA, "date", "accessioned", null, now.toString()); + itemService.addMetadata(c, item, MetadataSchemaEnum.DC.getName(), + "date", "accessioned", null, now.toString()); } // If issue date is set as "today" (literal string), then set it to current date @@ -114,8 +115,8 @@ public class InstallItemServiceImpl implements InstallItemService { // replacing "today" with today's date. // NOTE: As of DSpace 4.0, DSpace no longer sets an issue date by default List currentDateIssued = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "date", "issued", Item.ANY); - itemService.clearMetadata(c, item, MetadataSchema.DC_SCHEMA, "date", "issued", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "date", "issued", Item.ANY); + itemService.clearMetadata(c, item, MetadataSchemaEnum.DC.getName(), "date", "issued", Item.ANY); for (MetadataValue dcv : currentDateIssued) { if (dcv.getValue() != null && dcv.getValue().equalsIgnoreCase("today")) { DCDate issued = new DCDate(now.getYear(), now.getMonth(), now.getDay(), -1, -1, -1); @@ -127,7 +128,8 @@ public class InstallItemServiceImpl implements InstallItemService { // Record that the item was restored String provDescription = "Restored into DSpace on " + now + " (GMT)."; - itemService.addMetadata(c, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provDescription); + itemService.addMetadata(c, item, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provDescription); return finishItem(c, item, is); } @@ -137,14 +139,16 @@ public class InstallItemServiceImpl implements InstallItemService { throws SQLException, AuthorizeException { // create accession date DCDate now = DCDate.getCurrent(); - itemService.addMetadata(c, item, MetadataSchema.DC_SCHEMA, "date", "accessioned", null, now.toString()); + itemService.addMetadata(c, item, MetadataSchemaEnum.DC.getName(), + "date", "accessioned", null, now.toString()); // add date available if not under embargo, otherwise it will // be set when the embargo is lifted. // this will flush out fatal embargo metadata // problems before we set inArchive. if (embargoService.getEmbargoTermsAsDate(c, item) == null) { - itemService.addMetadata(c, item, MetadataSchema.DC_SCHEMA, "date", "available", null, now.toString()); + itemService.addMetadata(c, item, MetadataSchemaEnum.DC.getName(), + "date", "available", null, now.toString()); } // If issue date is set as "today" (literal string), then set it to current date @@ -152,8 +156,8 @@ public class InstallItemServiceImpl implements InstallItemService { // replacing "today" with today's date. // NOTE: As of DSpace 4.0, DSpace no longer sets an issue date by default List currentDateIssued = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "date", "issued", Item.ANY); - itemService.clearMetadata(c, item, MetadataSchema.DC_SCHEMA, "date", "issued", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "date", "issued", Item.ANY); + itemService.clearMetadata(c, item, MetadataSchemaEnum.DC.getName(), "date", "issued", Item.ANY); for (MetadataValue dcv : currentDateIssued) { if (dcv.getValue() != null && dcv.getValue().equalsIgnoreCase("today")) { DCDate issued = new DCDate(now.getYear(), now.getMonth(), now.getDay(), -1, -1, -1); @@ -178,7 +182,8 @@ public class InstallItemServiceImpl implements InstallItemService { } // Add provenance description - itemService.addMetadata(c, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provDescription); + itemService.addMetadata(c, item, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provDescription); } /** diff --git a/dspace-api/src/main/java/org/dspace/content/Item.java b/dspace-api/src/main/java/org/dspace/content/Item.java index cfe86147f8..fdcffcb4c1 100644 --- a/dspace-api/src/main/java/org/dspace/content/Item.java +++ b/dspace-api/src/main/java/org/dspace/content/Item.java @@ -352,7 +352,7 @@ public class Item extends DSpaceObject implements DSpaceObjectLegacySupport { @Override public String getName() { - return getItemService().getMetadataFirstValue(this, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + return getItemService().getMetadataFirstValue(this, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/ItemComparator.java b/dspace-api/src/main/java/org/dspace/content/ItemComparator.java index 27e869d40b..5598550067 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemComparator.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemComparator.java @@ -174,7 +174,7 @@ public class ItemComparator implements Comparator, Serializable { protected String getValue(Item item) { // The overall array and each element are guaranteed non-null List dcvalues = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, element, qualifier, language); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), element, qualifier, language); if (dcvalues.isEmpty()) { return null; diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 9bed048031..eb1a84329b 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -229,10 +229,10 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl implements It throws SQLException { MetadataField metadataField = metadataFieldService - .findByElement(context, MetadataSchema.DC_SCHEMA, "date", "accessioned"); + .findByElement(context, MetadataSchemaEnum.DC.getName(), "date", "accessioned"); if (metadataField == null) { throw new IllegalArgumentException( - "Required metadata field '" + MetadataSchema.DC_SCHEMA + ".date.accessioned' doesn't exist!"); + "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".date.accessioned' doesn't exist!"); } return itemDAO.findBySubmitter(context, eperson, metadataField, limit); @@ -553,7 +553,7 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl implements It prov.append(installItemService.getBitstreamProvenanceMessage(context, item)); - addMetadata(context, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", prov.toString()); + addMetadata(context, item, MetadataSchemaEnum.DC.getName(), "description", "provenance", "en", prov.toString()); // Update item in DB update(context, item); @@ -608,7 +608,7 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl implements It // bitstream checksums prov.append(installItemService.getBitstreamProvenanceMessage(context, item)); - addMetadata(context, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", prov.toString()); + addMetadata(context, item, MetadataSchemaEnum.DC.getName(), "description", "provenance", "en", prov.toString()); // Update item in DB update(context, item); diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchema.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchema.java index 511cda3f7b..96bef0fa2c 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataSchema.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchema.java @@ -39,10 +39,6 @@ import org.hibernate.proxy.HibernateProxyHelper; @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Table(name = "metadataschemaregistry") public class MetadataSchema implements ReloadableEntity { - /** - * Short Name of built-in Dublin Core schema. - */ - public static final String DC_SCHEMA = "dc"; @Id @Column(name = "metadata_schema_id") diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/OAIDCIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/OAIDCIngestionCrosswalk.java index 98b4df7d8c..10bd5ce6fa 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/OAIDCIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/OAIDCIngestionCrosswalk.java @@ -15,7 +15,7 @@ import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataField; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; import org.dspace.core.Constants; @@ -67,7 +67,8 @@ public class OAIDCIngestionCrosswalk lang = element.getAttributeValue("lang"); } MetadataField metadataField = metadataValidator - .checkMetadata(context, MetadataSchema.DC_SCHEMA, element.getName(), null, createMissingMetadataFields); + .checkMetadata(context, MetadataSchemaEnum.DC.getName(), + element.getName(), null, createMissingMetadataFields); itemService.addMetadata(context, item, metadataField, lang, element.getText()); } diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java index aad95da99a..3508f6793d 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREDisseminationCrosswalk.java @@ -22,7 +22,7 @@ import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -122,7 +122,7 @@ public class OREDisseminationCrosswalk Element aggLink; List uris = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "identifier", "uri", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "identifier", "uri", Item.ANY); for (MetadataValue uri : uris) { aggLink = new Element("link", ATOM_NS); aggLink.setAttribute("rel", "alternate"); @@ -159,7 +159,8 @@ public class OREDisseminationCrosswalk // Information about the aggregation (item) itself Element aggTitle = new Element("title", ATOM_NS); - List titles = itemService.getMetadata(item, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + List titles = itemService.getMetadata(item, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY); if (titles != null && titles.size() > 0) { aggTitle.addContent(titles.get(0).getValue()); } else { @@ -170,7 +171,7 @@ public class OREDisseminationCrosswalk Element aggAuthor; Element aggAuthorName; List authors = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "contributor", "author", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "contributor", "author", Item.ANY); for (MetadataValue author : authors) { aggAuthor = new Element("author", ATOM_NS); aggAuthorName = new Element("name", ATOM_NS); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java index a20699bf1a..9a3035a279 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/QDCCrosswalk.java @@ -26,6 +26,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -353,7 +354,7 @@ public class QDCCrosswalk extends SelfNamedPlugin // only complain about missing elements in the DC schema: if (elt == null) { - if (metadataField.getMetadataSchema().getName().equals(MetadataSchema.DC_SCHEMA)) { + if (metadataField.getMetadataSchema().getName().equals(MetadataSchemaEnum.DC.getName())) { log.warn("WARNING: " + myName + ": No QDC mapping for \"" + qdc + "\""); } } else { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java index 789fa9d6fb..b7c43bf37a 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/SimpleDCDisseminationCrosswalk.java @@ -17,7 +17,7 @@ import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataField; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -101,7 +101,7 @@ public class SimpleDCDisseminationCrosswalk extends SelfNamedPlugin Item item = (Item) dso; List allDC = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, Item.ANY, Item.ANY, Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), Item.ANY, Item.ANY, Item.ANY); List dcl = new ArrayList(allDC.size()); diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java index 0b26cc867b..868d6f63bf 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java @@ -33,7 +33,7 @@ import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.WorkspaceItem; import org.dspace.content.crosswalk.CrosswalkException; import org.dspace.content.crosswalk.MetadataValidationException; @@ -377,10 +377,11 @@ public class PDFPackager if (log.isDebugEnabled()) { log.debug("PDF Info dict title=\"" + title + "\""); } - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "title", null, "en", title); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), "title", null, "en", title); String value = docinfo.getAuthor(); if (value != null) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "contributor", "author", null, value); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "contributor", "author", null, value); if (log.isDebugEnabled()) { log.debug("PDF Info dict author=\"" + value + "\""); } @@ -388,25 +389,29 @@ public class PDFPackager value = docinfo.getCreator(); if (value != null) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", "Application that created the original document: " + value); } value = docinfo.getProducer(); if (value != null) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", "Original document converted to PDF by: " + value); } value = docinfo.getSubject(); if (value != null) { itemService - .addMetadata(context, item, MetadataSchema.DC_SCHEMA, "description", "abstract", null, value); + .addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "description", "abstract", null, value); } value = docinfo.getKeywords(); if (value != null) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "subject", "other", null, value); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "subject", "other", null, value); } // Take either CreationDate or ModDate as "date.created", @@ -417,7 +422,7 @@ public class PDFPackager } if (calValue != null) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "date", "created", null, + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), "date", "created", null, (new DCDate(calValue.getTime())).toString()); } itemService.update(context, item); diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java index 045f7963d0..eab36aefed 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java @@ -30,7 +30,7 @@ import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.WorkspaceItem; import org.dspace.content.factory.ContentServiceFactory; @@ -158,7 +158,7 @@ public class PackageUtils { */ public static void checkItemMetadata(Item item) throws PackageValidationException { - List t = itemService.getMetadata(item, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + List t = itemService.getMetadata(item, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); if (t == null || t.size() == 0) { throw new PackageValidationException("Item cannot be created without the required \"title\" DC metadata."); } diff --git a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java index 68efce46e1..d76ad8be0e 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java @@ -17,7 +17,7 @@ import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DCDate; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.service.ItemService; import org.dspace.core.Context; @@ -153,8 +153,8 @@ public class EmbargoServiceImpl implements EmbargoService { itemService.clearMetadata(context, item, lift_schema, lift_element, lift_qualifier, Item.ANY); // set the dc.date.available value to right now - itemService.clearMetadata(context, item, MetadataSchema.DC_SCHEMA, "date", "available", Item.ANY); - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "date", "available", null, + itemService.clearMetadata(context, item, MetadataSchemaEnum.DC.getName(), "date", "available", Item.ANY); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), "date", "available", null, DCDate.getCurrent().toString()); log.info("Lifting embargo on Item " + item.getHandle()); diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java index 1cdefcbbdd..3d446c8d1b 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeCLITool.java @@ -31,7 +31,7 @@ import org.apache.log4j.Logger; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.ItemService; @@ -229,7 +229,7 @@ public class SubscribeCLITool { } List authors = itemService - .getMetadata(hii.item, MetadataSchema.DC_SCHEMA, "contributor", Item.ANY, Item.ANY); + .getMetadata(hii.item, MetadataSchemaEnum.DC.getName(), "contributor", Item.ANY, Item.ANY); if (authors.size() > 0) { emailText.append("\n ").append(labels.getString("org.dspace.eperson.Subscribe.authors")) diff --git a/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java index a91e6d06cd..d4e0482517 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java @@ -15,7 +15,7 @@ import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.service.ItemService; import org.dspace.core.ConfigurationManager; @@ -228,14 +228,15 @@ public class HandleIdentifierProvider extends IdentifierProvider { // First check that identifier doesn't already exist. boolean identifierExists = false; List identifiers = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "identifier", "uri", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "identifier", "uri", Item.ANY); for (MetadataValue identifier : identifiers) { if (handleref.equals(identifier.getValue())) { identifierExists = true; } } if (!identifierExists) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "identifier", "uri", null, handleref); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "identifier", "uri", null, handleref); } } } diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java index da7f1d7882..9d936e7893 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java @@ -19,7 +19,7 @@ import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.service.ItemService; import org.dspace.core.ConfigurationManager; @@ -417,9 +417,9 @@ public class VersionedHandleIdentifierProvider extends IdentifierProvider { // load all identifiers, clear the metadata field, re add all // identifiers which are not from type handle and add the new handle. List identifiers = itemService.getMetadata(item, - MetadataSchema.DC_SCHEMA, "identifier", "uri", + MetadataSchemaEnum.DC.getName(), "identifier", "uri", Item.ANY); - itemService.clearMetadata(context, item, MetadataSchema.DC_SCHEMA, + itemService.clearMetadata(context, item, MetadataSchemaEnum.DC.getName(), "identifier", "uri", Item.ANY); for (MetadataValue identifier : identifiers) { if (this.supports(identifier.getValue())) { @@ -439,7 +439,8 @@ public class VersionedHandleIdentifierProvider extends IdentifierProvider { // Add handle as identifier.uri DC value. if (StringUtils.isNotBlank(handleref)) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "identifier", "uri", null, handleref); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "identifier", "uri", null, handleref); } itemService.update(context, item); } diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java index 72cbf7d4e7..7a51f301f3 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java @@ -17,7 +17,7 @@ import org.apache.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.service.ItemService; import org.dspace.core.ConfigurationManager; @@ -492,8 +492,8 @@ public class VersionedHandleIdentifierProviderWithCanonicalHandles extends Ident // identifiers which are not from type handle and add the new handle. String handleref = handleService.getCanonicalForm(handle); List identifiers = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "identifier", "uri", Item.ANY); - itemService.clearMetadata(context, item, MetadataSchema.DC_SCHEMA, "identifier", "uri", Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "identifier", "uri", Item.ANY); + itemService.clearMetadata(context, item, MetadataSchemaEnum.DC.getName(), "identifier", "uri", Item.ANY); for (MetadataValue identifier : identifiers) { if (this.supports(identifier.getValue())) { // ignore handles @@ -508,7 +508,8 @@ public class VersionedHandleIdentifierProviderWithCanonicalHandles extends Ident identifier.getConfidence()); } if (!StringUtils.isEmpty(handleref)) { - itemService.addMetadata(context, item, MetadataSchema.DC_SCHEMA, "identifier", "uri", null, handleref); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "identifier", "uri", null, handleref); } itemService.update(context, item); } diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java index 5dcd8c2e4a..aad4a5c444 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/MetadataConverterPlugin.java @@ -33,6 +33,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.DSpaceObjectService; @@ -133,7 +134,7 @@ public class MetadataConverterPlugin implements ConverterPlugin { } List metadata_values = dsoService - .getMetadata(dso, MetadataSchema.DC_SCHEMA, Item.ANY, Item.ANY, Item.ANY); + .getMetadata(dso, MetadataSchemaEnum.DC.getName(), Item.ANY, Item.ANY, Item.ANY); for (MetadataValue value : metadata_values) { MetadataField metadataField = value.getMetadataField(); MetadataSchema metadataSchema = metadataField.getMetadataSchema(); diff --git a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java index c20de75ff8..7a2b3f2f30 100644 --- a/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/workflowbasic/BasicWorkflowServiceImpl.java @@ -31,7 +31,7 @@ import org.dspace.content.Bundle; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.WorkspaceItem; import org.dspace.content.service.CollectionService; import org.dspace.content.service.InstallItemService; @@ -910,8 +910,8 @@ public class BasicWorkflowServiceImpl implements BasicWorkflowService { + rejection_message + " on " + now + " (GMT) "; // Add to item as a DC field - itemService - .addMetadata(context, myitem, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provDescription); + itemService.addMetadata(context, myitem, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provDescription); itemService.update(context, myitem); // convert into personal workspace @@ -1135,8 +1135,8 @@ public class BasicWorkflowServiceImpl implements BasicWorkflowService { provDescription += installItemService.getBitstreamProvenanceMessage(context, item); // Add to item as a DC field - itemService - .addMetadata(context, item, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provDescription); + itemService.addMetadata(context, item, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provDescription); itemService.update(context, item); } @@ -1163,8 +1163,8 @@ public class BasicWorkflowServiceImpl implements BasicWorkflowService { provmessage += installItemService.getBitstreamProvenanceMessage(context, myitem); // Add message to the DC - itemService - .addMetadata(context, myitem, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provmessage); + itemService.addMetadata(context, myitem, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provmessage); itemService.update(context, myitem); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index a6cbf73007..e13540e47e 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -31,7 +31,7 @@ import org.dspace.content.Bundle; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.content.WorkspaceItem; import org.dspace.content.service.InstallItemService; @@ -573,7 +573,7 @@ public class XmlWorkflowServiceImpl implements XmlWorkflowService { // Get title List titles = itemService - .getMetadata(item, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); + .getMetadata(item, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); String title = ""; try { title = I18nUtil.getMessage("org.dspace.workflow.WorkflowManager.untitled"); @@ -874,7 +874,8 @@ public class XmlWorkflowServiceImpl implements XmlWorkflowService { // Add to item as a DC field itemService - .addMetadata(context, myitem, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provDescription); + .addMetadata(context, myitem, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provDescription); //Clear any workflow schema related metadata itemService @@ -1002,7 +1003,8 @@ public class XmlWorkflowServiceImpl implements XmlWorkflowService { // Add message to the DC itemService - .addMetadata(context, myitem, MetadataSchema.DC_SCHEMA, "description", "provenance", "en", provmessage); + .addMetadata(context, myitem, MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provmessage); itemService.update(context, myitem); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/AcceptEditRejectAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/AcceptEditRejectAction.java index 072e2289d7..b83cfae00e 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/AcceptEditRejectAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/AcceptEditRejectAction.java @@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletRequest; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DCDate; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.core.Context; import org.dspace.xmlworkflow.factory.XmlWorkflowServiceFactory; import org.dspace.xmlworkflow.state.Step; @@ -112,7 +112,7 @@ public class AcceptEditRejectAction extends ProcessingAction { + usersName + " on " + now + " (GMT) "; // Add to item as a DC field - itemService.addMetadata(c, wfi.getItem(), MetadataSchema.DC_SCHEMA, "description", "provenance", "en", + itemService.addMetadata(c, wfi.getItem(), MetadataSchemaEnum.DC.getName(), "description", "provenance", "en", provDescription); itemService.update(c, wfi.getItem()); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/FinalEditAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/FinalEditAction.java index 2b05f3d0d1..50686f3993 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/FinalEditAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/FinalEditAction.java @@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DCDate; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.core.Context; import org.dspace.xmlworkflow.factory.XmlWorkflowServiceFactory; import org.dspace.xmlworkflow.state.Step; @@ -68,7 +68,7 @@ public class FinalEditAction extends ProcessingAction { + usersName + " on " + now + " (GMT) "; // Add to item as a DC field - itemService.addMetadata(c, wfi.getItem(), MetadataSchema.DC_SCHEMA, "description", "provenance", "en", + itemService.addMetadata(c, wfi.getItem(), MetadataSchemaEnum.DC.getName(), "description", "provenance", "en", provDescription); itemService.update(c, wfi.getItem()); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ReviewAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ReviewAction.java index 1db060d39d..50ca0c0e6c 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ReviewAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ReviewAction.java @@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletRequest; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DCDate; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.core.Context; import org.dspace.xmlworkflow.factory.XmlWorkflowServiceFactory; import org.dspace.xmlworkflow.state.Step; @@ -85,7 +85,7 @@ public class ReviewAction extends ProcessingAction { + usersName + " on " + now + " (GMT) "; // Add to item as a DC field - itemService.addMetadata(c, wfi.getItem(), MetadataSchema.DC_SCHEMA, "description", "provenance", "en", + itemService.addMetadata(c, wfi.getItem(), MetadataSchemaEnum.DC.getName(), "description", "provenance", "en", provDescription); itemService.update(c, wfi.getItem()); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ScoreEvaluationAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ScoreEvaluationAction.java index 97f26eb3c7..df06c6b0de 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ScoreEvaluationAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ScoreEvaluationAction.java @@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletRequest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.MetadataValue; import org.dspace.core.Context; import org.dspace.workflow.WorkflowException; @@ -66,8 +66,8 @@ public class ScoreEvaluationAction extends ProcessingAction { String provDescription = getProvenanceStartId() + " Approved for entry into archive with a score of: " + scoreMean; - itemService.addMetadata(c, wfi.getItem(), MetadataSchema.DC_SCHEMA, "description", "provenance", "en", - provDescription); + itemService.addMetadata(c, wfi.getItem(), MetadataSchemaEnum.DC.getName(), + "description", "provenance", "en", provDescription); itemService.update(c, wfi.getItem()); } if (hasPassed) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SingleUserReviewAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SingleUserReviewAction.java index 74eea2d448..215eaaf645 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SingleUserReviewAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SingleUserReviewAction.java @@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletRequest; import org.dspace.app.util.Util; import org.dspace.authorize.AuthorizeException; import org.dspace.content.DCDate; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.core.Context; import org.dspace.xmlworkflow.factory.XmlWorkflowServiceFactory; import org.dspace.xmlworkflow.state.Step; @@ -91,7 +91,7 @@ public class SingleUserReviewAction extends ProcessingAction { + usersName + " on " + now + " (GMT) "; // Add to item as a DC field - itemService.addMetadata(c, wfi.getItem(), MetadataSchema.DC_SCHEMA, "description", "provenance", "en", + itemService.addMetadata(c, wfi.getItem(), MetadataSchemaEnum.DC.getName(), "description", "provenance", "en", provDescription); itemService.update(c, wfi.getItem()); } diff --git a/dspace-api/src/test/java/org/dspace/content/CollectionTest.java b/dspace-api/src/test/java/org/dspace/content/CollectionTest.java index 1e05353dcf..1913582c3f 100644 --- a/dspace-api/src/test/java/org/dspace/content/CollectionTest.java +++ b/dspace-api/src/test/java/org/dspace/content/CollectionTest.java @@ -1834,16 +1834,16 @@ public class CollectionTest extends AbstractDSpaceObjectTest { public void testGetCommunities() throws Exception { context.turnOffAuthorisationSystem(); Community community = communityService.create(null, context); - communityService.setMetadataSingleValue(context, community, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "community 3"); + communityService.setMetadataSingleValue(context, community, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "community 3"); this.collection.addCommunity(community); community = communityService.create(null, context); - communityService.setMetadataSingleValue(context, community, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "community 1"); + communityService.setMetadataSingleValue(context, community, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "community 1"); this.collection.addCommunity(community); community = communityService.create(null, context); - communityService.setMetadataSingleValue(context, community, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "community 2"); + communityService.setMetadataSingleValue(context, community, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "community 2"); this.collection.addCommunity(community); context.restoreAuthSystemState(); assertTrue("testGetCommunities 0", collection.getCommunities().size() == 4); diff --git a/dspace-api/src/test/java/org/dspace/content/CommunityTest.java b/dspace-api/src/test/java/org/dspace/content/CommunityTest.java index 65bf7f6f73..14af4b2b86 100644 --- a/dspace-api/src/test/java/org/dspace/content/CommunityTest.java +++ b/dspace-api/src/test/java/org/dspace/content/CommunityTest.java @@ -673,14 +673,17 @@ public class CommunityTest extends AbstractDSpaceObjectTest { context.turnOffAuthorisationSystem(); Collection collection = collectionService.create(context, c); - collectionService.setMetadataSingleValue(context, collection, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "collection B"); + collectionService + .setMetadataSingleValue(context, collection, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "collection B"); collection = collectionService.create(context, c); - collectionService.setMetadataSingleValue(context, collection, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "collection C"); + collectionService + .setMetadataSingleValue(context, collection, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "collection C"); collection = collectionService.create(context, c); - collectionService.setMetadataSingleValue(context, collection, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "collection A"); + collectionService + .setMetadataSingleValue(context, collection, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "collection A"); //we need to commit the changes so we don't block the table for testing context.restoreAuthSystemState(); @@ -712,14 +715,17 @@ public class CommunityTest extends AbstractDSpaceObjectTest { context.turnOffAuthorisationSystem(); Community community = communityService.create(c, context); - communityService.setMetadataSingleValue(context, community, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "subcommunity B"); + communityService + .setMetadataSingleValue(context, community, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "subcommunity B"); community = communityService.create(c, context); - communityService.setMetadataSingleValue(context, community, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "subcommunity A"); + communityService + .setMetadataSingleValue(context, community, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "subcommunity A"); community = communityService.create(c, context); - communityService.setMetadataSingleValue(context, community, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "subcommunity C"); + communityService + .setMetadataSingleValue(context, community, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "subcommunity C"); //we need to commit the changes so we don't block the table for testing context.restoreAuthSystemState(); diff --git a/dspace-api/src/test/java/org/dspace/content/ItemTest.java b/dspace-api/src/test/java/org/dspace/content/ItemTest.java index 32e6e5deb5..003b870698 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemTest.java @@ -737,12 +737,12 @@ public class ItemTest extends AbstractDSpaceObjectTest { public void testGetCollections() throws Exception { context.turnOffAuthorisationSystem(); Collection collection = collectionService.create(context, owningCommunity); - collectionService.setMetadataSingleValue(context, collection, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "collection B"); + collectionService.setMetadataSingleValue(context, collection, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "collection B"); it.addCollection(collection); collection = collectionService.create(context, owningCommunity); - collectionService.setMetadataSingleValue(context, collection, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY, - "collection A"); + collectionService.setMetadataSingleValue(context, collection, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY, "collection A"); it.addCollection(collection); context.restoreAuthSystemState(); assertThat("testGetCollections 0", it.getCollections(), notNullValue()); diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java index b41e8acd97..bfb1945a9d 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java @@ -78,14 +78,14 @@ public class MetadataFieldTest extends AbstractUnitTest { public void init() { super.init(); try { - this.dcSchema = metadataSchemaService.find(context, MetadataSchema.DC_SCHEMA); + this.dcSchema = metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()); this.mf = metadataFieldService.findByElement(context, - MetadataSchema.DC_SCHEMA, element, qualifier); + MetadataSchemaEnum.DC.getName(), element, qualifier); if (mf == null) { context.turnOffAuthorisationSystem(); this.mf = metadataFieldService - .create(context, metadataSchemaService.find(context, MetadataSchema.DC_SCHEMA), element, qualifier, - scopeNote); + .create(context, metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()), + element, qualifier, scopeNote); context.restoreAuthSystemState(); } @@ -165,7 +165,7 @@ public class MetadataFieldTest extends AbstractUnitTest { */ @Test public void testGetSchema() { - assertThat("testGetSchemaID 0", mf.getMetadataSchema().getName(), equalTo(MetadataSchema.DC_SCHEMA)); + assertThat("testGetSchemaID 0", mf.getMetadataSchema().getName(), equalTo(MetadataSchemaEnum.DC.getName())); } /** @@ -259,7 +259,8 @@ public class MetadataFieldTest extends AbstractUnitTest { */ @Test public void testFindByElement() throws Exception { - MetadataField found = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, element, qualifier); + MetadataField found = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + element, qualifier); assertThat("testFindByElement 0", found, notNullValue()); assertThat("testFindByElement 1", found.getID(), equalTo(mf.getID())); assertThat("testFindByElement 2", found.getElement(), equalTo(mf.getElement())); @@ -290,7 +291,7 @@ public class MetadataFieldTest extends AbstractUnitTest { @Test public void testFindAllInSchema() throws Exception { List found = metadataFieldService - .findAllInSchema(context, metadataSchemaService.find(context, MetadataSchema.DC_SCHEMA)); + .findAllInSchema(context, metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName())); assertThat("testFindAllInSchema 0", found, notNullValue()); assertTrue("testFindAllInSchema 1", found.size() >= 1); assertTrue("testFindAllInSchema 2", found.size() <= metadataFieldService.findAll(context).size()); @@ -320,7 +321,7 @@ public class MetadataFieldTest extends AbstractUnitTest { MetadataField m = metadataFieldService.create(context, dcSchema, elem, qual, null); metadataFieldService.update(context, m); - MetadataField found = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, elem, qual); + MetadataField found = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), elem, qual); assertThat("testUpdateAuth 0", found.getID(), equalTo(m.getID())); } @@ -380,7 +381,7 @@ public class MetadataFieldTest extends AbstractUnitTest { metadataFieldService.delete(context, m); - MetadataField found = metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, elem, qual); + MetadataField found = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), elem, qual); assertThat("testDeleteAuth 0", found, nullValue()); } diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java index 35a82a9cec..145e20d90f 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java @@ -59,7 +59,7 @@ public class MetadataSchemaTest extends AbstractUnitTest { public void init() { super.init(); try { - this.ms = metadataSchemaService.find(context, MetadataSchema.DC_SCHEMA); + this.ms = metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()); } catch (SQLException ex) { log.error("SQL Error in init", ex); fail("SQL Error in init: " + ex.getMessage()); @@ -122,7 +122,7 @@ public class MetadataSchemaTest extends AbstractUnitTest { @Test public void testGetSchemaID() throws SQLException { assertThat("testGetSchemaID 0", ms.getID(), - equalTo(metadataSchemaService.find(context, MetadataSchema.DC_SCHEMA).getID())); + equalTo(metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()).getID())); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java index bee228aa05..79dfebcc6b 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java @@ -95,7 +95,7 @@ public class MetadataValueTest extends AbstractUnitTest { this.it = installItemService.installItem(context, workspaceItem); this.mf = metadataFieldService.findByElement(context, - MetadataSchema.DC_SCHEMA, element, qualifier); + MetadataSchemaEnum.DC.getName(), element, qualifier); this.mv = metadataValueService.create(context, it, mf); context.restoreAuthSystemState(); } catch (AuthorizeException ex) { diff --git a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java index 9ea23718b7..86b0022f0d 100644 --- a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java +++ b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java @@ -36,7 +36,7 @@ import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.WorkspaceItem; import org.dspace.content.crosswalk.CrosswalkException; import org.dspace.content.factory.ContentServiceFactory; @@ -164,17 +164,18 @@ public class ITDSpaceAIP extends AbstractUnitTest { // Community topCommunity = communityService.create(null, context); communityService - .addMetadata(context, topCommunity, MetadataSchema.DC_SCHEMA, "title", null, null, "Top Community"); + .addMetadata(context, topCommunity, MetadataSchemaEnum.DC.getName(), + "title", null, null, "Top Community"); communityService.update(context, topCommunity); topCommunityHandle = topCommunity.getHandle(); Community child = communityService.createSubcommunity(context, topCommunity); communityService - .addMetadata(context, child, MetadataSchema.DC_SCHEMA, "title", null, null, "Child Community"); + .addMetadata(context, child, MetadataSchemaEnum.DC.getName(), "title", null, null, "Child Community"); communityService.update(context, child); Community grandchild = communityService.createSubcommunity(context, child); - communityService.addMetadata(context, grandchild, MetadataSchema.DC_SCHEMA, "title", null, null, + communityService.addMetadata(context, grandchild, MetadataSchemaEnum.DC.getName(), "title", null, null, "Grandchild Community"); communityService.update(context, grandchild); @@ -558,8 +559,9 @@ public class ITDSpaceAIP extends AbstractUnitTest { // Change the Community name String newName = "This is NOT my Community name!"; - communityService.clearMetadata(context, topCommunity, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); - communityService.addMetadata(context, topCommunity, MetadataSchema.DC_SCHEMA, "title", null, null, newName); + communityService.clearMetadata(context, topCommunity, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); + communityService.addMetadata(context, topCommunity, MetadataSchemaEnum.DC.getName(), + "title", null, null, newName); // Ensure name is changed assertEquals("testReplaceCommunityOnly() new name", topCommunity.getName(), newName); @@ -781,8 +783,10 @@ public class ITDSpaceAIP extends AbstractUnitTest { // Change the Collection name String newName = "This is NOT my Collection name!"; - collectionService.clearMetadata(context, testCollection, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); - collectionService.addMetadata(context, testCollection, MetadataSchema.DC_SCHEMA, "title", null, null, newName); + collectionService.clearMetadata(context, testCollection, MetadataSchemaEnum.DC.getName(), + "title", null, Item.ANY); + collectionService.addMetadata(context, testCollection, MetadataSchemaEnum.DC.getName(), + "title", null, null, newName); // Ensure name is changed assertEquals("testReplaceCollectionOnly() new name", testCollection.getName(), newName); @@ -1029,8 +1033,8 @@ public class ITDSpaceAIP extends AbstractUnitTest { // Change the Item name String newName = "This is NOT my Item name!"; - itemService.clearMetadata(context, testItem, MetadataSchema.DC_SCHEMA, "title", null, Item.ANY); - itemService.addMetadata(context, testItem, MetadataSchema.DC_SCHEMA, "title", null, null, newName); + itemService.clearMetadata(context, testItem, MetadataSchemaEnum.DC.getName(), "title", null, Item.ANY); + itemService.addMetadata(context, testItem, MetadataSchemaEnum.DC.getName(), "title", null, null, newName); // Ensure name is changed assertEquals("testReplaceItem() new name", testItem.getName(), newName); diff --git a/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java b/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java index a0b21f8221..8bc61c0202 100644 --- a/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java +++ b/dspace-api/src/test/java/org/dspace/content/packager/PackageUtilsTest.java @@ -20,7 +20,7 @@ import org.dspace.AbstractUnitTest; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.CollectionService; import org.dspace.content.service.CommunityService; @@ -87,13 +87,14 @@ public class PackageUtilsTest extends AbstractUnitTest { // Community topCommunity = communityService.create(null, context); communityService - .addMetadata(context, topCommunity, MetadataSchema.DC_SCHEMA, "title", null, null, "Top Community"); + .addMetadata(context, topCommunity, MetadataSchemaEnum.DC.getName(), "title", null, null, + "Top Community"); communityService.update(context, topCommunity); topCommunityHandle = topCommunity.getHandle(); Community child = communityService.createSubcommunity(context, topCommunity); communityService - .addMetadata(context, child, MetadataSchema.DC_SCHEMA, "title", null, null, "Child Community"); + .addMetadata(context, child, MetadataSchemaEnum.DC.getName(), "title", null, null, "Child Community"); communityService.update(context, child); // Create our primary Test Collection diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CollectionBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CollectionBuilder.java index d14630b90b..8ac3876bb3 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CollectionBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CollectionBuilder.java @@ -16,7 +16,7 @@ import org.apache.commons.lang3.CharEncoding; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Collection; import org.dspace.content.Community; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.service.DSpaceObjectService; import org.dspace.core.Context; @@ -50,7 +50,7 @@ public class CollectionBuilder extends AbstractDSpaceObjectBuilder { } public CollectionBuilder withName(final String name) { - return setMetadataSingleValue(collection, MetadataSchema.DC_SCHEMA, "title", null, name); + return setMetadataSingleValue(collection, MetadataSchemaEnum.DC.getName(), "title", null, name); } public CollectionBuilder withLogo(final String content) throws AuthorizeException, IOException, SQLException { diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CommunityBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CommunityBuilder.java index 1cf9ba74cb..a517d71f2a 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CommunityBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/CommunityBuilder.java @@ -15,7 +15,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.CharEncoding; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Community; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.service.DSpaceObjectService; import org.dspace.core.Context; @@ -59,7 +59,7 @@ public class CommunityBuilder extends AbstractDSpaceObjectBuilder { } public CommunityBuilder withName(final String communityName) { - return setMetadataSingleValue(community, MetadataSchema.DC_SCHEMA, "title", null, communityName); + return setMetadataSingleValue(community, MetadataSchemaEnum.DC.getName(), "title", null, communityName); } public CommunityBuilder withLogo(String content) throws AuthorizeException, IOException, SQLException { diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/ItemBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/ItemBuilder.java index cf498cf0fb..b2127100e3 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/ItemBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/ItemBuilder.java @@ -10,7 +10,7 @@ package org.dspace.app.rest.builder; import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.WorkspaceItem; import org.dspace.content.service.DSpaceObjectService; import org.dspace.core.Context; @@ -52,19 +52,20 @@ public class ItemBuilder extends AbstractDSpaceObjectBuilder { } public ItemBuilder withTitle(final String title) { - return setMetadataSingleValue(item, MetadataSchema.DC_SCHEMA, "title", null, title); + return setMetadataSingleValue(item, MetadataSchemaEnum.DC.getName(), "title", null, title); } public ItemBuilder withIssueDate(final String issueDate) { - return addMetadataValue(item, MetadataSchema.DC_SCHEMA, "date", "issued", new DCDate(issueDate).toString()); + return addMetadataValue(item, MetadataSchemaEnum.DC.getName(), + "date", "issued", new DCDate(issueDate).toString()); } public ItemBuilder withAuthor(final String authorName) { - return addMetadataValue(item, MetadataSchema.DC_SCHEMA, "contributor", "author", authorName); + return addMetadataValue(item, MetadataSchemaEnum.DC.getName(), "contributor", "author", authorName); } public ItemBuilder withSubject(final String subject) { - return addMetadataValue(item, MetadataSchema.DC_SCHEMA, "subject", null, subject); + return addMetadataValue(item, MetadataSchemaEnum.DC.getName(), "subject", null, subject); } public ItemBuilder withRelationshipType(final String relationshipType) { diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/WorkspaceItemBuilder.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/WorkspaceItemBuilder.java index 4d73d23b19..ce71acac3e 100644 --- a/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/WorkspaceItemBuilder.java +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/builder/WorkspaceItemBuilder.java @@ -14,7 +14,7 @@ import org.dspace.content.Collection; import org.dspace.content.DCDate; import org.dspace.content.Item; import org.dspace.content.LicenseUtils; -import org.dspace.content.MetadataSchema; +import org.dspace.content.MetadataSchemaEnum; import org.dspace.content.WorkspaceItem; import org.dspace.content.service.WorkspaceItemService; import org.dspace.core.Context; @@ -101,19 +101,19 @@ public class WorkspaceItemBuilder extends AbstractBuilder Date: Wed, 21 Nov 2018 11:37:14 +0100 Subject: [PATCH 097/118] Fixed checkstyle --- .../main/java/org/dspace/app/bulkedit/MetadataImport.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index de5a1e70d1..c8e4f5f4af 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -638,9 +638,11 @@ public class MetadataImport { if (StringUtils.equals(schema, "relation")) { - List relationshipTypeList = relationshipTypeService.findByLeftOrRightLabel(c, element); + List relationshipTypeList = relationshipTypeService + .findByLeftOrRightLabel(c, element); for (RelationshipType relationshipType : relationshipTypeList) { - for (Relationship relationship : relationshipService.findByItemAndRelationshipType(c, item, relationshipType)) { + for (Relationship relationship : relationshipService + .findByItemAndRelationshipType(c, item, relationshipType)) { relationshipService.delete(c, relationship); relationshipService.update(c, relationship); } From 7613a204ed992ad867ecaad7e52bff0e904e0bf9 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Wed, 21 Nov 2018 11:10:42 -0500 Subject: [PATCH 098/118] [DS-3990] Trim parameter name, value; remove unused test code. --- .../java/org/dspace/curate/CurationCli.java | 4 +- .../java/org/dspace/curate/CuratorTest.java | 330 ------------------ 2 files changed, 2 insertions(+), 332 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java index 036c75af15..d5577cf368 100644 --- a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java +++ b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java @@ -112,10 +112,10 @@ public class CurationCli { if (line.hasOption('p')) { // parameter for (String parameter : line.getOptionValues('p')) { String[] parts = parameter.split("=", 2); - String name = parts[0]; + String name = parts[0].trim(); String value; if (parts.length > 1) { - value = parts[1]; + value = parts[1].trim(); } else { value = "true"; } diff --git a/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java b/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java index 7652caade0..5761ee7ec7 100644 --- a/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java +++ b/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java @@ -17,10 +17,6 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.SiteService; import org.dspace.services.ConfigurationService; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; /** @@ -42,190 +38,6 @@ public class CuratorTest /** Value of a known task property, if any. */ static String taskProperty; - public CuratorTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - - /** - * Test of addParameter method, of class Curator. - */ -/* - @Test - public void testAddParameter() { - System.out.println("addParameter"); - String name = ""; - String value = ""; - Curator instance = new Curator(); - instance.addParameter(name, value); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of addParameters method, of class Curator. - */ -/* - @Test - public void testAddParameters() { - System.out.println("addParameters"); - Map parameters = null; - Curator instance = new Curator(); - instance.addParameters(parameters); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of getRunParameter method, of class Curator. - */ -/* - @Test - public void testGetRunParameter() { - System.out.println("getRunParameter"); - String name = ""; - Curator instance = new Curator(); - String expResult = ""; - String result = instance.getRunParameter(name); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of addTask method, of class Curator. - */ -/* - @Test - public void testAddTask() { - System.out.println("addTask"); - String taskName = ""; - Curator instance = new Curator(); - Curator expResult = null; - Curator result = instance.addTask(taskName); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of hasTask method, of class Curator. - */ -/* - @Test - public void testHasTask() { - System.out.println("hasTask"); - String taskName = ""; - Curator instance = new Curator(); - boolean expResult = false; - boolean result = instance.hasTask(taskName); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of removeTask method, of class Curator. - */ -/* - @Test - public void testRemoveTask() { - System.out.println("removeTask"); - String taskName = ""; - Curator instance = new Curator(); - Curator expResult = null; - Curator result = instance.removeTask(taskName); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of setInvoked method, of class Curator. - */ -/* - @Test - public void testSetInvoked() { - System.out.println("setInvoked"); - Curator.Invoked mode = null; - Curator instance = new Curator(); - Curator expResult = null; - Curator result = instance.setInvoked(mode); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of setReporter method, of class Curator. - */ -/* - @Test - public void testSetReporter() { - System.out.println("setReporter"); - String reporter = ""; - Curator instance = new Curator(); - Curator expResult = null; - Curator result = instance.setReporter(reporter); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of setTransactionScope method, of class Curator. - */ -/* - @Test - public void testSetTransactionScope() { - System.out.println("setTransactionScope"); - Curator.TxScope scope = null; - Curator instance = new Curator(); - Curator expResult = null; - Curator result = instance.setTransactionScope(scope); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of curate method, of class Curator. - */ -/* - @Test - public void testCurate_Context_String() throws Exception { - System.out.println("curate"); - String id = ""; - Curator instance = new Curator(); - instance.curate(context, id); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - /** * Test of curate method, of class Curator. * Currently this just tests task properties and run parameters. @@ -268,146 +80,4 @@ public class CuratorTest assertEquals("Wrong run parameter", RUN_PARAMETER_VALUE, runParameter); assertEquals("Wrong task property", TASK_PROPERTY_VALUE, taskProperty); } - - /** - * Test of curate method, of class Curator. - */ -/* - @Test - public void testCurate_Context_DSpaceObject() throws Exception { - System.out.println("curate"); - DSpaceObject dso = null; - Curator instance = new Curator(); - instance.curate(context, dso); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of queue method, of class Curator. - */ -/* - @Test - public void testQueue() throws Exception { - System.out.println("queue"); - Context c = null; - String id = ""; - String queueId = ""; - Curator instance = new Curator(); - instance.queue(c, id, queueId); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of clear method, of class Curator. - */ -/* - @Test - public void testClear() { - System.out.println("clear"); - Curator instance = new Curator(); - instance.clear(); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of report method, of class Curator. - */ -/* - @Test - public void testReport() { - System.out.println("report"); - String message = ""; - Curator instance = new Curator(); - instance.report(message); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of getStatus method, of class Curator. - */ -/* - @Test - public void testGetStatus() { - System.out.println("getStatus"); - String taskName = ""; - Curator instance = new Curator(); - int expResult = 0; - int result = instance.getStatus(taskName); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of getResult method, of class Curator. - */ -/* - @Test - public void testGetResult() { - System.out.println("getResult"); - String taskName = ""; - Curator instance = new Curator(); - String expResult = ""; - String result = instance.getResult(taskName); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of setResult method, of class Curator. - */ -/* - @Test - public void testSetResult() { - System.out.println("setResult"); - String taskName = ""; - String result_2 = ""; - Curator instance = new Curator(); - instance.setResult(taskName, result_2); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of curationContext method, of class Curator. - */ -/* - @Test - public void testCurationContext() throws Exception { - System.out.println("curationContext"); - Context expResult = null; - Context result = Curator.curationContext(); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ - - /** - * Test of isContainer method, of class Curator. - */ -/* - @Test - public void testIsContainer() { - System.out.println("isContainer"); - DSpaceObject dso = null; - boolean expResult = false; - boolean result = Curator.isContainer(dso); - assertEquals(expResult, result); - // TODO review the generated test code and remove the default call to fail. - fail("The test case is a prototype."); - } -*/ } From e7b6aded69a5752799a538ceea7ecb14d0ee20f3 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 22 Nov 2018 10:41:45 +0100 Subject: [PATCH 099/118] Fixed tests and added license headers --- .../src/main/java/org/dspace/content/ItemServiceImpl.java | 2 -- .../src/main/java/org/dspace/content/virtual/Related.java | 7 +++++++ .../main/java/org/dspace/content/virtual/VirtualBean.java | 7 +++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 6864a5c629..8232028af3 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -1334,8 +1334,6 @@ prevent the generation of resource policy entry values with null dspace_object a } } catch (SQLException e) { log.error(e, e); - } finally { - context.close(); } return fullMetadataValueList; } diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java index 50b0f1b74b..e16173f3db 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java @@ -1,3 +1,10 @@ +/** + * 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/ + */ package org.dspace.content.virtual; import java.sql.SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java b/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java index b3f20f1054..bc818a80be 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java @@ -1,3 +1,10 @@ +/** + * 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/ + */ package org.dspace.content.virtual; import java.sql.SQLException; From 58c01c500c7efc5d3305eb72734537f509570d18 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Mon, 26 Nov 2018 16:30:46 -0600 Subject: [PATCH 100/118] Delete elasticsearch-statistics-mapping.json --- .../elasticsearch-statistics-mapping.json | 163 ------------------ 1 file changed, 163 deletions(-) delete mode 100644 dspace-api/src/main/resources/org/dspace/statistics/elasticsearch-statistics-mapping.json diff --git a/dspace-api/src/main/resources/org/dspace/statistics/elasticsearch-statistics-mapping.json b/dspace-api/src/main/resources/org/dspace/statistics/elasticsearch-statistics-mapping.json deleted file mode 100644 index e873b976ec..0000000000 --- a/dspace-api/src/main/resources/org/dspace/statistics/elasticsearch-statistics-mapping.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "stats": { - "properties": { - "bundleName": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs" - }, - "city": { - "type": "multi_field", - "fields": { - "city": { - "type": "string" - }, - "untouched": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs", - "include_in_all": false - } - } - }, - "continent": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs" - }, - "country": { - "type": "multi_field", - "fields": { - "country": { - "type": "string" - }, - "untouched": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs", - "include_in_all": false - } - } - }, - "countryCode": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs" - }, - "dns": { - "type": "multi_field", - "fields": { - "dns": { - "type": "string" - }, - "untouched": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs", - "include_in_all": false - } - } - }, - "epersonid": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs" - }, - "geo": { - "type": "geo_point" - }, - "id": { - "type": "integer" - }, - "ip": { - "type": "multi_field", - "fields": { - "ip": { - "type": "string" - }, - "untouched": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs", - "include_in_all": false - } - } - }, - "isBot": { - "type": "boolean" - }, - "latitude": { - "type": "double" - }, - "longitude": { - "type": "double" - }, - "message": { - "type": "string" - }, - "owningColl": { - "type": "integer" - }, - "owningComm": { - "type": "integer" - }, - "owningItem": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs" - }, - "postDate": { - "type": "date", - "format": "dateOptionalTime" - }, - "time": { - "type": "date", - "format": "dateOptionalTime" - }, - "type": { - "type": "string", - "index": "not_analyzed", - "norms": { - "enabled": false - }, - "index_options": "docs" - }, - "typeIndex": { - "type": "long" - }, - "user": { - "type": "string" - }, - "userAgent": { - "type": "string" - } - } - } -} \ No newline at end of file From dcf21c04cf510cfd5314dcf91474d9fd7d201db6 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 29 Nov 2018 15:25:48 +0100 Subject: [PATCH 101/118] [Task 57718] added the leftItem and rightItem links to the relationship endpoint return --- .../relation/RelationshipHalLinkFactory.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java new file mode 100644 index 0000000000..d2729027a9 --- /dev/null +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java @@ -0,0 +1,33 @@ +package org.dspace.app.rest.link.relation; + +import java.util.LinkedList; + +import org.atteo.evo.inflector.English; +import org.dspace.app.rest.RestResourceController; +import org.dspace.app.rest.link.HalLinkFactory; +import org.dspace.app.rest.model.ItemRest; +import org.dspace.app.rest.model.hateoas.RelationshipResource; +import org.springframework.data.domain.Pageable; +import org.springframework.hateoas.Link; +import org.springframework.stereotype.Component; + +@Component +public class RelationshipHalLinkFactory extends HalLinkFactory { + protected void addLinks(RelationshipResource halResource, Pageable pageable, LinkedList list) + throws Exception { + + list.add(buildLink("leftItem", getMethodOn() + .findOne(ItemRest.CATEGORY, English.plural(ItemRest.NAME), halResource.getContent().getLeftId(), null))); + + list.add(buildLink("rightItem", getMethodOn() + .findOne(ItemRest.CATEGORY, English.plural(ItemRest.NAME), halResource.getContent().getRightId(), null))); + } + + protected Class getControllerClass() { + return RestResourceController.class; + } + + protected Class getResourceClass() { + return RelationshipResource.class; + } +} From 4c1fdfc49cbdc7a7a1652c3f964a4779d792c781 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 29 Nov 2018 15:45:32 +0100 Subject: [PATCH 102/118] Added a license header --- .../app/rest/link/relation/RelationshipHalLinkFactory.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java index d2729027a9..ff0fb5b386 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java @@ -1,3 +1,10 @@ +/** + * 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/ + */ package org.dspace.app.rest.link.relation; import java.util.LinkedList; From 733ef18184047172baf63f1e3df3a760d1b014c5 Mon Sep 17 00:00:00 2001 From: Santiago Tettamanti Date: Tue, 25 Sep 2018 10:35:41 -0300 Subject: [PATCH 103/118] DS-4019 Added a check for null when the group of a policy is obtained in getMostRecentModificationDate() and willChangeStatus() methods from XOAI.java class --- dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java index 1697b8d6d8..b53a92990a 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java @@ -326,7 +326,7 @@ public class XOAI { List dates = new LinkedList(); List policies = authorizeService.getPoliciesActionFilter(context, item, Constants.READ); for (ResourcePolicy policy : policies) { - if (policy.getGroup().getName().equals("Anonymous")) { + if ((policy.getGroup()!=null) && (policy.getGroup().getName().equals("Anonymous"))) { if (policy.getStartDate() != null) { dates.add(policy.getStartDate()); } @@ -450,8 +450,7 @@ public class XOAI { private boolean willChangeStatus(Item item) throws SQLException { List policies = authorizeService.getPoliciesActionFilter(context, item, Constants.READ); for (ResourcePolicy policy : policies) { - if (policy.getGroup().getName().equals("Anonymous")) { - + if ((policy.getGroup()!=null) && (policy.getGroup().getName().equals("Anonymous"))) { if (policy.getStartDate() != null && policy.getStartDate().after(new Date())) { return true; } From 6bbcc08e5998d57ead4ae53485c8cb5be8f1ce29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Mas=C3=A1r?= Date: Mon, 3 Dec 2018 22:44:36 +0100 Subject: [PATCH 104/118] fix checkstyle broken by previous commit (sorry) --- dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java index b53a92990a..eae538b50b 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java @@ -326,7 +326,7 @@ public class XOAI { List dates = new LinkedList(); List policies = authorizeService.getPoliciesActionFilter(context, item, Constants.READ); for (ResourcePolicy policy : policies) { - if ((policy.getGroup()!=null) && (policy.getGroup().getName().equals("Anonymous"))) { + if ((policy.getGroup() != null) && (policy.getGroup().getName().equals("Anonymous"))) { if (policy.getStartDate() != null) { dates.add(policy.getStartDate()); } @@ -450,7 +450,7 @@ public class XOAI { private boolean willChangeStatus(Item item) throws SQLException { List policies = authorizeService.getPoliciesActionFilter(context, item, Constants.READ); for (ResourcePolicy policy : policies) { - if ((policy.getGroup()!=null) && (policy.getGroup().getName().equals("Anonymous"))) { + if ((policy.getGroup() != null) && (policy.getGroup().getName().equals("Anonymous"))) { if (policy.getStartDate() != null && policy.getStartDate().after(new Date())) { return true; } From 90a9df75efa25879b84e3b20940c823c985b5e4e Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 4 Dec 2018 16:11:44 -0500 Subject: [PATCH 105/118] [DS-4094] Use correct logging categories; fix incorrect argument in a couple of messages. --- .../org/dspace/app/rest/DiscoveryRestController.java | 10 +++++----- .../app/rest/repository/DiscoveryRestRepository.java | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java index 6c29dc5283..4afde3df07 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/DiscoveryRestController.java @@ -12,6 +12,7 @@ import java.util.List; 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.link.HalLinkService; import org.dspace.app.rest.model.FacetConfigurationRest; @@ -27,7 +28,6 @@ import org.dspace.app.rest.model.hateoas.SearchResultsResource; import org.dspace.app.rest.model.hateoas.SearchSupportResource; import org.dspace.app.rest.parameter.SearchFilter; import org.dspace.app.rest.repository.DiscoveryRestRepository; -import org.dspace.app.rest.utils.ScopeResolver; import org.dspace.app.rest.utils.Utils; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -47,7 +47,7 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api/" + SearchResultsRest.CATEGORY) public class DiscoveryRestController implements InitializingBean { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ScopeResolver.class); + private static final Logger log = LogManager.getLogger(); @Autowired protected Utils utils; @@ -109,7 +109,7 @@ public class DiscoveryRestController implements InitializingBean { log.trace("Searching with scope: " + StringUtils.trimToEmpty(dsoScope) + ", configuration name: " + StringUtils.trimToEmpty(configurationName) + ", dsoType: " + StringUtils.trimToEmpty(dsoType) - + ", query: " + StringUtils.trimToEmpty(dsoType) + + ", query: " + StringUtils.trimToEmpty(query) + ", filters: " + Objects.toString(searchFilters)); } @@ -136,7 +136,7 @@ public class DiscoveryRestController implements InitializingBean { log.trace("Searching with scope: " + StringUtils.trimToEmpty(dsoScope) + ", configuration name: " + StringUtils.trimToEmpty(configurationName) + ", dsoType: " + StringUtils.trimToEmpty(dsoType) - + ", query: " + StringUtils.trimToEmpty(dsoType) + + ", query: " + StringUtils.trimToEmpty(query) + ", filters: " + Objects.toString(searchFilters) + ", page: " + Objects.toString(page)); } @@ -182,7 +182,7 @@ public class DiscoveryRestController implements InitializingBean { log.trace("Facetting on facet " + facetName + " with scope: " + StringUtils.trimToEmpty(dsoScope) + ", dsoType: " + StringUtils.trimToEmpty(dsoType) + ", prefix: " + StringUtils.trimToEmpty(prefix) - + ", query: " + StringUtils.trimToEmpty(dsoType) + + ", query: " + StringUtils.trimToEmpty(query) + ", filters: " + Objects.toString(searchFilters) + ", page: " + Objects.toString(page)); } diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java index ea2f70c469..ec73a24e2c 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DiscoveryRestRepository.java @@ -11,6 +11,7 @@ import java.util.List; import javax.ws.rs.BadRequestException; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.app.rest.converter.DiscoverConfigurationConverter; import org.dspace.app.rest.converter.DiscoverFacetConfigurationConverter; @@ -48,7 +49,7 @@ import org.springframework.stereotype.Component; @Component(SearchResultsRest.CATEGORY + "." + SearchResultsRest.NAME) public class DiscoveryRestRepository extends AbstractDSpaceRestRepository { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ScopeResolver.class); + private static final Logger log = LogManager.getLogger(); @Autowired private DiscoveryConfigurationService searchConfigurationService; From 09faec3f1733c8923428fe82fc6de209ba3154fe Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Thu, 6 Dec 2018 17:43:15 +0000 Subject: [PATCH 106/118] Update Entities code to use log4j2 and commons-lang v3 (per master merge) --- .../src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java | 2 +- .../java/org/dspace/app/util/InitializeEntities.java | 7 ++++--- .../main/java/org/dspace/content/EntityServiceImpl.java | 2 +- .../java/org/dspace/content/RelationshipServiceImpl.java | 9 +++++---- .../org/dspace/app/rest/RootRestResourceController.java | 5 +++-- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java index a14f57bf95..ea95be7e72 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java @@ -27,7 +27,7 @@ import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.authority.AuthorityValue; import org.dspace.authority.factory.AuthorityServiceFactory; import org.dspace.authority.service.AuthorityValueService; diff --git a/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java b/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java index 909fcd930e..6d90826e32 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java +++ b/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java @@ -22,8 +22,9 @@ import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; +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.content.EntityType; import org.dspace.content.RelationshipType; @@ -45,7 +46,7 @@ import org.xml.sax.SAXException; */ public class InitializeEntities { - private final static Logger log = Logger.getLogger(InitializeEntities.class); + private final static Logger log = LogManager.getLogger(); private RelationshipTypeService relationshipTypeService; private RelationshipService relationshipService; diff --git a/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java index a3785a756b..5339fb440e 100644 --- a/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; import java.util.UUID; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.dspace.content.service.EntityService; import org.dspace.content.service.EntityTypeService; import org.dspace.content.service.ItemService; diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java index 9e9fee8f85..fee8e978ae 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java @@ -12,9 +12,10 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; +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.authorize.service.AuthorizeService; import org.dspace.content.dao.RelationshipDAO; @@ -26,7 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; public class RelationshipServiceImpl implements RelationshipService { - private static final Logger log = Logger.getLogger(RelationshipServiceImpl.class); + private static final Logger log = LogManager.getLogger(); @Autowired(required = true) protected RelationshipDAO relationshipDAO; diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java index 87b68aa08d..93eb7c3c55 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/RootRestResourceController.java @@ -9,7 +9,8 @@ package org.dspace.app.rest; import javax.servlet.http.HttpServletRequest; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.app.rest.link.HalLinkService; import org.dspace.app.rest.model.RootRest; import org.dspace.app.rest.model.hateoas.RootResource; @@ -40,7 +41,7 @@ public class RootRestResourceController { @Autowired RootRestRepository rootRestRepository; - private static Logger log = Logger.getLogger(RootRestResourceController.class); + private static Logger log = LogManager.getLogger(); @RequestMapping(method = RequestMethod.GET) public RootResource listDefinedEndpoint(HttpServletRequest request) { From 6e16a3ed620b088ce12dba8a0fa22474d9f51f28 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Fri, 7 Dec 2018 16:09:29 +0100 Subject: [PATCH 107/118] Applied community feedback --- .../main/java/org/dspace/content/ItemServiceImpl.java | 9 +++++---- .../org/dspace/content/dao/RelationshipTypeDAO.java | 9 +++++++++ .../java/org/dspace/content/service/ItemService.java | 5 ++++- .../dspace/content/service/RelationshipService.java | 11 +++++++++++ 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 1a7cae56b7..167c326553 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -1317,7 +1317,7 @@ prevent the generation of resource policy entry values with null dspace_object a } @Override - public List getRelationshipMetadata(Item item, boolean extra) { + public List getRelationshipMetadata(Item item, boolean enableVirtualMetadata) { Context context = new Context(); List fullMetadataValueList = new LinkedList<>(); try { @@ -1326,7 +1326,8 @@ prevent the generation of resource policy entry values with null dspace_object a if (StringUtils.isNotBlank(entityType)) { List relationships = relationshipService.findByItem(context, item); for (Relationship relationship : relationships) { - fullMetadataValueList.addAll(handleItemRelationship(item, entityType, relationship, extra)); + fullMetadataValueList.addAll(handleItemRelationship(item, entityType, + relationship, enableVirtualMetadata)); } } @@ -1337,7 +1338,7 @@ prevent the generation of resource policy entry values with null dspace_object a } private List handleItemRelationship(Item item, String entityType, - Relationship relationship, boolean extra) { + Relationship relationship, boolean enableVirtualMetadata) { List resultingMetadataValueList = new LinkedList<>(); RelationshipType relationshipType = relationship.getRelationshipType(); HashMap> hashMaps = new HashMap<>(); @@ -1355,7 +1356,7 @@ prevent the generation of resource policy entry values with null dspace_object a relationName = relationship.getRelationshipType().getRightLabel(); } - if (hashMaps != null && extra) { + if (hashMaps != null && enableVirtualMetadata) { resultingMetadataValueList.addAll(handleRelationshipTypeMetadataMappping(item, hashMaps, otherItem, relationName)); } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java index 24abb4724b..f03037f8bc 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java @@ -37,6 +37,15 @@ public interface RelationshipTypeDAO extends GenericDAO { RelationshipType findbyTypesAndLabels(Context context, EntityType leftType,EntityType rightType,String leftLabel,String rightLabel) throws SQLException; + + /** + * This method will query the Database for a list of RelationshipType objects that have the given label + * either as a left or right label in its attributes + * @param context The relevant DSpace context + * @param label The label that the RelationshipType must have as a leftLabel or rightLabel attribute + * @return The list of RelationshipType objects that fit the criteria + * @throws SQLException If something goes wrong + */ List findByLeftOrRightLabel(Context context, String label) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/service/ItemService.java b/dspace-api/src/main/java/org/dspace/content/service/ItemService.java index e9aee14eaa..107d8d698a 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/ItemService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/ItemService.java @@ -646,8 +646,11 @@ public interface ItemService extends DSpaceObjectService, DSpaceObjectLega * This method retrieves a list of MetadataValue objects that get constructed from processing * the given Item's Relationships through the config given to the {@link VirtualMetadataPopulator} * @param item The Item that will be processed through it's Relationships + * @param enableVirtualMetadata This parameter will determine whether the list of Relationship metadata + * should be populated with metadata that is being generated through the + * VirtualMetadataPopulator functionality or not * @return The list of MetadataValue objects constructed through the Relationships */ - public List getRelationshipMetadata(Item item, boolean extra); + public List getRelationshipMetadata(Item item, boolean enableVirtualMetadata); } diff --git a/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java b/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java index a8052e1e6f..106eb74252 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java @@ -73,6 +73,17 @@ public interface RelationshipService extends DSpaceCRUDService { */ int findRightPlaceByRightItem(Context context, Item item) throws SQLException; + /** + * This method will retrieve a list of Relationship objects by retrieving the list of Relationship objects + * for the given item and then filtering the Relationship objects on the RelationshipType object that is + * passed along to this method. + * @param context The relevant DSpace context + * @param item The Item for which the list of Relationship objects will be retrieved + * @param relationshipType The RelationshipType object on which the list of Relationship objects for the given + * Item will be filtered + * @return The list of Relationship objects for the given Item filtered on the RelationshipType object + * @throws SQLException If something goes wrong + */ public List findByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType) throws SQLException; From 8024242fd13b6bdd9eeaebcc4bccb5c48a0b3875 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Mon, 10 Dec 2018 09:56:43 +0100 Subject: [PATCH 108/118] Added @Override to applicable methods --- .../main/java/org/dspace/content/RelationshipServiceImpl.java | 1 + .../java/org/dspace/content/RelationshipTypeServiceImpl.java | 1 + .../org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java | 1 + 3 files changed, 3 insertions(+) diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java index f928c4d0bb..44a1848697 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java @@ -288,6 +288,7 @@ public class RelationshipServiceImpl implements RelationshipService { return listToReturn; } + @Override public List findByItemAndRelationshipType(Context context, Item item, RelationshipType relationshipType) throws SQLException { diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java index 299d44447d..64489c02b9 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java @@ -85,6 +85,7 @@ public class RelationshipTypeServiceImpl implements RelationshipTypeService { relationshipTypeDAO.delete(context, relationshipType); } + @Override public List findByLeftOrRightLabel(Context context, String label) throws SQLException { return relationshipTypeDAO.findByLeftOrRightLabel(context, label); } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java index 8fe5d18c56..5d311eabb5 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java @@ -38,6 +38,7 @@ public class RelationshipTypeDAOImpl extends AbstractHibernateDAO findByLeftOrRightLabel(Context context, String label) throws SQLException { CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RelationshipType.class); From 4171729f848478a74490accf18c9dfa23ad84260 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Tue, 11 Dec 2018 09:30:13 +0100 Subject: [PATCH 109/118] Wrote IT test for CSV import and fixed a small error --- .../dspace/app/bulkedit/MetadataImport.java | 2 +- .../org/dspace/app/rest/csv/CsvImportIT.java | 291 ++++++++++++++++++ 2 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 dspace-spring-rest/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index 4b5c6266a0..0712f8d92a 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -767,7 +767,7 @@ public class MetadataImport { } relationship.setRelationshipType(acceptedRelationshipType); relationship.setLeftPlace(relationshipService.findLeftPlaceByLeftItem(c, relationship.getLeftItem()) + 1); - relationship.setRightPlace(relationshipService.findRightPlaceByRightItem(c, relationship.getLeftItem()) + 1); + relationship.setRightPlace(relationshipService.findRightPlaceByRightItem(c, relationship.getRightItem()) + 1); Relationship persistedRelationship = relationshipService.create(c, relationship); relationshipService.update(c, persistedRelationship); } diff --git a/dspace-spring-rest/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java b/dspace-spring-rest/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java new file mode 100644 index 0000000000..bd5478dc95 --- /dev/null +++ b/dspace-spring-rest/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java @@ -0,0 +1,291 @@ +/** + * 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/ + */ +package org.dspace.app.rest.csv; + +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.dspace.app.rest.builder.CollectionBuilder; +import org.dspace.app.rest.builder.CommunityBuilder; +import org.dspace.app.rest.builder.ItemBuilder; +import org.dspace.app.rest.matcher.RelationshipMatcher; +import org.dspace.app.rest.test.AbstractControllerIntegrationTest; +import org.dspace.content.Collection; +import org.dspace.content.Community; +import org.dspace.content.EntityType; +import org.dspace.content.Item; +import org.dspace.content.Relationship; +import org.dspace.content.RelationshipType; +import org.dspace.content.service.EntityTypeService; +import org.dspace.content.service.ItemService; +import org.dspace.content.service.RelationshipService; +import org.dspace.content.service.RelationshipTypeService; +import org.dspace.services.ConfigurationService; +import org.hamcrest.Matchers; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +public class CsvImportIT extends AbstractControllerIntegrationTest { + + @Autowired + private RelationshipTypeService relationshipTypeService; + + @Autowired + private EntityTypeService entityTypeService; + + @Autowired + private RelationshipService relationshipService; + + @Autowired + private ItemService itemService; + + @Autowired + private ConfigurationService configurationService; + + @Before + public void setup() throws Exception { + + //Set up the database for the next test + String pathToFile = configurationService.getProperty("dspace.dir") + + File.separator + "config" + File.separator + "entities" + File.separator + "relationship-types.xml"; + runDSpaceScript("initialize-entities", "-f", pathToFile); + } + + @After + public void destroy() throws Exception { + //Clean up the database for the next test + context.turnOffAuthorisationSystem(); + List relationshipTypeList = relationshipTypeService.findAll(context); + List entityTypeList = entityTypeService.findAll(context); + List relationships = relationshipService.findAll(context); + Iterator itemIterator = itemService.findAll(context); + + Iterator relationshipIterator = relationships.iterator(); + while (relationshipIterator.hasNext()) { + Relationship relationship = relationshipIterator.next(); + relationshipIterator.remove(); + relationshipService.delete(context, relationship); + } + + Iterator relationshipTypeIterator = relationshipTypeList.iterator(); + while (relationshipTypeIterator.hasNext()) { + RelationshipType relationshipType = relationshipTypeIterator.next(); + relationshipTypeIterator.remove(); + relationshipTypeService.delete(context, relationshipType); + } + + Iterator entityTypeIterator = entityTypeList.iterator(); + while (entityTypeIterator.hasNext()) { + EntityType entityType = entityTypeIterator.next(); + entityTypeIterator.remove(); + entityTypeService.delete(context, entityType); + } + + while (itemIterator.hasNext()) { + Item item = itemIterator.next(); + itemIterator.remove(); + itemService.delete(context, item); + } + + super.destroy(); + } + + @Test + public void createRelationshipsWithCsvImportTest() throws Exception { + context.turnOffAuthorisationSystem(); + + parentCommunity = CommunityBuilder.createCommunity(context) + .withName("Parent Community") + .build(); + Community child1 = CommunityBuilder.createSubCommunity(context, parentCommunity) + .withName("Sub Community") + .build(); + Collection col1 = CollectionBuilder.createCollection(context, child1).withName("Collection 1").build(); + Collection col2 = CollectionBuilder.createCollection(context, child1).withName("Collection 2").build(); + Collection col3 = CollectionBuilder.createCollection(context, child1).withName("OrgUnits").build(); + + Item article = ItemBuilder.createItem(context, col1) + .withTitle("Article") + .withIssueDate("2017-10-17") + .withRelationshipType("Publication") + .build(); + + Item itemB = validateSpecificItemRelationCreationCsvImport(col1, article, "TestItemB", "Person", + "isPublicationOfAuthor", + "Relationship list size is 1", 1, 1, 1); + Item itemC = validateSpecificItemRelationCreationCsvImport(col1, article, "TestItemC", "Person", + "isPublicationOfAuthor", + "Relationship list size is 1", 1, 2, 1); + Item itemD = validateSpecificItemRelationCreationCsvImport(col1, article, "TestItemD", "Project", + "isPublicationOfProject", + "Relationship list size is 1", 1, 1, 1); + Item itemE = validateSpecificItemRelationCreationCsvImportMultiple(col1, "TestItemE", "Publication", + "isAuthorOfPublication", + "Relationship list size is 2", 2, 1, 2, + itemC, itemB); + + List relationships = relationshipService.findByItem(context, itemE); + getClient().perform(get("/api/core/relationships/" + relationships.get(0).getID())) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.leftPlace", is(1))) + .andExpect(jsonPath("$.rightId", is(itemC.getID().toString()))) + .andExpect(jsonPath("$.rightPlace", is(2))) + .andExpect(jsonPath("$", Matchers.is(RelationshipMatcher.matchRelationship(relationships.get(0))))); + getClient().perform(get("/api/core/relationships/" + relationships.get(1).getID().toString())) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.leftPlace", is(2))) + .andExpect(jsonPath("$.rightId", is(itemB.getID().toString()))) + .andExpect(jsonPath("$.rightPlace", is(2))) + .andExpect(jsonPath("$", Matchers.is(RelationshipMatcher.matchRelationship(relationships.get(1))))); + + Item itemF = validateSpecificItemRelationCreationCsvImport(col1, itemE, "TestItemF", "Person", + "isPublicationOfAuthor", + "Relationship list size is 1", 1, 3, 1); + + UpdateItemEToDeleteRelationshipToC(itemE, itemB, itemF, col1, "TestItemE"); + + getClient().perform(get("/api/core/items/" + itemE.getID())).andExpect(status().isOk()); + + assertItemERelationships(itemB, itemE, itemF); + + updateArticleItemToAddAnotherRelationship(col1, article, itemB, itemC, itemF); + + getClient().perform(get("/api/core/items/" + article.getID())).andExpect(status().isOk()); + + assertArticleRelationships(article, itemB, itemC, itemF); + + } + + private void assertItemERelationships(Item itemB, Item itemE, Item itemF) throws SQLException { + List relationshipsForItemE = relationshipService.findByItem(context, itemE); + assertThat(relationshipsForItemE.size(), is(2)); + assertThat(relationshipsForItemE.get(0).getRightItem(), is(itemF)); + assertThat(relationshipsForItemE.get(1).getRightItem(), is(itemB)); + } + + private void assertArticleRelationships(Item article, Item itemB, Item itemC, Item itemF) throws SQLException { + List relationshipsForArticle = relationshipService + .findByItemAndRelationshipType(context, article, relationshipTypeService + .findByLeftOrRightLabel(context,"isPublicationOfAuthor").get(0)); + assertThat(relationshipsForArticle.size(), is(3)); + List expectedRelationshipsItemsForArticle = new ArrayList<>(); + expectedRelationshipsItemsForArticle.add(itemC); + expectedRelationshipsItemsForArticle.add(itemF); + expectedRelationshipsItemsForArticle.add(itemB); + + List actualRelationshipsItemsForArticle = new ArrayList<>(); + for (Relationship relationship : relationshipsForArticle) { + if (relationship.getLeftItem().getID() == article.getID()) { + actualRelationshipsItemsForArticle.add(relationship.getLeftItem()); + } else { + actualRelationshipsItemsForArticle.add(relationship.getRightItem()); + } + } + assertThat(true, Matchers.is(actualRelationshipsItemsForArticle + .containsAll(expectedRelationshipsItemsForArticle))); + } + + private void updateArticleItemToAddAnotherRelationship(Collection col1, Item article, Item itemB, Item itemC, + Item itemF) throws Exception { + String csvLineString = article.getID().toString() + "," + col1 + .getHandle() + "," + "Article" + "," + "Publication" + "," + + itemB.getID().toString() + "||" + itemC.getID().toString() + "||" + itemF + .getID().toString(); + String[] csv = {"id,collection,dc.title,relationship.type,relation." + "isAuthorOfPublication", csvLineString}; + performImportScript(csv); + } + + private void UpdateItemEToDeleteRelationshipToC(Item itemE, Item itemB, Item itemF, Collection owningCollection, + String title) throws Exception { + String csvLineString = itemE.getID().toString() + "," + owningCollection + .getHandle() + "," + title + "," + "Person" + "," + itemB.getID().toString() + "||" + itemF.getID() + .toString(); + String[] csv = {"id,collection,dc.title,relationship.type,relation." + "isAuthorOfPublication", csvLineString}; + performImportScript(csv); + + } + + private Item validateSpecificItemRelationCreationCsvImport(Collection col1, Item relatedItem, String itemTitle, + String relationshipType, + String relationshipTypeLabel, + String reasonAssertCheck, Integer sizeToCheck, + Integer leftPlaceToCheck, + Integer rightPlaceToCheck) throws Exception { + String csvLineString = "+," + col1.getHandle() + "," + itemTitle + "," + relationshipType + "," + relatedItem + .getID().toString(); + String[] csv = {"id,collection,dc.title,relationship.type,relation." + relationshipTypeLabel, csvLineString}; + performImportScript(csv); + Iterator itemIteratorItem = itemService.findByMetadataField(context, "dc", "title", null, itemTitle); + Item item = itemIteratorItem.next(); + + List relationships = relationshipService.findByItem(context, item); + assertThat(reasonAssertCheck, relationships.size(), equalTo(sizeToCheck)); + getClient().perform(get("/api/core/items/" + item.getID())).andExpect(status().isOk()); + getClient().perform(get("/api/core/relationships/" + relationships.get(0).getID())) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.leftPlace", is(leftPlaceToCheck))) + .andExpect(jsonPath("$.rightPlace", is(rightPlaceToCheck))) + .andExpect(jsonPath("$", Matchers.is(RelationshipMatcher.matchRelationship(relationships.get(0))))); + + return item; + } + + private Item validateSpecificItemRelationCreationCsvImportMultiple(Collection col1, String itemTitle, + String relationshipType, + String relationshipTypeLabel, + String reasonAssertCheck, Integer sizeToCheck, + Integer leftPlaceToCheck, + Integer rightPlaceToCheck, Item... relatedItem) + throws Exception { + String idStringRelatedItems = ""; + for (Item item : relatedItem) { + idStringRelatedItems += item.getID().toString(); + idStringRelatedItems += "||"; + } + idStringRelatedItems = idStringRelatedItems.substring(0, idStringRelatedItems.length() - 2); + String csvLineString = "+," + col1 + .getHandle() + "," + itemTitle + "," + relationshipType + "," + idStringRelatedItems; + String[] csv = {"id,collection,dc.title,relationship.type,relation." + relationshipTypeLabel, csvLineString}; + performImportScript(csv); + Iterator itemIteratorItem = itemService.findByMetadataField(context, "dc", "title", null, itemTitle); + Item item = itemIteratorItem.next(); + + + return item; + } + + private void performImportScript(String[] csv) throws Exception { + String filename = "test.csv"; + BufferedWriter out = new BufferedWriter( + new OutputStreamWriter( + new FileOutputStream(filename), "UTF-8")); + for (String csvLine : csv) { + out.write(csvLine + "\n"); + } + out.flush(); + out.close(); + out = null; + + runDSpaceScript("metadata-import", "-f", "test.csv", "-e", "admin@email.com", "-s"); + } +} From 1b2cc563d7cb6bf7de3ce47bd74b16dd2167b3f8 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Tue, 11 Dec 2018 15:32:11 +0000 Subject: [PATCH 110/118] Increase memory available to Unit/Integration Tests --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 21bcef9015..585cccda45 100644 --- a/pom.xml +++ b/pom.xml @@ -424,7 +424,7 @@ @@ -435,7 +435,7 @@ - -Xmx512m + -Xmx1024m From d95c378edc8ee1c2eaf222e9b77a26761b8cef3f Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 13 Dec 2018 15:45:15 +0100 Subject: [PATCH 111/118] Implemented the feedback --- .../org/dspace/content/ItemServiceImpl.java | 16 ++--- .../org/dspace/content/virtual/Collected.java | 71 +++++++++++++++++++ .../dspace/content/virtual/Concatenate.java | 7 +- .../org/dspace/content/virtual/Related.java | 8 +-- .../dspace/content/virtual/VirtualBean.java | 12 ++-- .../content/StatisticsDataVisits.java | 8 +-- dspace/config/spring/api/core-services.xml | 35 ++------- 7 files changed, 103 insertions(+), 54 deletions(-) create mode 100644 dspace-api/src/main/java/org/dspace/content/virtual/Collected.java diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 00709923e7..49180a40f8 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -1375,10 +1375,12 @@ prevent the generation of resource policy entry values with null dspace_object a String key = entry.getKey(); VirtualBean virtualBean = entry.getValue(); - MetadataValue metadataValue = constructMetadataValue(key); - metadataValue = constructResultingMetadataValue(context, item, otherItem, virtualBean, metadataValue); - if (StringUtils.isNotBlank(metadataValue.getValue())) { - resultingMetadataValueList.add(metadataValue); + for (String value : virtualBean.getValues(context, otherItem)) { + MetadataValue metadataValue = constructMetadataValue(key); + metadataValue = constructResultingMetadataValue(item, value, metadataValue); + if (StringUtils.isNotBlank(metadataValue.getValue())) { + resultingMetadataValueList.add(metadataValue); + } } } return resultingMetadataValueList; @@ -1405,10 +1407,8 @@ prevent the generation of resource policy entry values with null dspace_object a return entityType; } - private MetadataValue constructResultingMetadataValue(Context context, Item item, - Item otherItem, VirtualBean virtualBean, - MetadataValue metadataValue) throws SQLException { - metadataValue.setValue(virtualBean.getValue(context, otherItem)); + private MetadataValue constructResultingMetadataValue(Item item, String value, MetadataValue metadataValue) { + metadataValue.setValue(value); metadataValue.setAuthority("virtual"); metadataValue.setConfidence(-1); metadataValue.setDSpaceObject(item); diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java b/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java new file mode 100644 index 0000000000..a1c9a57cd2 --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java @@ -0,0 +1,71 @@ +/** + * 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/ + */ +package org.dspace.content.virtual; + +import java.util.LinkedList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.dspace.content.Item; +import org.dspace.content.MetadataValue; +import org.dspace.content.service.ItemService; +import org.dspace.core.Context; +import org.springframework.beans.factory.annotation.Autowired; + +public class Collected implements VirtualBean { + + @Autowired + private ItemService itemService; + + /** + * The fields for which the metadata will be retrieved + */ + private List fields; + + /** + * Generic getter for the fields property + * @return The list of fields to be used in this bean + */ + public List getFields() { + return fields; + } + + /** + * Generic setter for the fields property + * @param fields the list of fields to which the fields property will be set to + */ + public void setFields(List fields) { + this.fields = fields; + } + + + public List getValues(Context context, Item item) { + List resultValues = new LinkedList<>(); + List value = this.getFields(); + for (String s : value) { + String[] splittedString = s.split("\\."); + + List resultList = itemService.getMetadata(item, + splittedString.length > 0 ? splittedString[0] : + null, + splittedString.length > 1 ? splittedString[1] : + null, + splittedString.length > 2 ? splittedString[2] : + null, + Item.ANY); + + for (MetadataValue metadataValue : resultList) { + if (StringUtils.isNotBlank(metadataValue.getValue())) { + resultValues.add(metadataValue.getValue()); + } + } + } + + return resultValues; + } +} diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java b/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java index 940a0cf952..c1c6547aa6 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java @@ -74,7 +74,7 @@ public class Concatenate implements VirtualBean { * @param item The item that will be used to either retrieve metadata values from * @return The String value for all of the retrieved metadatavalues combined with the seperator */ - public String getValue(Context context, Item item) { + public List getValues(Context context, Item item) { List resultValues = new LinkedList<>(); List value = this.getFields(); @@ -106,7 +106,8 @@ public class Concatenate implements VirtualBean { } String result = StringUtils.join(resultValues, this.getSeparator()); - - return result; + List listToReturn = new LinkedList<>(); + listToReturn.add(result); + return listToReturn; } } diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java index 6ac10ce43f..a5f5f3a8e0 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java @@ -51,7 +51,7 @@ public class Related implements VirtualBean { */ private Integer place; /** - * The next bean to call its getValue() method on + * The next bean to call its getValues() method on */ private VirtualBean virtualBean; @@ -113,7 +113,7 @@ public class Related implements VirtualBean { * Will return null if no relationships are found * @throws SQLException If something goes wrong */ - public String getValue(Context context, Item item) throws SQLException { + public List getValues(Context context, Item item) throws SQLException { Entity entity = entityService.findByItemId(context, item.getID()); EntityType entityType = entityService.getType(context, entity); @@ -135,12 +135,12 @@ public class Related implements VirtualBean { if (relationship.getRelationshipType().getLeftType() == entityType) { if (relationship.getLeftPlace() == place) { Item otherItem = relationship.getRightItem(); - return virtualBean.getValue(context, otherItem); + return virtualBean.getValues(context, otherItem); } } else if (relationship.getRelationshipType().getRightType() == entityType) { if (relationship.getRightPlace() == place) { Item otherItem = relationship.getLeftItem(); - return virtualBean.getValue(context, otherItem); + return virtualBean.getValues(context, otherItem); } } } diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java b/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java index bc818a80be..e149d10106 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/VirtualBean.java @@ -8,6 +8,7 @@ package org.dspace.content.virtual; import java.sql.SQLException; +import java.util.List; import org.dspace.content.Item; import org.dspace.core.Context; @@ -20,16 +21,13 @@ import org.dspace.core.Context; public interface VirtualBean { /** - * This method will return the String value for the metadata field that is configured in the - * {@link Concatenate} bean in the config and it will traverse all the {@link Related} beans - * in the config that are chained together until it finds a {@link Concatenate} bean for which - * the value can be retrieved. + * This method will return a list filled with String values which will be determine by the bean that's responsible + * of handling the metadata fields when fully traversed through all the {@link Related} beans * @param context The relevant DSpace context * @param item The item that will be used to either retrieve metadata values from or to find * the related item through its relationships - * @return The String value of all the metadata values of all fields defined in {@link Concatenate} - * bean which will be concatenated with a seperator that's defined in the same bean + * @return The list of String values of all the metadata values as constructed by the responsible bean * @throws SQLException If something goes wrong */ - String getValue(Context context, Item item) throws SQLException; + List getValues(Context context, Item item) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java index 5b003b3741..25458358c5 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java +++ b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java @@ -353,13 +353,13 @@ public class StatisticsDataVisits extends StatisticsData { /* for (int j = 0; j < topCounts2.length; j++) { ObjectCount count2 = topCounts2[j]; - String query = firsDataset.getFacetField() + ":" + count1.getValue(); + String query = firsDataset.getFacetField() + ":" + count1.getValues(); // Check if we also have a type present (if so this should be put into the query if ("id".equals(firsDataset.getFacetField()) && firsDataset.getQueries().get(0).getDsoType() != -1) query += " AND type:" + firsDataset.getQueries().get(0).getDsoType(); - query += " AND " + secondDataSet.getFacetField() + ":" + count2.getValue(); + query += " AND " + secondDataSet.getFacetField() + ":" + count2.getValues(); // Check if we also have a type present (if so this should be put into the query if ("id".equals(secondDataSet.getFacetField()) && secondDataSet.getQueries().get(0) .getDsoType() != -1) @@ -371,8 +371,8 @@ public class StatisticsDataVisits extends StatisticsData { // No need to add this many times // TODO: dit vervangen door te displayen value if (i == 0) { - dataset.setRowLabel(j, getResultName(count2.getValue(), secondDataSet, context)); - dataset.setRowLabelAttr(j, getAttributes(count2.getValue(), secondDataSet, context)); + dataset.setRowLabel(j, getResultName(count2.getValues(), secondDataSet, context)); + dataset.setRowLabelAttr(j, getAttributes(count2.getValues(), secondDataSet, context)); } diff --git a/dspace/config/spring/api/core-services.xml b/dspace/config/spring/api/core-services.xml index 42dd3f9ea0..9b1684dbc1 100644 --- a/dspace/config/spring/api/core-services.xml +++ b/dspace/config/spring/api/core-services.xml @@ -162,15 +162,12 @@ - + orgunit.identifier.name - - , - @@ -191,44 +188,35 @@ - + orgunit.identifier.name - - , - - + orgunit.identifier.name - - , - - + journalvolume.identifier.volume - - , - @@ -240,25 +228,19 @@ - + journal.identifier.issn - - , - - + journal.identifier.name - - , - @@ -267,15 +249,12 @@ - + journalissue.identifier.number - - , - From 3123c1dd6178883fa4796b021ee10aab50ebd985 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Fri, 14 Dec 2018 09:54:26 +0100 Subject: [PATCH 112/118] Wrote documentation for the spring beans --- dspace/config/spring/api/core-services.xml | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/dspace/config/spring/api/core-services.xml b/dspace/config/spring/api/core-services.xml index 9b1684dbc1..8b0b755a35 100644 --- a/dspace/config/spring/api/core-services.xml +++ b/dspace/config/spring/api/core-services.xml @@ -119,6 +119,10 @@ --> + @@ -144,9 +148,21 @@ + + @@ -159,6 +175,9 @@ + @@ -173,6 +192,15 @@ + @@ -188,6 +216,16 @@ + @@ -211,6 +249,18 @@ + @@ -218,6 +268,22 @@ + @@ -261,6 +327,23 @@ + From 1b0f00df187f86d8e09c817cbbc24b6ab1a1cf7e Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Tue, 18 Dec 2018 09:42:48 +0100 Subject: [PATCH 113/118] Comment on relationship.type --- .../src/main/java/org/dspace/content/ItemServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 167c326553..0372c1fd14 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -1291,6 +1291,8 @@ prevent the generation of resource policy entry values with null dspace_object a */ @Override public List getMetadata(Item item, String schema, String element, String qualifier, String lang) { + //Fields of the relationship schema are virtual metadata except for relationship.type which is the type of item in the model + //TODO: the "type" should be migrated to a constant if (StringUtils.equals(schema, MetadataSchemaEnum.RELATION.getName()) && !StringUtils.equals(element, "type")) { List relationMetadata = getRelationshipMetadata(item, false); From efd579f054abc59ecc0e525aff2694109d7199fd Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Tue, 18 Dec 2018 09:58:57 +0100 Subject: [PATCH 114/118] typing error --- .../src/main/java/org/dspace/content/ItemServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 0372c1fd14..656cca3a5b 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -1291,8 +1291,7 @@ prevent the generation of resource policy entry values with null dspace_object a */ @Override public List getMetadata(Item item, String schema, String element, String qualifier, String lang) { - //Fields of the relationship schema are virtual metadata except for relationship.type which is the type of item in the model - //TODO: the "type" should be migrated to a constant + //Fields of the relation schema are virtual metadata except for relation.type which is the type of item in the model if (StringUtils.equals(schema, MetadataSchemaEnum.RELATION.getName()) && !StringUtils.equals(element, "type")) { List relationMetadata = getRelationshipMetadata(item, false); From b050db1cae97f52641cc85eba1595d6030c00fd9 Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Tue, 18 Dec 2018 10:17:12 +0100 Subject: [PATCH 115/118] JavaDoc updates --- .../org/dspace/content/ItemServiceImpl.java | 2 +- .../org/dspace/content/virtual/Collected.java | 13 +++++++ .../dspace/content/virtual/Concatenate.java | 10 ++++-- .../org/dspace/content/virtual/Related.java | 6 ++++ dspace/config/spring/api/core-services.xml | 35 ++++--------------- 5 files changed, 33 insertions(+), 33 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 49180a40f8..3f36095152 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -1387,7 +1387,7 @@ prevent the generation of resource policy entry values with null dspace_object a } private MetadataValue getRelationMetadataFromOtherItem(Item otherItem, String relationName) { - MetadataValue metadataValue = constructMetadataValue("relation." + relationName); + MetadataValue metadataValue = constructMetadataValue(MetadataSchemaEnum.RELATION.getName() + "." + relationName); metadataValue.setAuthority("virtual"); metadataValue.setValue(otherItem.getID().toString()); return metadataValue; diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java b/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java index a1c9a57cd2..f2df5c4bd8 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Collected.java @@ -17,6 +17,12 @@ import org.dspace.content.service.ItemService; import org.dspace.core.Context; import org.springframework.beans.factory.annotation.Autowired; +/** + * A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata + * The Collected bean will take all the values of each metadata field defined in the list and it'll + * create a list of virtual metadata fields defined by the map in which it's defined. + * All values from the metadata fields will returned as separate elements + */ public class Collected implements VirtualBean { @Autowired @@ -44,6 +50,13 @@ public class Collected implements VirtualBean { } + /** + * this method will retrieve the metadata values from the given item for all the metadata fields listed + * in the fields property and it'll return all those values as a list + * @param context The relevant DSpace context + * @param item The item that will be used to either retrieve metadata values from + * @return The String values for all of the retrieved metadatavalues + */ public List getValues(Context context, Item item) { List resultValues = new LinkedList<>(); List value = this.getFields(); diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java b/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java index c1c6547aa6..dc7db0658d 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Concatenate.java @@ -19,6 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired; /** * A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata + * The Concatenate bean will take all the values of each metadata field configured in the list + * and it will join all of these together with the separator defined in this bean. This means that whichever + * entry this bean belongs to, that metadata field will have the value of the related item's metadata values + * joined together with this separator. Only one value will be returned */ public class Concatenate implements VirtualBean { @@ -30,7 +34,7 @@ public class Concatenate implements VirtualBean { */ private List fields; /** - * The seperator that will be used to concatenate the values retrieved from the above mentioned fields + * The separator that will be used to concatenate the values retrieved from the above mentioned fields */ private String separator; @@ -68,11 +72,11 @@ public class Concatenate implements VirtualBean { /** * this method will retrieve the metadata values from the given item for all the metadata fields listed - * in the fields property and it'll concatenate all those values together with the seperrator specified + * in the fields property and it'll concatenate all those values together with the separator specified * in this class * @param context The relevant DSpace context * @param item The item that will be used to either retrieve metadata values from - * @return The String value for all of the retrieved metadatavalues combined with the seperator + * @return The String value for all of the retrieved metadatavalues combined with the separator */ public List getValues(Context context, Item item) { diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java index a5f5f3a8e0..22b57c3605 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java @@ -27,6 +27,12 @@ import org.springframework.beans.factory.annotation.Autowired; /** * A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata * by traversing the path of relation specified in the config for this bean + * The Related bean will find the relationshiptype defined in the relationshipTypeString property on + * the current item and it'll use the related item from that relationship to pass it along to the virtualBean + * property which in turn refers to another VirtualBean instance and it continues the chain until it reaches + * either a Concatenate or Collected bean to retrieve the values. It will then return that value through the chain + * again and it'll fill the values into the virtual metadata fields that are defined in the map for the first + * Related bean. */ public class Related implements VirtualBean { diff --git a/dspace/config/spring/api/core-services.xml b/dspace/config/spring/api/core-services.xml index 8b0b755a35..78fd545159 100644 --- a/dspace/config/spring/api/core-services.xml +++ b/dspace/config/spring/api/core-services.xml @@ -154,10 +154,7 @@ -