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
- https://wiki.duraspace.org/display/DSDOC/

View File

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

View File

@@ -7,6 +7,7 @@
*/
package org.dspace.app.statistics;
import org.dspace.content.MetadataSchema;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.core.LogManager;
@@ -153,10 +154,10 @@ public class LogAnalyser
private static Pattern logRegex = null;
/** 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 */
private static Pattern real = Pattern.compile("^(.+)=(.+)");
private static final Pattern real = Pattern.compile("^(.+)=(.+)");
/** pattern to match all search types */
private static Pattern typeRX = null;
@@ -1165,8 +1166,12 @@ public class LogAnalyser
"AND metadata_field_id = (" +
" SELECT metadata_field_id " +
" FROM metadatafieldregistry " +
" WHERE element = 'type' " +
" AND qualifier IS NULL) ";
" WHERE metadata_schema_id = (" +
" 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
@@ -1184,8 +1189,12 @@ public class LogAnalyser
"WHERE metadata_field_id = (" +
" SELECT metadata_field_id " +
" FROM metadatafieldregistry " +
" WHERE element = 'date' " +
" AND qualifier = 'accessioned') ");
" WHERE metadata_schema_id = (" +
" 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
// 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)
throws IOException, javax.mail.MessagingException
{
Email email = new Email();
email.setSubject("Checksum checker Report - " + numberOfBitstreams + " Bitstreams found with POSSIBLE issues");
email.setContent("report is attached ...");
email.addAttachment(attachment, "checksum_checker_report.txt");
email.addRecipient(ConfigurationManager.getProperty("mail.admin"));
email.send();
if(numberOfBitstreams > 0)
{
String hostname = ConfigurationManager.getProperty("dspace.hostname");
Email email = new Email();
email.setSubject("Checksum checker Report - " + numberOfBitstreams + " Bitstreams found with POSSIBLE issues on " + hostname);
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.transform.TransformerException;
import ORG.oclc.oai.harvester2.verb.*;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.dspace.authorize.AuthorizeException;
@@ -64,12 +65,6 @@ import org.jdom.input.DOMBuilder;
import org.jdom.output.XMLOutputter;
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.
@@ -369,7 +364,13 @@ public class OAIHarvester {
else {
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();
}
}
@@ -394,6 +395,7 @@ public class OAIHarvester {
}
finally {
harvestRow.update();
ourContext.turnOffAuthorisationSystem();
targetCollection.update();
ourContext.commit();
ourContext.restoreAuthSystemState();
@@ -954,29 +956,21 @@ public class OAIHarvester {
try {
//If we do not want to harvest from one set, then skip this.
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"
if (ls.getErrors() != null && ls.getErrors().getLength() > 0) {
for (int i=0; i<ls.getErrors().getLength(); i++) {
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 {
// Drilling down to /OAI-PMH/ListSets/set
Document reply = db.build(ls.getDocument());
Element root = reply.getRootElement();
List<Element> sets= root.getChild("ListSets",OAI_NS).getChildren("set",OAI_NS);
for (Element set : sets)
{
String setSpec = set.getChildText("setSpec", OAI_NS);
if (setSpec.equals(oaiSetId)) {
foundSet = true;
break;
}
}
//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();
if (!foundSet) {
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)
{
String canonical = item.getHandle();
if( canonical.lastIndexOf(DOT)!=-1)
if( canonical.matches(".*/.*\\.\\d+") && canonical.lastIndexOf(DOT)!=-1)
{
canonical = canonical.substring(0, canonical.lastIndexOf(DOT));
}
@@ -556,7 +556,7 @@ public class VersionedHandleIdentifierProvider extends IdentifierProvider {
protected String getCanonical(String identifier)
{
String canonical = identifier;
if( canonical.lastIndexOf(DOT)!=-1)
if( canonical.matches(".*/.*\\.\\d+") && canonical.lastIndexOf(DOT)!=-1)
{
canonical = canonical.substring(0, canonical.lastIndexOf(DOT));
}

View File

@@ -7,7 +7,6 @@
*/
package org.dspace.statistics;
import au.com.bytecode.opencsv.CSVParser;
import au.com.bytecode.opencsv.CSVReader;
import au.com.bytecode.opencsv.CSVWriter;
import com.maxmind.geoip.Location;
@@ -78,8 +77,6 @@ public class SolrLogger
private static final LookupService locationService;
private static Map<String, String> metadataStorageInfo;
private static final boolean useProxies;
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.
* <ul>
@@ -676,18 +668,6 @@ public class SolrLogger
// We have at least one document good
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");
// Get the info we need
}

View File

@@ -37,6 +37,7 @@ public class StatisticsLoggingConsumer implements Consumer
private Set<String> toRemoveQueries = null;
@Override
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: 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
@Override
public void consume(Context ctx, Event event) throws Exception
{
if (toRemoveQueries == null)
@@ -78,45 +80,9 @@ public class StatisticsLoggingConsumer implements Consumer
updateQuery, null, null);
// Get all the metadata
Map<String, String> metadataStorageInfo = SolrLogger.getMetadataStorageInfo();
List<String> storageFieldList = new ArrayList<String>();
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,
storageValuesList);
@@ -202,6 +168,7 @@ public class StatisticsLoggingConsumer implements Consumer
findComms(comm.getParentCommunity(), parentComms);
}
@Override
public void end(Context ctx) throws Exception
{
if (toRemoveQueries != null)
@@ -215,6 +182,7 @@ public class StatisticsLoggingConsumer implements Consumer
toRemoveQueries = null;
}
@Override
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.content.DSpaceObject;
import org.dspace.content.Bitstream;
import org.dspace.content.DCValue;
import org.dspace.content.Item;
import org.dspace.eperson.EPerson;
import org.dspace.statistics.SolrLogger;
import java.util.Date;
import java.util.Map;
import java.text.SimpleDateFormat;
import com.maxmind.geoip.LookupService;
@@ -196,8 +193,6 @@ public class StatisticsDataGenerator {
solr.deleteByQuery("*:*");
solr.commit();
Map<String, String> metadataStorageInfo = SolrLogger.getMetadataStorageInfo();
String prevIp = null;
String dbfile = ConfigurationManager.getProperty("usage-statistics", "dbfile");
LookupService cl = new LookupService(dbfile,
@@ -366,24 +361,6 @@ public class StatisticsDataGenerator {
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);
solr.add(doc1);

View File

@@ -29,7 +29,7 @@ import com.maxmind.geoip.LookupService;
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
*
@@ -40,7 +40,7 @@ public class StatisticsImporter
private static final Logger log = Logger.getLogger(StatisticsImporter.class);
/** 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 */
private static HttpSolrServer solr;
@@ -48,9 +48,6 @@ public class StatisticsImporter
/** GEOIP lookup service */
private static LookupService geoipLookup;
/** Metadata storage information */
private static Map<String, String> metadataStorageInfo;
/** Whether to skip the DNS reverse lookup or not */
private static boolean skipReverseDNS = false;
@@ -67,7 +64,7 @@ public class StatisticsImporter
private List<Integer> localBitstreams;
/** 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
@@ -339,24 +336,6 @@ public class StatisticsImporter
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);
solr.add(sid);
errors--;
@@ -471,7 +450,6 @@ public class StatisticsImporter
}
solr = new HttpSolrServer(sserver);
metadataStorageInfo = SolrLogger.getMetadataStorageInfo();
String dbfile = ConfigurationManager.getProperty("usage-statistics", "dbfile");
try
{
@@ -495,6 +473,7 @@ public class StatisticsImporter
File dir = sample.getParentFile();
FilenameFilter filter = new FilenameFilter()
{
@Override
public boolean accept(File dir, String name)
{
return name.startsWith(sample.getName());
@@ -522,7 +501,7 @@ public class StatisticsImporter
*/
static class DNSCache<K,V> extends LinkedHashMap<K,V>
{
private int maxCapacity;
private final int maxCapacity;
public DNSCache(int initialCapacity, float loadFactor, int maxCapacity)
{

View File

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

View File

@@ -11,6 +11,7 @@ import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -33,46 +34,71 @@ import org.dspace.core.LogManager;
*/
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 */
private static Logger log = Logger.getLogger(CommunityListServlet.class);
protected void doDSGet(Context context, HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException,
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
Map<Integer, Collection[]> colMap = new HashMap<Integer, Collection[]>();
log.info(LogManager.getHeader(context, "view_community_list", ""));
// This will map communityIDs to arrays of sub-communities
Map<Integer, Community[]> commMap = new HashMap<Integer, Community[]>();
Community[] communities = Community.findAllTop(context);
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);
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
String baseURL = request.getContextPath()
+ searchScope
+ (searchScope != "" ? "/handle/" + searchScope : "")
+ "/simple-search?query="
+ URLEncoder.encode(query,"UTF-8")
+ httpFilters

View File

@@ -130,7 +130,16 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<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="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">
<!-- Begin
@@ -169,73 +178,65 @@ function clearEPeople()
<p class="submitFormHelp"><fmt:message key="jsp.tools.eperson-list.info1"/></p>
<% } %>
<center>
<form method="get">
<input type="hidden" name="first" value="<%= first %>" />
<input type="hidden" name="sortby" value="<%= sortBy %>" />
<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 %>"/>
<input type="submit" value="<fmt:message key="jsp.tools.eperson-list.search.submit" />" />
<%
if (search != null && !search.equals(""))
{ %>
<br/>
<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 method="get">
<input type="hidden" name="first" value="<%= first %>" />
<input type="hidden" name="sortby" value="<%= sortBy %>" />
<input type="hidden" name="multiple" value="<%= multiple %>" />
<label for="search"><fmt:message key="jsp.tools.eperson-list.search.query"/></label>
<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("")){ %>
<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>
<%}%>
</form>
</center>
<%-- Controls for jumping around list--%>
<table width="99%">
<tr>
<%-- <td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</a></strong></small></td> --%>
<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>
<div class="span12" style="text-align:center">
<ul class="pagination">
<li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.eperson-list.jump.first"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.eperson-list.jump.five-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.eperson-list.jump.one-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.eperson-list.jump.one-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.eperson-list.jump.five-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.eperson-list.jump.last"/></a></li>
</ul>
</div
<br/>
<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(""))
{ %>
<tr>
<th class="oddRowOddCol">&nbsp;</th>
<th class="oddRowEvenCol"><fmt:message key="jsp.tools.eperson-list.th.id" /></th>
<th class="oddRowOddCol"><fmt:message key="jsp.tools.eperson-list.th.email" /></th>
<th class="oddRowEvenCol"><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th>
<th class="oddRowOddCol"><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th>
<th>&nbsp;</th>
<th><fmt:message key="jsp.tools.eperson-list.th.id" /></th>
<th><fmt:message key="jsp.tools.eperson-list.th.email" /></th>
<th><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th>
<th><fmt:message key="jsp.tools.eperson-list.th.lastname" /></th>
</tr>
<% }
else
{ %>
<tr>
<th id="t1" class="oddRowOddCol">&nbsp;</th>
<th id="t2" class="oddRowEvenCol"><%
<th id="t1">&nbsp;</th>
<th id="t2"><%
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
{
%><a href="<%= sortLink %>id"><fmt:message key="jsp.tools.eperson-list.th.id" /></a><%
}
%></th>
<th id="t3" class="oddRowOddCol"><%
<th id="t3"><%
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
{
@@ -243,10 +244,10 @@ function clearEPeople()
}
%></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)
{
%><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
{
@@ -254,12 +255,12 @@ function clearEPeople()
}
%></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)
{
%><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
{
@@ -285,20 +286,20 @@ function clearEPeople()
String fullname = StringEscapeUtils.escapeXml(StringEscapeUtils.escapeJavaScript(e.getFullName()));
String email = StringEscapeUtils.escapeXml(StringEscapeUtils.escapeJavaScript(e.getEmail()));
%>
<tr>
<td headers="t1" class="<%= row %>RowOddCol">
<input type="button" value="<%
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>
<td headers="t2" class="<%= row %>RowEvenCol"><%= e.getID() %></td>
<td headers="t3" class="<%= row %>RowOddCol"><%= (e.getEmail() == null ? "" : Utils.addEntities(e.getEmail())) %></td>
<td headers="t4" class="<%= row %>RowEvenCol">
<tr>
<td headers="t1">
<input class="btn btn-success" type="button" value="<%
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>
<td headers="t2"><%= e.getID() %></td>
<td headers="t3"><%= (e.getEmail() == null ? "" : Utils.addEntities(e.getEmail())) %></td>
<td headers="t4">
<%= (e.getLastName() == null ? "" : Utils.addEntities(e.getLastName())) %>
</td>
<td headers="t5" class="<%= row %>RowOddCol">
<td headers="t5">
<%= (e.getFirstName() == null ? "" : Utils.addEntities(e.getFirstName())) %>
</td>
<td headers="t6" class="<%= row %>RowOddCol">
<td headers="t6">
<%= (e.getLanguage() == null ? "" : Utils.addEntities(e.getLanguage())) %>
</td>
</tr>
@@ -311,28 +312,21 @@ function clearEPeople()
<br/>
<%-- Controls for jumping around list--%>
<table width="99%">
<tr>
<%--
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</a></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</a></strong></small></td>
--%>
<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>
<div class="span12" style="text-align:center">
<ul class="pagination">
<li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.eperson-list.jump.first"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.eperson-list.jump.five-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.eperson-list.jump.one-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.eperson-list.jump.one-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.eperson-list.jump.five-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.eperson-list.jump.last"/></a></li>
</ul>
</div>
<%-- <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>

View File

@@ -75,7 +75,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<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="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">
<!-- Begin
@@ -116,35 +120,27 @@ function clearGroups()
<% } %>
<%-- Controls for jumping around list--%>
<table width="99%">
<tr>
<%-- <td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</A></strong></small></td>
--%>
<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>
<div class="span12" style="text-align:center">
<ul class="pagination">
<li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.group-select-list.jump.first"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.group-select-list.jump.five-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.group-select-list.jump.one-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.group-select-list.jump.one-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.group-select-list.jump.five-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.group-select-list.jump.last"/></a></li>
</ul>
</div>
<br/>
<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>
<th id="t1" class="oddRowOddCol">&nbsp;</th>
<th id="t2" class="oddRowEvenCol"><%
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
{
@@ -154,7 +150,7 @@ function clearGroups()
<th id="t3" class="oddRowOddCol"><%
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
{
@@ -180,12 +176,12 @@ function clearGroups()
String fullname = g.getName().replace('\'', ' ');
%>
<tr>
<td headers="t1" class="<%= row %>RowOddCol">
<input type="button" value="<%
<td headers="t1" class="">
<input type="button" class="btn btn-success" value="<%
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>
<td headers="t2" class="<%= row %>RowEvenCol"><%= g.getID() %></td>
<td headers="t3" class="<%= row %>RowOddCol"> <%= g.getName()%></td>
<td headers="t2" class=""><%= g.getID() %></td>
<td headers="t3" class=""> <%= g.getName()%></td>
</tr>
<%
row = (row.equals("odd") ? "even" : "odd");
@@ -196,27 +192,19 @@ function clearGroups()
<br/>
<%-- Controls for jumping around list--%>
<table width="99%">
<tr>
<%-- <td width="17%" align="center"><small><strong><a href="<%= jumpLink %>0">First</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveBack %>">&lt; 5 Pages</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneBack %>">&lt; 1 Page</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpOneForward %>">1 Page &gt;</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpFiveForward %>">5 Pages &gt;</A></strong></small></td>
<td width="17%" align="center"><small><strong><a href="<%= jumpLink %><%= jumpEnd %>">Last</A></strong></small></td>
--%>
<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>
<div class="span12" style="text-align:center">
<ul class="pagination">
<li><a href="<%= jumpLink %>0"><fmt:message key="jsp.tools.group-select-list.jump.first"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveBack %>"><fmt:message key="jsp.tools.group-select-list.jump.five-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneBack %>"><fmt:message key="jsp.tools.group-select-list.jump.one-back"/></a></li>
<li><a href="<%= jumpLink %><%= jumpOneForward %>"><fmt:message key="jsp.tools.group-select-list.jump.one-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpFiveForward %>"><fmt:message key="jsp.tools.group-select-list.jump.five-forward"/></a></li>
<li><a href="<%= jumpLink %><%= jumpEnd %>"><fmt:message key="jsp.tools.group-select-list.jump.last"/></a></li>
</ul>
</div>
<%-- <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>

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,13 +7,14 @@
*/
package org.dspace.xoai.util;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import java.util.TimeZone;
/**
*
@@ -33,8 +34,8 @@ public class DateUtils
// 2008-01-01T00:00:00Z
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'");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String ret = sdf.format(date);
System.out.println(ret);
return ret;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -11,7 +11,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>4.0</version>
<version>4.1</version>
<relativePath>..</relativePath>
</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-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-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.size-bytes">bytes</message>

View File

@@ -539,11 +539,15 @@
</xsl:otherwise>
</xsl:choose>
</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: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}">
<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 -->
</a>
</xsl:when>

View File

@@ -222,11 +222,15 @@
<xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each>
</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:when test="not ($rights_context/@CONTEXTCLASS = 'GENERAL PUBLIC') and ($rights_context/rights:Permissions/@DISPLAY = 'true')">
<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 -->
</a>
</xsl:when>

View File

@@ -235,6 +235,32 @@
<property name="useAsHomePage" value="false"/>
</bean>
</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 -->
<property name="spellCheckEnabled" value="true"/>
</bean>

Binary file not shown.

View File

@@ -47,7 +47,7 @@ CREATE TABLE Webapp
(
webapp_id INTEGER NOT NULL PRIMARY KEY,
AppName VARCHAR2(32),
URL VARCHAR2,
URL VARCHAR2(1000),
Started TIMESTAMP,
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('harvested_collection_seq', max(id)) FROM harvested_collection;
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;
-- Handle Sequence is a special case. Since Handles minted by DSpace use the 'handle_seq',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

36
pom.xml
View File

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