Compare commits

...

26 Commits

Author SHA1 Message Date
Mark H. Wood
6d9fd03748 [maven-release-plugin] prepare release dspace-4.1 2014-03-03 09:33:40 -05:00
Mark H. Wood
d721abbadd Merge pull request #491 from mwoodiupui/dspace-4_x
[DS-1750] Remove DSpace manual PDF from the source kit.
2014-02-28 16:05:54 -05:00
Mark H. Wood
448853bc90 Don't assemble docs directory that no longer exists 2014-02-26 16:35:33 -05:00
Mark H. Wood
f89cd7f85d [DS-1750] README refers to defunct PDF 2014-02-26 16:30:17 -05:00
Mark H. Wood
52cb291405 [DS-1750] Remove DSpace manual PDF from the source kit. 2014-02-26 16:12:12 -05:00
Mark H. Wood
004a8d8ffc Merge pull request #490 from mwoodiupui/dspace-4_x
[DS-1795] When run command dspace "dspace stat-initial"
2014-02-26 14:22:09 -05:00
Mark H. Wood
bb6f4fccb8 Constrain the subquery to 'dc' fields 2014-02-26 14:18:30 -05:00
Andrea Schweer
be9af85d41 DS-1907 Hit highlighting not working, no abstracts for search results 2014-02-21 17:06:28 +01:00
Ivan Masár
413561ee34 [maven-release-plugin] prepare for next development iteration
Doing the forgotten release step manually.
2014-02-21 17:05:56 +01:00
João Melo
7737b8b7db Solr Timezone Issue fixed 2014-02-21 14:21:45 +01:00
Kim Shepherd
f8f0468f86 [DS-1779] - Pagination link error in JSPUI discovery search 2014-02-21 10:40:02 +13:00
Ivan Masár
05657285a2 DS-1863 JSPUI eperson and group selection should use the new theme 2014-02-20 12:19:10 +01:00
Luigi Andrea Pascarelli
bf071dd936 Merge pull request #479 from lap82/dspace-4_x-DS-1918
[DS-1918] added size for URL column
2014-02-18 23:29:02 +01:00
Pascarelli Luigi Andrea
ae53e55150 DS-1918 added size for URL column 2014-02-18 22:55:55 +01:00
Ivan Masár
7832842e35 DS-1916 Error in update-sequence script in 4.0 2014-02-18 15:18:34 +01:00
KevinVdV
de2e782553 [DS-1848] OAI harvest issues when starting from control panel/command line 2014-02-18 10:19:02 +01:00
KevinVdV
6871833bf3 [DS-1834] Collection content source harvesting test does not check sets properly 2014-02-18 10:18:56 +01:00
KevinVdV
b91bff4fbd [DS-1834] Collection content source harvesting test does not check sets properly 2014-02-17 15:23:42 +01:00
Marsa Haoua
b13bc58c47 Fixes DS-1860 to show all collections and communities in community list. 2014-02-17 14:59:08 +01:00
KevinVdV
61255bfd24 [DS-1898] OAI not always closing contexts 2014-02-14 10:18:27 +01:00
Ivan Masár
d1c5df9699 DS-1821 Internationalize the bitstream access icon alt text 2014-02-07 09:45:06 +01:00
Mark H. Wood
7dcfdc39b6 Remove all traces of metadataStorageInfo.
The field is never set in SolrLogger, so getMetadataStorageInfo always
returns null.  Attempts to dereference the Map supposedly returned
should thus always terminate abruptly.
2014-02-05 16:55:59 -05:00
Mark H. Wood
5dc4f40321 Tidy up some warnings and hints 2014-02-05 16:55:59 -05:00
Àlex Magaz Graça
e26c2e49e6 DS-1536 having a DOT in handle prefix causes identifier.uri to be cut off when being created. 2014-02-05 16:40:23 -05:00
Tim Donohue
b6f0d0006b Minor fixes for Checksum Checker Daily Report Emailer. Ensure it only sends an email if there's a possible issue. Also include DSpace hostname in email subject. 2014-01-31 22:01:28 +00:00
Panagiotis Koutsourakis
046d96c44a Change BTE version to 0.9.2.3 2014-01-31 16:22:45 +01:00
46 changed files with 311 additions and 349 deletions

7
README
View File

@@ -1,6 +1,9 @@
Installation instructions are included in this release package under Installation instructions may be found in DSpace-Manual.pdf, offered
with the source archives in the SourceForge project:
- dspace/docs/DSpace-Manual.pdf http://sourceforge.net/projects/dspace/files/DSpace%20Stable/VERSION/
(Replace "VERSION" with the version you are installing, such as "4.0".)
DSpace version information can be viewed online at DSpace version information can be viewed online at
- https://wiki.duraspace.org/display/DSDOC/ - https://wiki.duraspace.org/display/DSDOC/

View File

@@ -12,7 +12,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -436,12 +436,12 @@
<dependency> <dependency>
<groupId>gr.ekt.bte</groupId> <groupId>gr.ekt.bte</groupId>
<artifactId>bte-core</artifactId> <artifactId>bte-core</artifactId>
<version>0.9.3.3</version> <version>0.9.2.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>gr.ekt.bte</groupId> <groupId>gr.ekt.bte</groupId>
<artifactId>bte-io</artifactId> <artifactId>bte-io</artifactId>
<version>0.9.3.3</version> <version>0.9.2.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>

View File

@@ -7,6 +7,7 @@
*/ */
package org.dspace.app.statistics; package org.dspace.app.statistics;
import org.dspace.content.MetadataSchema;
import org.dspace.core.ConfigurationManager; import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.core.LogManager; import org.dspace.core.LogManager;
@@ -153,10 +154,10 @@ public class LogAnalyser
private static Pattern logRegex = null; private static Pattern logRegex = null;
/** pattern to match commented out lines from the config file */ /** pattern to match commented out lines from the config file */
private static Pattern comment = Pattern.compile("^#"); private static final Pattern comment = Pattern.compile("^#");
/** pattern to match genuine lines from the config file */ /** pattern to match genuine lines from the config file */
private static Pattern real = Pattern.compile("^(.+)=(.+)"); private static final Pattern real = Pattern.compile("^(.+)=(.+)");
/** pattern to match all search types */ /** pattern to match all search types */
private static Pattern typeRX = null; private static Pattern typeRX = null;
@@ -1165,8 +1166,12 @@ public class LogAnalyser
"AND metadata_field_id = (" + "AND metadata_field_id = (" +
" SELECT metadata_field_id " + " SELECT metadata_field_id " +
" FROM metadatafieldregistry " + " FROM metadatafieldregistry " +
" WHERE element = 'type' " + " WHERE metadata_schema_id = (" +
" AND qualifier IS NULL) "; " SELECT metadata_schema_id" +
" FROM MetadataSchemaRegistry" +
" WHERE short_id = '" + MetadataSchema.DC_SCHEMA + "')" +
" AND element = 'type' " +
" AND qualifier IS NULL) ";
} }
// start the date constraint query buffer // start the date constraint query buffer
@@ -1184,8 +1189,12 @@ public class LogAnalyser
"WHERE metadata_field_id = (" + "WHERE metadata_field_id = (" +
" SELECT metadata_field_id " + " SELECT metadata_field_id " +
" FROM metadatafieldregistry " + " FROM metadatafieldregistry " +
" WHERE element = 'date' " + " WHERE metadata_schema_id = (" +
" AND qualifier = 'accessioned') "); " SELECT metadata_schema_id" +
" FROM MetadataSchemaRegistry" +
" WHERE short_id = '" + MetadataSchema.DC_SCHEMA + "')" +
" AND element = 'date' " +
" AND qualifier = 'accessioned') ");
// Verifies that the metadata contains a valid date, otherwise the // Verifies that the metadata contains a valid date, otherwise the
// postgres queries blow up when doing the ::timestamp cast. // postgres queries blow up when doing the ::timestamp cast.

View File

@@ -65,12 +65,16 @@ public class DailyReportEmailer
public void sendReport(File attachment, int numberOfBitstreams) public void sendReport(File attachment, int numberOfBitstreams)
throws IOException, javax.mail.MessagingException throws IOException, javax.mail.MessagingException
{ {
Email email = new Email(); if(numberOfBitstreams > 0)
email.setSubject("Checksum checker Report - " + numberOfBitstreams + " Bitstreams found with POSSIBLE issues"); {
email.setContent("report is attached ..."); String hostname = ConfigurationManager.getProperty("dspace.hostname");
email.addAttachment(attachment, "checksum_checker_report.txt"); Email email = new Email();
email.addRecipient(ConfigurationManager.getProperty("mail.admin")); email.setSubject("Checksum checker Report - " + numberOfBitstreams + " Bitstreams found with POSSIBLE issues on " + hostname);
email.send(); email.setContent("report is attached ...");
email.addAttachment(attachment, "checksum_checker_report.txt");
email.addRecipient(ConfigurationManager.getProperty("mail.admin"));
email.send();
}
} }
/** /**

View File

@@ -29,6 +29,7 @@ import java.util.TimeZone;
import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerException;
import ORG.oclc.oai.harvester2.verb.*;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeException;
@@ -64,12 +65,6 @@ import org.jdom.input.DOMBuilder;
import org.jdom.output.XMLOutputter; import org.jdom.output.XMLOutputter;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;
import ORG.oclc.oai.harvester2.verb.GetRecord;
import ORG.oclc.oai.harvester2.verb.Identify;
import ORG.oclc.oai.harvester2.verb.ListMetadataFormats;
import ORG.oclc.oai.harvester2.verb.ListRecords;
import ORG.oclc.oai.harvester2.verb.ListSets;
/** /**
* This class handles OAI harvesting of externally located records into this repository. * This class handles OAI harvesting of externally located records into this repository.
@@ -369,7 +364,13 @@ public class OAIHarvester {
else { else {
listRecords = new ListRecords(oaiSource, resumptionToken); listRecords = new ListRecords(oaiSource, resumptionToken);
} }
targetCollection.update(); ourContext.turnOffAuthorisationSystem();
try {
targetCollection.update();
} finally {
//In case of an exception, make sure to restore our authentication state to the previous state
ourContext.restoreAuthSystemState();
}
ourContext.commit(); ourContext.commit();
} }
} }
@@ -394,6 +395,7 @@ public class OAIHarvester {
} }
finally { finally {
harvestRow.update(); harvestRow.update();
ourContext.turnOffAuthorisationSystem();
targetCollection.update(); targetCollection.update();
ourContext.commit(); ourContext.commit();
ourContext.restoreAuthSystemState(); ourContext.restoreAuthSystemState();
@@ -954,29 +956,21 @@ public class OAIHarvester {
try { try {
//If we do not want to harvest from one set, then skip this. //If we do not want to harvest from one set, then skip this.
if(!"all".equals(oaiSetId)){ if(!"all".equals(oaiSetId)){
ListSets ls = new ListSets(oaiSource); ListIdentifiers ls = new ListIdentifiers(oaiSource, null, null, oaiSetId, DMDOAIPrefix);
// The only error we can really get here is "noSetHierarchy" // The only error we can really get here is "noSetHierarchy"
if (ls.getErrors() != null && ls.getErrors().getLength() > 0) { if (ls.getErrors() != null && ls.getErrors().getLength() > 0) {
for (int i=0; i<ls.getErrors().getLength(); i++) { for (int i=0; i<ls.getErrors().getLength(); i++) {
String errorCode = ls.getErrors().item(i).getAttributes().getNamedItem("code").getTextContent(); String errorCode = ls.getErrors().item(i).getAttributes().getNamedItem("code").getTextContent();
errorSet.add(errorCode); errorSet.add(OAI_SET_ERROR + ": The OAI server does not have a set with the specified setSpec (" + errorCode + ")");
} }
} }
else { else {
// Drilling down to /OAI-PMH/ListSets/set // Drilling down to /OAI-PMH/ListSets/set
Document reply = db.build(ls.getDocument()); Document reply = db.build(ls.getDocument());
Element root = reply.getRootElement(); Element root = reply.getRootElement();
List<Element> sets= root.getChild("ListSets",OAI_NS).getChildren("set",OAI_NS); //Check if we can find items, if so this indicates that we have children and our sets exist
foundSet = 0 < root.getChild("ListIdentifiers",OAI_NS).getChildren().size();
for (Element set : sets)
{
String setSpec = set.getChildText("setSpec", OAI_NS);
if (setSpec.equals(oaiSetId)) {
foundSet = true;
break;
}
}
if (!foundSet) { if (!foundSet) {
errorSet.add(OAI_SET_ERROR + ": The OAI server does not have a set with the specified setSpec"); errorSet.add(OAI_SET_ERROR + ": The OAI server does not have a set with the specified setSpec");

View File

@@ -545,7 +545,7 @@ public class VersionedHandleIdentifierProvider extends IdentifierProvider {
protected String getCanonical(Item item) protected String getCanonical(Item item)
{ {
String canonical = item.getHandle(); String canonical = item.getHandle();
if( canonical.lastIndexOf(DOT)!=-1) if( canonical.matches(".*/.*\\.\\d+") && canonical.lastIndexOf(DOT)!=-1)
{ {
canonical = canonical.substring(0, canonical.lastIndexOf(DOT)); canonical = canonical.substring(0, canonical.lastIndexOf(DOT));
} }
@@ -556,7 +556,7 @@ public class VersionedHandleIdentifierProvider extends IdentifierProvider {
protected String getCanonical(String identifier) protected String getCanonical(String identifier)
{ {
String canonical = identifier; String canonical = identifier;
if( canonical.lastIndexOf(DOT)!=-1) if( canonical.matches(".*/.*\\.\\d+") && canonical.lastIndexOf(DOT)!=-1)
{ {
canonical = canonical.substring(0, canonical.lastIndexOf(DOT)); canonical = canonical.substring(0, canonical.lastIndexOf(DOT));
} }

View File

@@ -7,7 +7,6 @@
*/ */
package org.dspace.statistics; package org.dspace.statistics;
import au.com.bytecode.opencsv.CSVParser;
import au.com.bytecode.opencsv.CSVReader; import au.com.bytecode.opencsv.CSVReader;
import au.com.bytecode.opencsv.CSVWriter; import au.com.bytecode.opencsv.CSVWriter;
import com.maxmind.geoip.Location; import com.maxmind.geoip.Location;
@@ -78,8 +77,6 @@ public class SolrLogger
private static final LookupService locationService; private static final LookupService locationService;
private static Map<String, String> metadataStorageInfo;
private static final boolean useProxies; private static final boolean useProxies;
private static List<String> statisticYearCores = new ArrayList<String>(); private static List<String> statisticYearCores = new ArrayList<String>();
@@ -563,11 +560,6 @@ public class SolrLogger
} }
public static Map<String, String> getMetadataStorageInfo()
{
return metadataStorageInfo;
}
/** /**
* Method just used to log the parents. * Method just used to log the parents.
* <ul> * <ul>
@@ -676,18 +668,6 @@ public class SolrLogger
// We have at least one document good // We have at least one document good
SolrDocument document = response.getResults().get(0); SolrDocument document = response.getResults().get(0);
for (Object storedField : metadataStorageInfo.keySet())
{
// For each of these fields that are stored we are to create a
// list of the values it holds now
java.util.Collection collection = document
.getFieldValues((String) storedField);
List<String> storedVals = new ArrayList<String>();
storedVals.addAll(collection);
// Now add it to our hashmap
currentValsStored.put((String) storedField, storedVals);
}
// System.out.println("HERE"); // System.out.println("HERE");
// Get the info we need // Get the info we need
} }

View File

@@ -37,6 +37,7 @@ public class StatisticsLoggingConsumer implements Consumer
private Set<String> toRemoveQueries = null; private Set<String> toRemoveQueries = null;
@Override
public void initialize() throws Exception public void initialize() throws Exception
{ {
@@ -45,6 +46,7 @@ public class StatisticsLoggingConsumer implements Consumer
// TODO: checkout whether moving of collections, communities and bitstreams works // TODO: checkout whether moving of collections, communities and bitstreams works
// TODO: use async threaded consumer as this might require some processing time // TODO: use async threaded consumer as this might require some processing time
// TODO: we might be able to improve the performance: changing the collection will trigger 4 update commands // TODO: we might be able to improve the performance: changing the collection will trigger 4 update commands
@Override
public void consume(Context ctx, Event event) throws Exception public void consume(Context ctx, Event event) throws Exception
{ {
if (toRemoveQueries == null) if (toRemoveQueries == null)
@@ -78,45 +80,9 @@ public class StatisticsLoggingConsumer implements Consumer
updateQuery, null, null); updateQuery, null, null);
// Get all the metadata // Get all the metadata
Map<String, String> metadataStorageInfo = SolrLogger.getMetadataStorageInfo();
List<String> storageFieldList = new ArrayList<String>(); List<String> storageFieldList = new ArrayList<String>();
List<List<Object>> storageValuesList = new ArrayList<List<Object>>(); List<List<Object>> storageValuesList = new ArrayList<List<Object>>();
for (Map.Entry<String, String> entry : metadataStorageInfo.entrySet())
{
String[] metadataFieldInfo = entry.getValue().split("\\.");
List<Object> values = new ArrayList<Object>();
List<Object> valuesLow = new ArrayList<Object>();
for (int i = 0; i < item.getMetadata(metadataFieldInfo[0],
metadataFieldInfo[1], metadataFieldInfo[2], Item.ANY).length; i++)
{
values.add(item.getMetadata(metadataFieldInfo[0],
metadataFieldInfo[1], metadataFieldInfo[2],
Item.ANY)[i].value);
valuesLow.add(item.getMetadata(metadataFieldInfo[0],
metadataFieldInfo[1], metadataFieldInfo[2],
Item.ANY)[i].value.toLowerCase());
}
List<String> indexedVals = indexedValues.get(entry.getKey());
boolean update = true;
if (values.size() == indexedVals.size() && values.containsAll(indexedVals))
{
update = false;
}
if (update)
{
storageFieldList.add(entry.getKey());
storageFieldList.add(entry.getKey() + "_search");
storageValuesList.add(values);
storageValuesList.add(valuesLow);
}
}
SolrLogger.update(updateQuery, "replace", storageFieldList, SolrLogger.update(updateQuery, "replace", storageFieldList,
storageValuesList); storageValuesList);
@@ -202,6 +168,7 @@ public class StatisticsLoggingConsumer implements Consumer
findComms(comm.getParentCommunity(), parentComms); findComms(comm.getParentCommunity(), parentComms);
} }
@Override
public void end(Context ctx) throws Exception public void end(Context ctx) throws Exception
{ {
if (toRemoveQueries != null) if (toRemoveQueries != null)
@@ -215,6 +182,7 @@ public class StatisticsLoggingConsumer implements Consumer
toRemoveQueries = null; toRemoveQueries = null;
} }
@Override
public void finish(Context ctx) throws Exception public void finish(Context ctx) throws Exception
{ {
} }

View File

@@ -16,13 +16,10 @@ import org.dspace.core.Constants;
import org.dspace.core.ConfigurationManager; import org.dspace.core.ConfigurationManager;
import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObject;
import org.dspace.content.Bitstream; import org.dspace.content.Bitstream;
import org.dspace.content.DCValue;
import org.dspace.content.Item;
import org.dspace.eperson.EPerson; import org.dspace.eperson.EPerson;
import org.dspace.statistics.SolrLogger; import org.dspace.statistics.SolrLogger;
import java.util.Date; import java.util.Date;
import java.util.Map;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import com.maxmind.geoip.LookupService; import com.maxmind.geoip.LookupService;
@@ -196,8 +193,6 @@ public class StatisticsDataGenerator {
solr.deleteByQuery("*:*"); solr.deleteByQuery("*:*");
solr.commit(); solr.commit();
Map<String, String> metadataStorageInfo = SolrLogger.getMetadataStorageInfo();
String prevIp = null; String prevIp = null;
String dbfile = ConfigurationManager.getProperty("usage-statistics", "dbfile"); String dbfile = ConfigurationManager.getProperty("usage-statistics", "dbfile");
LookupService cl = new LookupService(dbfile, LookupService cl = new LookupService(dbfile,
@@ -366,24 +361,6 @@ public class StatisticsDataGenerator {
doc1.addField("dns", dns.toLowerCase()); doc1.addField("dns", dns.toLowerCase());
} }
if (dso instanceof Item) {
Item item = (Item) dso;
// Store the metadata
for (Map.Entry<String, String> entry : metadataStorageInfo.entrySet())
{
String dcField = entry.getValue();
DCValue[] vals = item.getMetadata(dcField.split("\\.")[0],
dcField.split("\\.")[1], dcField.split("\\.")[2],
Item.ANY);
for (DCValue val1 : vals) {
String val = val1.value;
doc1.addField(entry.getKey(), val);
doc1.addField(entry.getKey() + "_search", val.toLowerCase());
}
}
}
SolrLogger.storeParents(doc1, dso); SolrLogger.storeParents(doc1, dso);
solr.add(doc1); solr.add(doc1);

View File

@@ -29,7 +29,7 @@ import com.maxmind.geoip.LookupService;
import com.maxmind.geoip.Location; import com.maxmind.geoip.Location;
/** /**
* Class to load intermediate statistics files (produced from log files by <code>ClassicDSpaceLogConverter</code>) into Solr * Class to load intermediate statistics files (produced from log files by {@link ClassicDSpaceLogConverter}) into Solr.
* *
* @see ClassicDSpaceLogConverter * @see ClassicDSpaceLogConverter
* *
@@ -40,7 +40,7 @@ public class StatisticsImporter
private static final Logger log = Logger.getLogger(StatisticsImporter.class); private static final Logger log = Logger.getLogger(StatisticsImporter.class);
/** Date format (for solr) */ /** Date format (for solr) */
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
/** Solr server connection */ /** Solr server connection */
private static HttpSolrServer solr; private static HttpSolrServer solr;
@@ -48,9 +48,6 @@ public class StatisticsImporter
/** GEOIP lookup service */ /** GEOIP lookup service */
private static LookupService geoipLookup; private static LookupService geoipLookup;
/** Metadata storage information */
private static Map<String, String> metadataStorageInfo;
/** Whether to skip the DNS reverse lookup or not */ /** Whether to skip the DNS reverse lookup or not */
private static boolean skipReverseDNS = false; private static boolean skipReverseDNS = false;
@@ -67,7 +64,7 @@ public class StatisticsImporter
private List<Integer> localBitstreams; private List<Integer> localBitstreams;
/** Whether or not to replace item IDs with local values (for testing) */ /** Whether or not to replace item IDs with local values (for testing) */
private boolean useLocal; private final boolean useLocal;
/** /**
* Constructor. Optionally loads local data to replace foreign data * Constructor. Optionally loads local data to replace foreign data
@@ -339,24 +336,6 @@ public class StatisticsImporter
sid.addField("dns", dns.toLowerCase()); sid.addField("dns", dns.toLowerCase());
} }
if (dso instanceof Item) {
Item item = (Item) dso;
// Store the metadata
for (String storedField : metadataStorageInfo.keySet()) {
String dcField = metadataStorageInfo.get(storedField);
DCValue[] vals = item.getMetadata(dcField.split("\\.")[0],
dcField.split("\\.")[1], dcField.split("\\.")[2],
Item.ANY);
for (DCValue val1 : vals) {
String val = val1.value;
sid.addField(String.valueOf(storedField), val);
sid.addField(String.valueOf(storedField + "_search"),
val.toLowerCase());
}
}
}
SolrLogger.storeParents(sid, dso); SolrLogger.storeParents(sid, dso);
solr.add(sid); solr.add(sid);
errors--; errors--;
@@ -471,7 +450,6 @@ public class StatisticsImporter
} }
solr = new HttpSolrServer(sserver); solr = new HttpSolrServer(sserver);
metadataStorageInfo = SolrLogger.getMetadataStorageInfo();
String dbfile = ConfigurationManager.getProperty("usage-statistics", "dbfile"); String dbfile = ConfigurationManager.getProperty("usage-statistics", "dbfile");
try try
{ {
@@ -495,6 +473,7 @@ public class StatisticsImporter
File dir = sample.getParentFile(); File dir = sample.getParentFile();
FilenameFilter filter = new FilenameFilter() FilenameFilter filter = new FilenameFilter()
{ {
@Override
public boolean accept(File dir, String name) public boolean accept(File dir, String name)
{ {
return name.startsWith(sample.getName()); return name.startsWith(sample.getName());
@@ -522,7 +501,7 @@ public class StatisticsImporter
*/ */
static class DNSCache<K,V> extends LinkedHashMap<K,V> static class DNSCache<K,V> extends LinkedHashMap<K,V>
{ {
private int maxCapacity; private final int maxCapacity;
public DNSCache(int initialCapacity, float loadFactor, int maxCapacity) public DNSCache(int initialCapacity, float loadFactor, int maxCapacity)
{ {

View File

@@ -13,7 +13,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -11,6 +11,7 @@ import java.io.IOException;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.locks.*;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -33,46 +34,71 @@ import org.dspace.core.LogManager;
*/ */
public class CommunityListServlet extends DSpaceServlet public class CommunityListServlet extends DSpaceServlet
{ {
// This will map community IDs to arrays of collections
private Map<Integer, Collection[]> colMap;
// This will map communityIDs to arrays of sub-communities
private Map<Integer, Community[]> commMap;
private static final Object staticLock = new Object();
/** log4j category */ /** log4j category */
private static Logger log = Logger.getLogger(CommunityListServlet.class); private static Logger log = Logger.getLogger(CommunityListServlet.class);
protected void doDSGet(Context context, HttpServletRequest request, protected void doDSGet(Context context, HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException, HttpServletResponse response) throws ServletException, IOException,
SQLException, AuthorizeException SQLException, AuthorizeException
{ {
log.info(LogManager.getHeader(context, "view_community_list", "")); synchronized (staticLock)
{
colMap = new HashMap<Integer, Collection[]>();
commMap = new HashMap<Integer, Community[]>();
// This will map community IDs to arrays of collections log.info(LogManager.getHeader(context, "view_community_list", ""));
Map<Integer, Collection[]> colMap = new HashMap<Integer, Collection[]>();
// This will map communityIDs to arrays of sub-communities Community[] communities = Community.findAllTop(context);
Map<Integer, Community[]> commMap = new HashMap<Integer, Community[]>();
Community[] communities = Community.findAllTop(context); for (int com = 0; com < communities.length; com++)
{
build(communities[com]);
}
for (int com = 0; com < communities.length; com++) // can they admin communities?
if (AuthorizeManager.isAdmin(context))
{
// set a variable to create an edit button
request.setAttribute("admin_button", Boolean.TRUE);
}
request.setAttribute("communities", communities);
request.setAttribute("collections.map", colMap);
request.setAttribute("subcommunities.map", commMap);
JSPManager.showJSP(request, response, "/community-list.jsp");
}
}
/*
* Get all subcommunities and collections from a community
*/
private void build(Community c) throws SQLException {
Integer comID = Integer.valueOf(c.getID());
// Find collections in community
Collection[] colls = c.getCollections();
colMap.put(comID, colls);
// Find subcommunties in community
Community[] comms = c.getSubcommunities();
// Get all subcommunities for each communities if they have some
if (comms.length > 0)
{ {
Integer comID = Integer.valueOf(communities[com].getID());
// Find collections in community
Collection[] colls = communities[com].getCollections();
colMap.put(comID, colls);
// Find subcommunties in community
Community[] comms = communities[com].getSubcommunities();
commMap.put(comID, comms); commMap.put(comID, comms);
for (int sub = 0; sub < comms.length; sub++) {
build(comms[sub]);
}
} }
// can they admin communities?
if (AuthorizeManager.isAdmin(context))
{
// set a variable to create an edit button
request.setAttribute("admin_button", Boolean.TRUE);
}
request.setAttribute("communities", communities);
request.setAttribute("collections.map", colMap);
request.setAttribute("subcommunities.map", commMap);
JSPManager.showJSP(request, response, "/community-list.jsp");
} }
} }

View File

@@ -432,7 +432,7 @@ else if( qResults != null)
// create the URLs accessing the previous and next search result pages // create the URLs accessing the previous and next search result pages
String baseURL = request.getContextPath() String baseURL = request.getContextPath()
+ searchScope + (searchScope != "" ? "/handle/" + searchScope : "")
+ "/simple-search?query=" + "/simple-search?query="
+ URLEncoder.encode(query,"UTF-8") + URLEncoder.encode(query,"UTF-8")
+ httpFilters + httpFilters

View File

@@ -130,7 +130,16 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="<%= request.getContextPath() %>/styles.css" type="text/css"/> <link rel="stylesheet" href="<%= request.getContextPath() %>/styles.css" type="text/css"/>
<link rel="shortcut icon" href="<%= request.getContextPath() %>/favicon.ico" type="image/x-icon"/> <link rel="shortcut icon" href="<%= request.getContextPath() %>/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/jquery-ui-1.10.3.custom/redmond/jquery-ui-1.10.3.custom.css" type="text/css" />
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/bootstrap/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/bootstrap/bootstrap-theme.min.css" type="text/css" />
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/bootstrap/dspace-theme.css" type="text/css" />
<script type='text/javascript' src="<%= request.getContextPath() %>/static/js/jquery/jquery-1.10.2.min.js"></script>
<script type='text/javascript' src='<%= request.getContextPath() %>/static/js/jquery/jquery-ui-1.10.3.custom.min.js'></script>
<script type='text/javascript' src='<%= request.getContextPath() %>/static/js/bootstrap/bootstrap.min.js'></script>
<script type='text/javascript' src='<%= request.getContextPath() %>/static/js/holder.js'></script>
<script type="text/javascript" src="<%= request.getContextPath() %>/utils.js"></script>
<script type="text/javascript"> <script type="text/javascript">
<!-- Begin <!-- Begin
@@ -169,73 +178,65 @@ function clearEPeople()
<p class="submitFormHelp"><fmt:message key="jsp.tools.eperson-list.info1"/></p> <p class="submitFormHelp"><fmt:message key="jsp.tools.eperson-list.info1"/></p>
<% } %> <% } %>
<center> <center>
<form method="get"> <form method="get">
<input type="hidden" name="first" value="<%= first %>" /> <input type="hidden" name="first" value="<%= first %>" />
<input type="hidden" name="sortby" value="<%= sortBy %>" /> <input type="hidden" name="sortby" value="<%= sortBy %>" />
<input type="hidden" name="multiple" value="<%= multiple %>" /> <input type="hidden" name="multiple" value="<%= multiple %>" />
<label for="search"><fmt:message key="jsp.tools.eperson-list.search.query" /></label><input type="text" name="search" value="<%= search %>"/> <label for="search"><fmt:message key="jsp.tools.eperson-list.search.query"/></label>
<input type="submit" value="<fmt:message key="jsp.tools.eperson-list.search.submit" />" /> <input class="form-control" style="width:200px;"type="text" name="search" value="<%= search %>"/>
<% <input class="btn btn-success" type="submit" value="<fmt:message key="jsp.tools.eperson-list.search.submit" />" />
if (search != null && !search.equals("")) <%
{ %> if (search != null && !search.equals("")){ %>
<br/> <a class="btn btn-warning" href="<%= request.getContextPath() + "/tools/eperson-list?multiple=" + multiple + "&sortby=" + sortByParam + "&first="+first %>"><fmt:message key="jsp.tools.eperson-list.search.return-browse" /></a>
<a href="<%= request.getContextPath() + "/tools/eperson-list?multiple=" + multiple + "&sortby=" + sortByParam + "&first="+first %>"><fmt:message key="jsp.tools.eperson-list.search.return-browse" /></a> <%}%>
<%
} </form>
%>
</form>
</center> </center>
<%-- Controls for jumping around list--%> <%-- Controls for jumping around list--%>
<table width="99%"> <div class="span12" style="text-align:center">
<tr> <ul class="pagination">
<%-- <td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</a></strong></small></td> <li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.eperson-list.jump.first"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.eperson-list.jump.five-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.eperson-list.jump.one-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.eperson-list.jump.one-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.eperson-list.jump.five-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</a></strong></small></td> --%> <li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.eperson-list.jump.last"/></a></li>
</ul>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.eperson-list.jump.first"/></a></strong></small></td> </div
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.eperson-list.jump.five-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.eperson-list.jump.one-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.eperson-list.jump.one-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.eperson-list.jump.five-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.eperson-list.jump.last"/></a></strong></small></td>
</tr>
</table>
<br/> <br/>
<form method="get" action=""> <%-- Will never actually be posted, it's just so buttons will appear --%> <form method="get" action=""> <%-- Will never actually be posted, it's just so buttons will appear --%>
<table class="miscTable" align="center" summary="Epeople list"> <table class="table table-striped" align="center" summary="Epeople list">
<% if (search != null && !search.equals("")) <% if (search != null && !search.equals(""))
{ %> { %>
<tr> <tr>
<th class="oddRowOddCol">&nbsp;</th> <th>&nbsp;</th>
<th class="oddRowEvenCol"><fmt:message key="jsp.tools.eperson-list.th.id" /></th> <th><fmt:message key="jsp.tools.eperson-list.th.id" /></th>
<th class="oddRowOddCol"><fmt:message key="jsp.tools.eperson-list.th.email" /></th> <th><fmt:message key="jsp.tools.eperson-list.th.email" /></th>
<th class="oddRowEvenCol"><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th> <th><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th>
<th class="oddRowOddCol"><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th> <th><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th>
</tr> </tr>
<% } <% }
else else
{ %> { %>
<tr> <tr>
<th id="t1" class="oddRowOddCol">&nbsp;</th> <th id="t1">&nbsp;</th>
<th id="t2" class="oddRowEvenCol"><% <th id="t2"><%
if (sortBy == EPerson.ID) if (sortBy == EPerson.ID)
{ {
%><strong><fmt:message key="jsp.tools.eperson-list.th.id.sortedby" /></strong><% %><fmt:message key="jsp.tools.eperson-list.th.id"/><span class="glyphicon glyphicon-arrow-down"><%
} }
else else
{ {
%><a href="<%= sortLink %>id"><fmt:message key="jsp.tools.eperson-list.th.id" /></a><% %><a href="<%= sortLink %>id"><fmt:message key="jsp.tools.eperson-list.th.id" /></a><%
} }
%></th> %></th>
<th id="t3" class="oddRowOddCol"><% <th id="t3"><%
if (sortBy == EPerson.EMAIL) if (sortBy == EPerson.EMAIL)
{ {
%><strong><fmt:message key="jsp.tools.eperson-list.th.email.sortedby" /></strong><% %><fmt:message key="jsp.tools.eperson-list.th.email"/><span class="glyphicon glyphicon-arrow-down"><%
} }
else else
{ {
@@ -243,10 +244,10 @@ function clearEPeople()
} }
%></th> %></th>
<%-- <th class="oddRowEvenCol"><%= sortBy == EPerson.LASTNAME ? "<strong>Last Name &uarr;</strong>" : "<a href=\"" + sortLink + "lastname\">Last Name</a>" %></th> --%> <%-- <th class="oddRowEvenCol"><%= sortBy == EPerson.LASTNAME ? "<strong>Last Name &uarr;</strong>" : "<a href=\"" + sortLink + "lastname\">Last Name</a>" %></th> --%>
<th id="t4" class="oddRowEvenCol"><% <th id="t4"><%
if (sortBy == EPerson.LASTNAME) if (sortBy == EPerson.LASTNAME)
{ {
%><fmt:message key="jsp.tools.eperson-list.th.lastname.sortedby" /><% %><fmt:message key="jsp.tools.eperson-list.th.lastname"/><span class="glyphicon glyphicon-arrow-down"><%
} }
else else
{ {
@@ -254,12 +255,12 @@ function clearEPeople()
} }
%></th> %></th>
<th id="t5" class="oddRowOddCol"><fmt:message key="jsp.tools.eperson-list.th.firstname"/></th> <th id="t5"><fmt:message key="jsp.tools.eperson-list.th.firstname"/></th>
<th id="t6" class="oddRowEvenCol"><% <th id="t6"><%
if (sortBy == EPerson.LANGUAGE) if (sortBy == EPerson.LANGUAGE)
{ {
%><fmt:message key="jsp.tools.eperson-list.th.language.sortedby" /><% %><fmt:message key="jsp.tools.eperson-list.th.language"/><span class="glyphicon glyphicon-arrow-down"></span><%
} }
else else
{ {
@@ -285,20 +286,20 @@ function clearEPeople()
String fullname = StringEscapeUtils.escapeXml(StringEscapeUtils.escapeJavaScript(e.getFullName())); String fullname = StringEscapeUtils.escapeXml(StringEscapeUtils.escapeJavaScript(e.getFullName()));
String email = StringEscapeUtils.escapeXml(StringEscapeUtils.escapeJavaScript(e.getEmail())); String email = StringEscapeUtils.escapeXml(StringEscapeUtils.escapeJavaScript(e.getEmail()));
%> %>
<tr> <tr>
<td headers="t1" class="<%= row %>RowOddCol"> <td headers="t1">
<input type="button" value="<% <input class="btn btn-success" type="button" value="<%
if (multiple) { %><fmt:message key="jsp.tools.general.add"/><% } if (multiple) { %><fmt:message key="jsp.tools.general.add"/><% }
else { %><fmt:message key="jsp.tools.general.select"/><% } %>" onclick="javascript:<%= clearList %>addEPerson(<%= e.getID() %>, '<%= email %>', '<%= fullname %>');<%= closeWindow %>"/></td> else { %><fmt:message key="jsp.tools.general.select"/><% } %>" onclick="javascript:<%= clearList %>addEPerson(<%= e.getID() %>, '<%= email %>', '<%= fullname %>');<%= closeWindow %>"/></td>
<td headers="t2" class="<%= row %>RowEvenCol"><%= e.getID() %></td> <td headers="t2"><%= e.getID() %></td>
<td headers="t3" class="<%= row %>RowOddCol"><%= (e.getEmail() == null ? "" : Utils.addEntities(e.getEmail())) %></td> <td headers="t3"><%= (e.getEmail() == null ? "" : Utils.addEntities(e.getEmail())) %></td>
<td headers="t4" class="<%= row %>RowEvenCol"> <td headers="t4">
<%= (e.getLastName() == null ? "" : Utils.addEntities(e.getLastName())) %> <%= (e.getLastName() == null ? "" : Utils.addEntities(e.getLastName())) %>
</td> </td>
<td headers="t5" class="<%= row %>RowOddCol"> <td headers="t5">
<%= (e.getFirstName() == null ? "" : Utils.addEntities(e.getFirstName())) %> <%= (e.getFirstName() == null ? "" : Utils.addEntities(e.getFirstName())) %>
</td> </td>
<td headers="t6" class="<%= row %>RowOddCol"> <td headers="t6">
<%= (e.getLanguage() == null ? "" : Utils.addEntities(e.getLanguage())) %> <%= (e.getLanguage() == null ? "" : Utils.addEntities(e.getLanguage())) %>
</td> </td>
</tr> </tr>
@@ -311,28 +312,21 @@ function clearEPeople()
<br/> <br/>
<%-- Controls for jumping around list--%> <%-- Controls for jumping around list--%>
<table width="99%"> <div class="span12" style="text-align:center">
<tr> <ul class="pagination">
<%-- <li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.eperson-list.jump.first"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.eperson-list.jump.five-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.eperson-list.jump.one-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.eperson-list.jump.one-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.eperson-list.jump.five-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</a></strong></small></td> <li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.eperson-list.jump.last"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</a></strong></small></td> </ul>
--%> </div>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.eperson-list.jump.first"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.eperson-list.jump.five-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.eperson-list.jump.one-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.eperson-list.jump.one-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.eperson-list.jump.five-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.eperson-list.jump.last"/></a></strong></small></td>
</tr>
</table>
<%-- <p align="center"><input type="button" value="Close" onClick="window.close();"/></p> --%> <%-- <p align="center"><input type="button" value="Close" onClick="window.close();"/></p> --%>
<p align="center"><input type="button" value="<fmt:message key="jsp.tools.eperson-list.close.button"/>" onclick="window.close();"/></p> <p align="center">
<input type="button" class="btn btn-danger" value="<fmt:message key="jsp.tools.eperson-list.close.button"/>" onclick="window.close();"/>
</p>
</form> </form>

View File

@@ -75,7 +75,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="<%= request.getContextPath() %>/styles.css" type="text/css"/> <link rel="stylesheet" href="<%= request.getContextPath() %>/styles.css" type="text/css"/>
<link rel="shortcut icon" href="<%= request.getContextPath() %>/favicon.ico" type="image/x-icon"/> <link rel="shortcut icon" href="<%= request.getContextPath() %>/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/bootstrap/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/bootstrap/bootstrap-theme.min.css" type="text/css" />
<link rel="stylesheet" href="<%= request.getContextPath() %>/static/css/bootstrap/dspace-theme.css" type="text/css" />
<script type='text/javascript' src='<%= request.getContextPath() %>/static/js/bootstrap/bootstrap.min.js'></script>
<script type="text/javascript"> <script type="text/javascript">
<!-- Begin <!-- Begin
@@ -116,35 +120,27 @@ function clearGroups()
<% } %> <% } %>
<%-- Controls for jumping around list--%> <%-- Controls for jumping around list--%>
<table width="99%"> <div class="span12" style="text-align:center">
<tr> <ul class="pagination">
<%-- <td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</A></strong></small></td> <li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.group-select-list.jump.first"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.group-select-list.jump.five-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.group-select-list.jump.one-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.group-select-list.jump.one-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.group-select-list.jump.five-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.group-select-list.jump.last"/></a></li>
--%> </ul>
</div>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.group-select-list.jump.first"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.group-select-list.jump.five-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.group-select-list.jump.one-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.group-select-list.jump.one-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.group-select-list.jump.five-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.group-select-list.jump.last"/></a></strong></small></td>
</tr>
</table>
<br/> <br/>
<form method="get" action=""> <%-- Will never actually be posted, it's just so buttons will appear --%> <form method="get" action=""> <%-- Will never actually be posted, it's just so buttons will appear --%>
<table class="miscTable" align="center" summary="Group list"> <table class="table table-striped" align="center" summary="Group list">
<tr> <tr>
<th id="t1" class="oddRowOddCol">&nbsp;</th> <th id="t1" class="oddRowOddCol">&nbsp;</th>
<th id="t2" class="oddRowEvenCol"><% <th id="t2" class="oddRowEvenCol"><%
if (sortBy == Group.ID) if (sortBy == Group.ID)
{ {
%><strong><fmt:message key="jsp.tools.group-select-list.th.id.sortedby" /></strong><% %><fmt:message key="jsp.tools.group-select-list.th.id"/><span class="glyphicon glyphicon-arrow-down"><%
} }
else else
{ {
@@ -154,7 +150,7 @@ function clearGroups()
<th id="t3" class="oddRowOddCol"><% <th id="t3" class="oddRowOddCol"><%
if (sortBy == Group.NAME) if (sortBy == Group.NAME)
{ {
%><strong><fmt:message key="jsp.tools.group-select-list.th.name.sortedby" /></strong><% %><fmt:message key="jsp.tools.group-select-list.th.name" /><span class="glyphicon glyphicon-arrow-down"><%
} }
else else
{ {
@@ -180,12 +176,12 @@ function clearGroups()
String fullname = g.getName().replace('\'', ' '); String fullname = g.getName().replace('\'', ' ');
%> %>
<tr> <tr>
<td headers="t1" class="<%= row %>RowOddCol"> <td headers="t1" class="">
<input type="button" value="<% <input type="button" class="btn btn-success" value="<%
if (multiple) { %><fmt:message key="jsp.tools.general.add"/><% } if (multiple) { %><fmt:message key="jsp.tools.general.add"/><% }
else { %><fmt:message key="jsp.tools.general.select"/><% } %>" onclick="javascript:<%= clearList %>addGroup('<%= g.getID() %>', '<%= Utils.addEntities(fullname) %>');<%= closeWindow %>"/></td> else { %><fmt:message key="jsp.tools.general.select"/><% } %>" onclick="javascript:<%= clearList %>addGroup('<%= g.getID() %>', '<%= Utils.addEntities(fullname) %>');<%= closeWindow %>"/></td>
<td headers="t2" class="<%= row %>RowEvenCol"><%= g.getID() %></td> <td headers="t2" class=""><%= g.getID() %></td>
<td headers="t3" class="<%= row %>RowOddCol"> <%= g.getName()%></td> <td headers="t3" class=""> <%= g.getName()%></td>
</tr> </tr>
<% <%
row = (row.equals("odd") ? "even" : "odd"); row = (row.equals("odd") ? "even" : "odd");
@@ -196,27 +192,19 @@ function clearGroups()
<br/> <br/>
<%-- Controls for jumping around list--%> <%-- Controls for jumping around list--%>
<table width="99%"> <div class="span12" style="text-align:center">
<tr> <ul class="pagination">
<%-- <td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</A></strong></small></td> <li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.group-select-list.jump.first"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.group-select-list.jump.five-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.group-select-list.jump.one-back"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.group-select-list.jump.one-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.group-select-list.jump.five-forward"/></a></li>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</A></strong></small></td> <li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.group-select-list.jump.last"/></a></li>
--%> </ul>
</div>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.group-select-list.jump.first"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.group-select-list.jump.five-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.group-select-list.jump.one-back"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.group-select-list.jump.one-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.group-select-list.jump.five-forward"/></a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.group-select-list.jump.last"/></a></strong></small></td>
</tr>
</table>
<%-- <p align="center"><input type="button" value="Close" onClick="window.close();"></p> --%> <%-- <p align="center"><input type="button" value="Close" onClick="window.close();"></p> --%>
<p align="center"><input type="button" value="<fmt:message key="jsp.tools.group-select-list.close.button"/>" onclick="window.close();"/></p> <p align="center"><input type="button" class="btn btn-danger" value="<fmt:message key="jsp.tools.group-select-list.close.button"/>" onclick="window.close();"/></p>
</form> </form>

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -8,7 +8,7 @@
<parent> <parent>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -158,6 +158,11 @@ public class DSpaceOAIDataProvider extends HttpServlet
"Requested OAI context \"" "Requested OAI context \""
+ request.getPathInfo().replace("/", "") + request.getPathInfo().replace("/", "")
+ "\" does not exist"); + "\" does not exist");
} finally {
if(context != null && context.isValid())
{
context.abort();
}
} }
} }

View File

@@ -7,13 +7,14 @@
*/ */
package org.dspace.xoai.util; package org.dspace.xoai.util;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.Locale; import java.util.Locale;
import java.util.TimeZone;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
/** /**
* *
@@ -33,8 +34,8 @@ public class DateUtils
// 2008-01-01T00:00:00Z // 2008-01-01T00:00:00Z
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'000Z'"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'000Z'");
if (!init) sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'999Z'"); if (!init) sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'999Z'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String ret = sdf.format(date); String ret = sdf.format(date);
System.out.println(ret);
return ret; return ret;
} }

View File

@@ -3,14 +3,14 @@
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-rest</artifactId> <artifactId>dspace-rest</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>4.0</version> <version>4.1</version>
<name>DSpace RESTful web services API</name> <name>DSpace RESTful web services API</name>
<url>http://demo.dspace.org</url> <url>http://demo.dspace.org</url>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -9,7 +9,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
</parent> </parent>
<properties> <properties>

View File

@@ -20,7 +20,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -15,7 +15,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -13,7 +13,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -2120,6 +2120,7 @@
<message key="xmlui.dri2xhtml.METS-1.0.item-files-view">View</message> <message key="xmlui.dri2xhtml.METS-1.0.item-files-view">View</message>
<message key="xmlui.dri2xhtml.METS-1.0.item-files-description">Description</message> <message key="xmlui.dri2xhtml.METS-1.0.item-files-description">Description</message>
<message key="xmlui.dri2xhtml.METS-1.0.item-files-viewOpen">View/<wbr/>Open</message> <message key="xmlui.dri2xhtml.METS-1.0.item-files-viewOpen">View/<wbr/>Open</message>
<message key="xmlui.dri2xhtml.METS-1.0.item-files-access-rights">Read access available for</message>
<message key="xmlui.dri2xhtml.METS-1.0.item-no-files">There are no files associated with this item.</message> <message key="xmlui.dri2xhtml.METS-1.0.item-no-files">There are no files associated with this item.</message>
<message key="xmlui.dri2xhtml.METS-1.0.size-bytes">bytes</message> <message key="xmlui.dri2xhtml.METS-1.0.size-bytes">bytes</message>

View File

@@ -539,11 +539,15 @@
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<xsl:variable name="alt-text"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-access-rights</i18n:text> <xsl:value-of select="$users"/></xsl:variable>
<xsl:choose> <xsl:choose>
<xsl:when test="(not ($rights_context/@CONTEXTCLASS = 'GENERAL PUBLIC') and ($rights_context/rights:Permissions/@DISPLAY = 'true')) or not ($rights_context)"> <xsl:when test="(not ($rights_context/@CONTEXTCLASS = 'GENERAL PUBLIC') and ($rights_context/rights:Permissions/@DISPLAY = 'true')) or not ($rights_context)">
<a href="{mets:FLocat[@LOCTYPE='URL']/@xlink:href}"> <a href="{mets:FLocat[@LOCTYPE='URL']/@xlink:href}">
<img width="64" height="64" src="{concat($theme-path,'/images/Crystal_Clear_action_lock3_64px.png')}" title="Read access available for {$users}"/> <img width="64" height="64" src="{concat($theme-path,'/images/Crystal_Clear_action_lock3_64px.png')}">
<xsl:attribute name="title"><xsl:value-of select="$alt-text"/></xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="$alt-text"/></xsl:attribute>
</img>
<!-- icon source: http://commons.wikimedia.org/wiki/File:Crystal_Clear_action_lock3.png --> <!-- icon source: http://commons.wikimedia.org/wiki/File:Crystal_Clear_action_lock3.png -->
</a> </a>
</xsl:when> </xsl:when>

View File

@@ -222,11 +222,15 @@
<xsl:if test="position() != last()">, </xsl:if> <xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:variable> </xsl:variable>
<xsl:variable name="alt-text"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-access-rights</i18n:text> <xsl:value-of select="$users"/></xsl:variable>
<xsl:choose> <xsl:choose>
<xsl:when test="not ($rights_context/@CONTEXTCLASS = 'GENERAL PUBLIC') and ($rights_context/rights:Permissions/@DISPLAY = 'true')"> <xsl:when test="not ($rights_context/@CONTEXTCLASS = 'GENERAL PUBLIC') and ($rights_context/rights:Permissions/@DISPLAY = 'true')">
<a href="{mets:FLocat[@LOCTYPE='URL']/@xlink:href}"> <a href="{mets:FLocat[@LOCTYPE='URL']/@xlink:href}">
<img width="64" height="64" src="{concat($theme-path,'/images/Crystal_Clear_action_lock3_64px.png')}" title="Read access available for {$users}"/> <img width="64" height="64" src="{concat($theme-path,'/images/Crystal_Clear_action_lock3_64px.png')}">
<xsl:attribute name="title"><xsl:value-of select="$alt-text"/></xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="$alt-text"/></xsl:attribute>
</img>
<!-- icon source: http://commons.wikimedia.org/wiki/File:Crystal_Clear_action_lock3.png --> <!-- icon source: http://commons.wikimedia.org/wiki/File:Crystal_Clear_action_lock3.png -->
</a> </a>
</xsl:when> </xsl:when>

View File

@@ -235,6 +235,32 @@
<property name="useAsHomePage" value="false"/> <property name="useAsHomePage" value="false"/>
</bean> </bean>
</property> </property>
<property name="hitHighlightingConfiguration">
<bean class="org.dspace.discovery.configuration.DiscoveryHitHighlightingConfiguration">
<property name="metadataFields">
<list>
<bean class="org.dspace.discovery.configuration.DiscoveryHitHighlightFieldConfiguration">
<property name="field" value="dc.title"/>
<property name="snippets" value="5"/>
</bean>
<bean class="org.dspace.discovery.configuration.DiscoveryHitHighlightFieldConfiguration">
<property name="field" value="dc.contributor.author"/>
<property name="snippets" value="5"/>
</bean>
<bean class="org.dspace.discovery.configuration.DiscoveryHitHighlightFieldConfiguration">
<property name="field" value="dc.description.abstract"/>
<property name="maxSize" value="250"/>
<property name="snippets" value="2"/>
</bean>
<bean class="org.dspace.discovery.configuration.DiscoveryHitHighlightFieldConfiguration">
<property name="field" value="fulltext"/>
<property name="maxSize" value="250"/>
<property name="snippets" value="2"/>
</bean>
</list>
</property>
</bean>
</property>
<!-- When true a "did you mean" example will be displayed, value can be true or false --> <!-- When true a "did you mean" example will be displayed, value can be true or false -->
<property name="spellCheckEnabled" value="true"/> <property name="spellCheckEnabled" value="true"/>
</bean> </bean>

Binary file not shown.

View File

@@ -47,7 +47,7 @@ CREATE TABLE Webapp
( (
webapp_id INTEGER NOT NULL PRIMARY KEY, webapp_id INTEGER NOT NULL PRIMARY KEY,
AppName VARCHAR2(32), AppName VARCHAR2(32),
URL VARCHAR2, URL VARCHAR2(1000),
Started TIMESTAMP, Started TIMESTAMP,
isUI NUMBER(1) isUI NUMBER(1)
); );

View File

@@ -84,7 +84,7 @@ SELECT setval('metadatavalue_seq', max(metadata_value_id)) FROM metadatavalue;
SELECT setval('metadataschemaregistry_seq', max(metadata_schema_id)) FROM metadataschemaregistry; SELECT setval('metadataschemaregistry_seq', max(metadata_schema_id)) FROM metadataschemaregistry;
SELECT setval('harvested_collection_seq', max(id)) FROM harvested_collection; SELECT setval('harvested_collection_seq', max(id)) FROM harvested_collection;
SELECT setval('harvested_item_seq', max(id)) FROM harvested_item; SELECT setval('harvested_item_seq', max(id)) FROM harvested_item;
SELECT setval('webapp_seq', max(id)) FROM webapp; SELECT setval('webapp_seq', max(webapp_id)) FROM webapp;
SELECT setval('requestitem_seq', max(requestitem_id)) FROM requestitem; SELECT setval('requestitem_seq', max(requestitem_id)) FROM requestitem;
-- Handle Sequence is a special case. Since Handles minted by DSpace use the 'handle_seq', -- Handle Sequence is a special case. Since Handles minted by DSpace use the 'handle_seq',

View File

@@ -17,7 +17,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -12,7 +12,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -13,7 +13,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -12,7 +12,7 @@
<parent> <parent>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -9,7 +9,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -94,7 +94,7 @@
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-rest</artifactId> <artifactId>dspace-rest</artifactId>
<type>war</type> <type>war</type>
<version>4.0</version> <version>4.1</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.dspace.modules</groupId> <groupId>org.dspace.modules</groupId>
<artifactId>solr</artifactId> <artifactId>solr</artifactId>
<version>4.0</version> <version>4.1</version>
<packaging>war</packaging> <packaging>war</packaging>
<name>DSpace SOLR :: Local Customizations</name> <name>DSpace SOLR :: Local Customizations</name>
<description> <description>
@@ -13,7 +13,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -58,7 +58,7 @@
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-solr</artifactId> <artifactId>dspace-solr</artifactId>
<version>4.0</version> <version>4.1</version>
<classifier>skinny</classifier> <classifier>skinny</classifier>
<type>war</type> <type>war</type>
</dependency> </dependency>
@@ -66,7 +66,7 @@
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-solr</artifactId> <artifactId>dspace-solr</artifactId>
<version>4.0</version> <version>4.1</version>
<classifier>classes</classifier> <classifier>classes</classifier>
<type>jar</type> <type>jar</type>
</dependency> </dependency>

View File

@@ -16,7 +16,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -16,7 +16,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -12,7 +12,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -15,7 +15,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<version>4.0</version> <version>4.1</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>

View File

@@ -48,7 +48,6 @@
<includes> <includes>
<include>bin/**</include> <include>bin/**</include>
<include>config/**</include> <include>config/**</include>
<include>docs/**</include>
<include>etc/**</include> <include>etc/**</include>
<include>solr/**</include> <include>solr/**</include>
</includes> </includes>

36
pom.xml
View File

@@ -4,7 +4,7 @@
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>4.0</version> <version>4.1</version>
<name>DSpace Parent Project</name> <name>DSpace Parent Project</name>
<description> <description>
DSpace open source software is a turnkey institutional repository application. DSpace open source software is a turnkey institutional repository application.
@@ -543,102 +543,102 @@
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId> <artifactId>dspace-api</artifactId>
<version>4.0</version> <version>4.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace.modules</groupId> <groupId>org.dspace.modules</groupId>
<artifactId>additions</artifactId> <artifactId>additions</artifactId>
<version>4.0</version> <version>4.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword</artifactId> <artifactId>dspace-sword</artifactId>
<version>4.0</version> <version>4.1</version>
<type>jar</type> <type>jar</type>
<classifier>classes</classifier> <classifier>classes</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword</artifactId> <artifactId>dspace-sword</artifactId>
<version>4.0</version> <version>4.1</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-swordv2</artifactId> <artifactId>dspace-swordv2</artifactId>
<version>4.0</version> <version>4.1</version>
<type>jar</type> <type>jar</type>
<classifier>classes</classifier> <classifier>classes</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-swordv2</artifactId> <artifactId>dspace-swordv2</artifactId>
<version>4.0</version> <version>4.1</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-jspui</artifactId> <artifactId>dspace-jspui</artifactId>
<version>4.0</version> <version>4.1</version>
<type>jar</type> <type>jar</type>
<classifier>classes</classifier> <classifier>classes</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-jspui</artifactId> <artifactId>dspace-jspui</artifactId>
<version>4.0</version> <version>4.1</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-oai</artifactId> <artifactId>dspace-oai</artifactId>
<version>4.0</version> <version>4.1</version>
<type>jar</type> <type>jar</type>
<classifier>classes</classifier> <classifier>classes</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-oai</artifactId> <artifactId>dspace-oai</artifactId>
<version>4.0</version> <version>4.1</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-lni</artifactId> <artifactId>dspace-lni</artifactId>
<version>4.0</version> <version>4.1</version>
<type>jar</type> <type>jar</type>
<classifier>classes</classifier> <classifier>classes</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-lni-client</artifactId> <artifactId>dspace-lni-client</artifactId>
<version>4.0</version> <version>4.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-lni</artifactId> <artifactId>dspace-lni</artifactId>
<version>4.0</version> <version>4.1</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-xmlui</artifactId> <artifactId>dspace-xmlui</artifactId>
<version>4.0</version> <version>4.1</version>
<type>jar</type> <type>jar</type>
<classifier>classes</classifier> <classifier>classes</classifier>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-xmlui</artifactId> <artifactId>dspace-xmlui</artifactId>
<version>4.0</version> <version>4.1</version>
<type>war</type> <type>war</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-services</artifactId> <artifactId>dspace-services</artifactId>
<version>4.0</version> <version>4.1</version>
</dependency> </dependency>
<!-- DSpace Localization Packages --> <!-- DSpace Localization Packages -->
<dependency> <dependency>
@@ -1309,7 +1309,7 @@
<connection>scm:git:git@github.com:DSpace/DSpace.git</connection> <connection>scm:git:git@github.com:DSpace/DSpace.git</connection>
<developerConnection>scm:git:git@github.com:DSpace/DSpace.git</developerConnection> <developerConnection>scm:git:git@github.com:DSpace/DSpace.git</developerConnection>
<url>git@github.com:DSpace/DSpace.git</url> <url>git@github.com:DSpace/DSpace.git</url>
<tag>dspace-4.0</tag> <tag>dspace-4.1</tag>
</scm> </scm>
<!-- <!--