Compare commits

...

38 Commits

Author SHA1 Message Date
Tim Donohue
ea1a6c480e [maven-scm] copy for tag dspace-1.8.2
git-svn-id: http://scm.dspace.org/svn/repo/dspace/tags/dspace-1.8.2@6955 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-24 16:26:52 +00:00
Tim Donohue
c7dcf15487 [maven-release-plugin] prepare release dspace-1.8.2
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6954 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-24 16:26:46 +00:00
Tim Donohue
cfacc241db Committing a slightly updated version of DSpace PDF Manual for 1.8.2
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6952 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-24 15:51:11 +00:00
Tim Donohue
3182d5b2cf Fix for DS-1122: When adding a Bitstream to a Bundle, the 'bitstream_order' is always set to the 'sequence_id' (applied to both 1.8.x branch and Trunk). Also fixes issues with AIPs being able to restore bitstream ordering.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6948 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-20 22:00:19 +00:00
Kevin Van de Velde
e7369eff13 [DS-1129] Edit Harvesting Collection Content Source tab broken
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6945 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-18 10:50:14 +00:00
Kevin Van de Velde
2ec032bb0e [DS-918] Concurrent task claiming and editing of metadata possible for same item in submission workflow
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6944 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-18 10:26:42 +00:00
Kevin Van de Velde
a2381e00f7 [DS-1048] Superfluous warning in dspace.log
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6942 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-18 10:14:43 +00:00
Kevin Van de Velde
a42f5ede3f [DS-910] Encoding of discovery facet urls
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6941 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-18 09:38:15 +00:00
Tim Donohue
b25a877d14 Fix for DS-1120: AIP Backup & Restore : SITE AIP has a different checksum everytime when orphaned Collection/Community groups exist (applied to both 1.8.x branch and Trunk)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6940 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-15 19:04:16 +00:00
Tim Donohue
4ccab20836 Backporting fix for DS-1108 to 1.8.x branch: AIP Backup & Restore doesn't restore a Bitstream's "Sequence ID"
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6938 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-15 17:54:27 +00:00
Tim Donohue
c1b4e3f04c Backporting fix for DS-1107 to 1.8.x branch: System-wide Curation Task UI is missing a "Task" label
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6937 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-15 17:49:48 +00:00
Scott Phillips
d792352696 DS-1124, increase the default upload maximum to 2GB
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6935 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2012-02-13 22:03:00 +00:00
Scott Phillips
c979086f51 DS-1012: updated the configuration parameters to use the modules syntax instead of the old style all in one.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6914 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-20 17:30:02 +00:00
Robin Taylor
ac3fa09efa [maven-release-plugin] prepare for next development iteration
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6912 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 10:24:03 +00:00
Robin Taylor
20943b7192 [maven-release-plugin] prepare release dspace-1.8.1
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6910 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 10:23:26 +00:00
Robin Taylor
8eb972dd3e Correct SCM element in dspace-1.8.x/pom.xml
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6909 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 10:14:04 +00:00
Robin Taylor
44047a38e3 [maven-release-plugin] rollback the release of dspace-1.8.1
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6908 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 10:10:02 +00:00
Robin Taylor
2836e3c9a5 [maven-release-plugin] prepare release dspace-1.8.1
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6907 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 10:02:52 +00:00
Robin Taylor
3cce8ae734 [maven-release-plugin] rollback the release of dspace-1.8.1
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6906 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 09:51:02 +00:00
Robin Taylor
86496eb53c [maven-release-plugin] prepare release dspace-1.8.1
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6905 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 09:38:59 +00:00
Robin Taylor
5255f9f13d Add licence to StaticPage
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6904 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-15 09:20:03 +00:00
Peter Dietz
952cc523e7 DS-1076 Add a simple StaticPage.java and map requests to page/* to it. Overrides happen in XSL. Have a demo at page/about.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6902 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-14 23:26:10 +00:00
Scott Phillips
97e769977d DS-1094: Fixed an NPE error while mapping errors, fixed a typo in unknown, and the authors column pull from creator or contributor.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6899 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-12 19:42:49 +00:00
Peter Dietz
abd0262a9e DS-1090 Fix fetchURL method for CC License, so that it does not fail due to recent CC changes.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6897 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-08 18:26:40 +00:00
Kevin Van de Velde
43f2c10746 [DS-899] Last modified timestamp doesn't trigger on bitstream delete bugfix
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6888 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-07 16:23:40 +00:00
Kevin Van de Velde
67b82c063f [DS-1064] Authentication error bugfix with external login in JSPUI
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6873 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-04 10:59:17 +00:00
Tim Donohue
ec3593b5c7 Fix for DS-1077: XMLUI & CLI always show a NullPointerException after running a Site-wide Curation Task. This patch ensures that the Curator is not too quick to call complete() on its Context object when running a Site-wide task. It also ensures the Curator doesn't continually create a new Context each time 'curationContext()' is called -- instead a newly created context is cached so that it can be used for the remainder of the task processing. This fix has been applied to trunk and 1.8.x branch.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6871 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-12-02 17:53:03 +00:00
Scott Phillips
53079bceab DS-1055: Limit display of harvested bitstreams when using harvesting by reference. (Committed to branch and trunk)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6865 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 20:17:43 +00:00
Scott Phillips
e369276e9f DS-1052: Items with null date.accessioned are perminantly sorted to the top of all date based searches. (committed to both trunk and branch)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6864 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 20:06:09 +00:00
Scott Phillips
2bb7d1715d DS-1012: Lazy Shibboleth authentication.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6861 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 20:03:02 +00:00
Scott Phillips
96b3992377 DS-1068: Removing a metadata field from an item does not update the browse sorting indexes. (committed to both trunk and branch)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6860 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 20:01:44 +00:00
Scott Phillips
99c07e1400 DS-1062: Emails report new items twice, sometimes. (this change was committed to branch and trunk)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6857 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 19:58:26 +00:00
Scott Phillips
69cdf807c6 DS-1065: Login CHooser will place plank div prior to login form (committed to both trunk and branch)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6856 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 19:57:03 +00:00
Robin Taylor
641cf1030b [DS-1075] - Fix separator replacement in URIs
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6852 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 11:20:31 +00:00
Robin Taylor
967008c637 [DS-1074] - Fix DB connection leak in DAVServlet
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6850 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-28 10:24:29 +00:00
Andrea Schweer
de2a2c2f3a [DS-1070] DSpaceObjectManager unnecessarily keeps references to DSpace objects
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6846 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-21 04:44:31 +00:00
Robin Taylor
acd00a24f3 Updated 1_8_x branch to correct version and scm elements.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6838 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-05 10:03:13 +00:00
Robin Taylor
c2292282f7 Creating a branch for 1.8.x bug-fix releases.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/branches/dspace-1_8_x@6837 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2011-11-04 14:35:31 +00:00
76 changed files with 2905 additions and 1757 deletions

View File

@@ -13,7 +13,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -23,9 +23,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<!--

View File

@@ -836,6 +836,7 @@ public class BrowseDAOOracle implements BrowseDAO
{
queryBuf.append(" DESC ");
}
queryBuf.append(" NULLS LAST ");
}
}

View File

@@ -844,6 +844,7 @@ public class BrowseDAOPostgres implements BrowseDAO
{
queryBuf.append(" DESC ");
}
queryBuf.append(" NULLS LAST ");
}
}

View File

@@ -564,6 +564,9 @@ public class IndexBrowse
{
String nValue = OrderFormat.makeSortString(value.value, value.language, so.getType());
sortMap.put(key, nValue);
} else {
// Add an empty entry to clear out any old values in the sort columns.
sortMap.put(key, null);
}
}

View File

@@ -449,11 +449,19 @@ public class Bundle extends DSpaceObject
// FIXME: multiple inclusion is affected by this...
AuthorizeManager.inheritPolicies(ourContext, this, b);
//Determine the current highest bitstream order in our bundle2bitstream table
//This will always append a newly added bitstream as the last one
int bitstreamOrder = 0; //bitstream order starts at '0' index
TableRow tableRow = DatabaseManager.querySingle(ourContext, "SELECT MAX(bitstream_order) as max_value FROM bundle2bitstream WHERE bundle_id=?", getID());
if(tableRow != null){
bitstreamOrder = tableRow.getIntColumn("max_value") + 1;
}
// Add the mapping row to the database
TableRow mappingRow = DatabaseManager.row("bundle2bitstream");
mappingRow.setColumn("bundle_id", getID());
mappingRow.setColumn("bitstream_id", b.getID());
mappingRow.setColumn("bitstream_order", b.getSequenceID());
mappingRow.setColumn("bitstream_order", bitstreamOrder);
DatabaseManager.insert(ourContext, mappingRow);
}
@@ -491,6 +499,14 @@ public class Bundle extends DSpaceObject
// Place the bitstream in the list of bitstreams in this bundle
bitstreams.add(bitstreamMap.get(bitstreamId));
}
//The order of the bitstreams has changed, ensure that we update the last modified of our item
Item owningItem = (Item) getParentObject();
if(owningItem != null)
{
owningItem.updateLastModified();
owningItem.update();
}
}
@@ -531,7 +547,16 @@ public class Bundle extends DSpaceObject
}
ourContext.addEvent(new Event(Event.REMOVE, Constants.BUNDLE, getID(), Constants.BITSTREAM, b.getID(), String.valueOf(b.getSequenceID())));
//Ensure that the last modified from the item is triggered !
Item owningItem = (Item) getParentObject();
if(owningItem != null)
{
owningItem.updateLastModified();
owningItem.update();
}
// In the event that the bitstream to remove is actually
// the primary bitstream, be sure to unset the primary
// bitstream.

View File

@@ -123,10 +123,29 @@ public class InstallItem
handle = HandleManager.createHandle(c, item, suppliedHandle);
}
//NOTE: this method specifically skips over "populateMetadata()"
// As this is a "restore" all the metadata should have already been restored
//@TODO: Do we actually want a "Restored on ..." provenance message? Or perhaps kick off an event?
// Even though we are restoring an item it may not have a have the proper dates. So lets
// double check that it has a date accessioned and date issued, and if either of those dates
// are not set then set them to today.
DCDate now = DCDate.getCurrent();
// If the item dosn't have a date.accessioned create one.
DCValue[] dateAccessioned = item.getDC("date", "accessioned", Item.ANY);
if (dateAccessioned.length == 0)
{
item.addDC("date", "accessioned", null, now.toString());
}
// create issue date if not present
DCValue[] currentDateIssued = item.getDC("date", "issued", Item.ANY);
if (currentDateIssued.length == 0)
{
DCDate issued = new DCDate(now.getYear(),now.getMonth(),now.getDay(),-1,-1,-1);
item.addDC("date", "issued", null, issued.toString());
}
// Record that the item was restored
String provDescription = "Restored into DSpace on "+ now + " (GMT).";
item.addDC("description", "provenance", "en", provDescription);
return finishItem(c, item, is, null);
}
@@ -153,7 +172,7 @@ public class InstallItem
}
}
// fill in metadata needed by new Item.
private static void populateMetadata(Context c, Item item, DCDate embargoLiftDate)
throws SQLException, IOException, AuthorizeException
{

View File

@@ -306,6 +306,15 @@ public class Item extends DSpaceObject
return myDate;
}
/**
* Method that updates the last modified date of the item
* The modified boolean will be set to true and the actual date update will occur on item.update().
*/
void updateLastModified()
{
modified = true;
}
/**
* Set the "is_archived" flag. This is public and only
* <code>WorkflowItem.archive()</code> should set this.

View File

@@ -792,6 +792,11 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester
Bitstream bitstream = bundle.createBitstream(fileStream);
bitstream.setName(path);
// Set bitstream sequence id, if known
String seqID = mfile.getAttributeValue("SEQ");
if(seqID!=null && !seqID.isEmpty())
bitstream.setSequenceID(Integer.parseInt(seqID));
// crosswalk this bitstream's administrative metadata located in
// METS manifest (or referenced externally)
manifest.crosswalkBitstream(context, params, bitstream, mfileID,

View File

@@ -834,14 +834,16 @@ public class PackageUtils
if(dso==null)
{
// No such object. Change the name to something harmless.
// No such object. Change the name to something harmless, but predictable.
// NOTE: this name *must* be predictable. If we generate the same AIP
// twice in a row, we must end up with the same group name each time.
String newName;
if (orphanGroups.containsKey(groupName))
newName = orphanGroups.get(groupName);
else
{
newName= "GROUP_" + Utils.generateHexKey() + "_"
+ objType + "_" + groupType;
newName= "ORPHANED_" + objType + "_GROUP_"
+ objID + "_" + groupType;
orphanGroups.put(groupName, newName);
// A given group should only be translated once, since the
// new name contains unique random elements which would be

View File

@@ -24,7 +24,6 @@ import org.dspace.content.Site;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.PluginManager;
import org.dspace.eperson.EPerson;
import org.dspace.handle.HandleManager;
/**
@@ -365,19 +364,27 @@ public class Curator
}
/**
* Returns the context object used in the current curation performance.
* Returns the context object used in the current curation thread.
* This is primarily a utility method to allow tasks access to the context when necessary.
* <P>
* If the context is null or not set, then this just returns
* a brand new Context object representing an Anonymous User.
*
* @return curation Context object (or anonymous Context if curation is null)
* @return curation thread's Context object (or a new, anonymous Context if no curation Context exists)
*/
public static Context curationContext() throws SQLException
{
// Return curation context or new context if undefined
// Return curation context or new context if undefined/invalid
Context curCtx = curationCtx.get();
return (curCtx != null) ? curCtx : new Context();
if(curCtx==null || !curCtx.isValid())
{
//Create a new context (represents an Anonymous User)
curCtx = new Context();
//Save it to current execution thread
curationCtx.set(curCtx);
}
return curCtx;
}
/**
@@ -403,10 +410,12 @@ public class Curator
Context ctx = null;
try
{
ctx = curationContext();
//get access to the curation thread's current context
ctx = curationContext();
// Site-wide Tasks really should have an EPerson performer associated with them,
// otherwise they are run as an "anonymous" user with limited access rights.
if(ctx.getCurrentUser()==null)
if(ctx.getCurrentUser()==null && !ctx.ignoreAuthorization())
{
log.warn("You are running one or more Site-Wide curation tasks in ANONYMOUS USER mode," +
" as there is no EPerson 'performer' associated with this task. To associate an EPerson 'performer' " +
@@ -428,16 +437,9 @@ public class Curator
return false;
}
}
//complete & close our created Context
ctx.complete();
}
catch (SQLException sqlE)
{
//abort Context & all changes
if(ctx!=null)
ctx.abort();
throw new IOException(sqlE);
}
@@ -534,7 +536,7 @@ public class Curator
}
catch (SQLException sqlE)
{
throw new IOException(sqlE.getMessage());
throw new IOException(sqlE.getMessage(), sqlE);
}
}
}

View File

@@ -12,10 +12,12 @@ import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.TimeZone;
import javax.mail.MessagingException;
@@ -343,15 +345,23 @@ public class Subscribe
ResourceBundle labels = ResourceBundle.getBundle("Messages", supportedLocale);
// Get the start and end dates for yesterday
Date thisTimeYesterday = new Date(System.currentTimeMillis()
- (24 * 60 * 60 * 1000));
DCDate dcDateYesterday = new DCDate(thisTimeYesterday);
// The date should reflect the timezone as well. Otherwise we stand to lose that information
// in truncation and roll to an earlier date than intended.
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
cal.setTime(new Date());
// What we actually want to pass to Harvest is "Midnight of yesterday in my current timezone"
// Truncation will actually pass in "Midnight of yesterday in UTC", which will be,
// at least in CDT, "7pm, the day before yesterday, in my current timezone".
cal.add(Calendar.HOUR, -24);
Date thisTimeYesterday = cal.getTime();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
Date midnightYesterday = cal.getTime();
// this time yesterday in ISO 8601, stripping the time
String isoDateYesterday = dcDateYesterday.toString().substring(0, 10);
String startDate = isoDateYesterday;
// FIXME: text of email should be more configurable from an
// i18n viewpoint
@@ -366,7 +376,7 @@ public class Subscribe
boolean includeAll = ConfigurationManager.getBooleanProperty("harvest.includerestricted.subscription", true);
// we harvest all the changed item from yesterday until now
List<HarvestedItemInfo> itemInfos = Harvest.harvest(context, c, startDate, null, 0, // Limit
List<HarvestedItemInfo> itemInfos = Harvest.harvest(context, c, new DCDate(midnightYesterday).toString(), null, 0, // Limit
// and
// offset
// zero,

View File

@@ -7,16 +7,11 @@
*/
package org.dspace.license;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringWriter;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.xml.transform.Templates;
import javax.xml.transform.TransformerConfigurationException;
@@ -25,6 +20,7 @@ import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.apache.log4j.Logger;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Bitstream;
import org.dspace.content.BitstreamFormat;
@@ -34,10 +30,12 @@ import org.dspace.content.Item;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.core.Utils;
import org.dspace.license.CCLookup;
public class CreativeCommons
{
/** log4j category */
private static Logger log = Logger.getLogger(CreativeCommons.class);
/**
* The Bundle Name
*/
@@ -429,30 +427,23 @@ public class CreativeCommons
{
try
{
String line = "";
URL url = new URL(url_string);
URLConnection connection = url.openConnection();
byte[] bytes = new byte[connection.getContentLength()];
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder sb = new StringBuilder();
// loop and read the data until it's done
int offset = 0;
while (true)
while ((line = reader.readLine()) != null)
{
int len = connection.getInputStream().read(bytes, offset,
bytes.length - offset);
if (len == -1)
{
break;
}
offset += len;
sb.append(line);
}
return bytes;
return sb.toString().getBytes();
}
catch (Exception exc)
{
log.error(exc.getMessage());
return null;
}
}

View File

@@ -1,113 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Discovery :: Discovery Provider Library</name>
<description>
Build Information
$Id: pom.xml 5367 2010-09-30 00:30:11Z mdiggory $
$URL: https://scm.dspace.org/svn/repo/modules/dspace-discovery/trunk/provider/pom.xml $
</description>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-maven-plugin</artifactId>
<version>1.0.0-M2</version>
<executions>
<execution>
<id>prepare</id>
<phase>compile</phase>
<goals>
<goal>prepare</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<!--
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifestEntries>
<Cocoon-Block-Name>${pom.artifactId}</Cocoon-Block-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
-->
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-provider</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-provider
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-provider</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId>
<version>1.8.2</version>
<name>DSpace Discovery :: Discovery Provider Library</name>
<description>
Build Information
$Id: pom.xml 5367 2010-09-30 00:30:11Z mdiggory $
$URL: https://scm.dspace.org/svn/repo/modules/dspace-discovery/trunk/provider/pom.xml $
</description>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-maven-plugin</artifactId>
<version>1.0.0-M2</version>
<executions>
<execution>
<id>prepare</id>
<phase>compile</phase>
<goals>
<goal>prepare</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<!--
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifestEntries>
<Cocoon-Block-Name>${pom.artifactId}</Cocoon-Block-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
-->
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -11,6 +11,7 @@ import org.dspace.content.DSpaceObject;
import org.dspace.core.Context;
import org.dspace.discovery.configuration.DiscoverySortConfiguration;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.List;
@@ -27,9 +28,9 @@ public interface SearchService {
DiscoverResult search(Context context, DSpaceObject dso, DiscoverQuery query) throws SearchServiceException;
String searchJSON(DiscoverQuery query, String jsonIdentifier) throws SearchServiceException;
InputStream searchJSON(DiscoverQuery query, String jsonIdentifier) throws SearchServiceException;
String searchJSON(DiscoverQuery query, DSpaceObject dso, String jsonIdentifier) throws SearchServiceException;
InputStream searchJSON(DiscoverQuery query, DSpaceObject dso, String jsonIdentifier) throws SearchServiceException;
List<DSpaceObject> search(Context context, String query, String orderfield, boolean ascending, int offset, int max, String... filterquery);

View File

@@ -1,61 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-solr</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Discovery :: Discovery Solr Implementation</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>3.3.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-solr</artifactId>
<version>1.8.2</version>
<name>DSpace Discovery :: Discovery Solr Implementation</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>3.3.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -17,6 +17,7 @@ import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
@@ -1145,7 +1146,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
}
@Override
public String searchJSON(DiscoverQuery query, DSpaceObject dso, String jsonIdentifier) throws SearchServiceException {
public InputStream searchJSON(DiscoverQuery query, DSpaceObject dso, String jsonIdentifier) throws SearchServiceException {
if(dso != null){
if (dso instanceof Community) {
query.addFilterQueries("location:m" + dso.getID());
@@ -1159,7 +1160,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
}
public String searchJSON(DiscoverQuery query, String jsonIdentifier) throws SearchServiceException {
public InputStream searchJSON(DiscoverQuery query, String jsonIdentifier) throws SearchServiceException {
Map<String, String> params = new HashMap<String, String>();
String solrRequestUrl = solr.getBaseURL() + "/select";
@@ -1229,7 +1230,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
try {
GetMethod get = new GetMethod(solrRequestUrl);
new HttpClient().executeMethod(get);
return get.getResponseBodyAsString();
return get.getResponseBodyAsStream();
} catch (Exception e) {
log.error("Error while getting json solr result for discovery search recommendation", e);

View File

@@ -1,132 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Discovery :: Discovery XMLUI API</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>prepare</id>
<phase>compile</phase>
<goals>
<goal>prepare</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
-->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<index>true</index>
<manifestEntries>
<Cocoon-Block-Name>discovery-xmlui-block</Cocoon-Block-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
-->
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-api</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-api
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-api</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId>
<version>1.8.2</version>
<name>DSpace Discovery :: Discovery XMLUI API</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>prepare</id>
<phase>compile</phase>
<goals>
<goal>prepare</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
-->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<index>true</index>
<manifestEntries>
<Cocoon-Block-Name>discovery-xmlui-block</Cocoon-Block-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
-->
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -40,6 +40,7 @@ import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.sql.SQLException;
import java.util.*;
import java.util.List;
@@ -414,7 +415,7 @@ public class SearchFacetFilter extends AbstractDSpaceTransformer implements Cach
//Add already existing filter queries
url = addFilterQueriesToUrl(url);
//Last add the current filter query
url += "&fq=" + filterQuery;
url += "&fq=" + URLEncoder.encode(filterQuery, "UTF-8");
cell.addXref(url, displayedValue + " (" + value.getCount() + ")"
);
}

View File

@@ -35,6 +35,7 @@ import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.Serializable;
import java.net.URLEncoder;
import java.sql.SQLException;
import java.util.*;
import java.util.regex.Matcher;
@@ -243,8 +244,7 @@ public class SidebarFacetsTransformer extends AbstractDSpaceTransformer implemen
"/discover?" +
paramsQuery +
"fq=" +
//TODO: encode URLEncoder ?
filterQuery,
URLEncoder.encode(filterQuery, "UTF-8"),
displayedValue + " (" + value.getCount() + ")"
);
}

View File

@@ -28,6 +28,7 @@ import org.xml.sax.SAXException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.Map;
@@ -41,7 +42,7 @@ import java.util.Map;
public class JSONDiscoverySearcher extends AbstractReader implements Recyclable {
private static Logger log = Logger.getLogger(JSONDiscoverySearcher.class);
private String JSONString;
private InputStream JSONStream;
/** The Cocoon response */
@@ -117,7 +118,7 @@ public class JSONDiscoverySearcher extends AbstractReader implements Recyclable
try {
Context context = ContextUtil.obtainContext(objectModel);
JSONString = getSearchService().searchJSON(queryArgs, getScope(context, objectModel), jsonWrf);
JSONStream = getSearchService().searchJSON(queryArgs, getScope(context, objectModel), jsonWrf);
} catch (Exception e) {
log.error("Error while retrieving JSON string for Discovery auto complete", e);
}
@@ -125,14 +126,12 @@ public class JSONDiscoverySearcher extends AbstractReader implements Recyclable
}
public void generate() throws IOException, SAXException, ProcessingException {
if(JSONString != null){
ByteArrayInputStream inputStream = new ByteArrayInputStream(JSONString.getBytes("UTF-8"));
if(JSONStream != null){
byte[] buffer = new byte[8192];
response.setHeader("Content-Length", String.valueOf(JSONString.length()));
response.setHeader("Content-Length", String.valueOf(JSONStream.available()));
int length;
while ((length = inputStream.read(buffer)) > -1)
while ((length = JSONStream.read(buffer)) > -1)
{
out.write(buffer, 0, length);
}

View File

@@ -1,152 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-webapp</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Discovery :: Discovery XMLUI Webapp</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>prepare</id>
<phase>compile</phase>
<goals>
<goal>prepare</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>com.mycila.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<configuration>
<!--Exclude license check for Discovery files which don't need it-->
<excludes>
<exclude>**/*.LICENSE</exclude>
<exclude>**/jquery*</exclude>
</excludes>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<index>true</index>
<manifestEntries>
<Cocoon-Block-Name>discovery-xmlui-block</Cocoon-Block-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
-->
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-webapp</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-webapp
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-webapp</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-webapp</artifactId>
<version>1.8.2</version>
<name>DSpace Discovery :: Discovery XMLUI Webapp</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId>
<version>1.8.2</version>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>prepare</id>
<phase>compile</phase>
<goals>
<goal>prepare</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>com.mycila.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<configuration>
<!--Exclude license check for Discovery files which don't need it-->
<excludes>
<exclude>**/*.LICENSE</exclude>
<exclude>**/jquery*</exclude>
</excludes>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<index>true</index>
<manifestEntries>
<Cocoon-Block-Name>discovery-xmlui-block</Cocoon-Block-Name>
</manifestEntries>
</archive>
</configuration>
</plugin>
-->
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -54,7 +54,7 @@ AjaxSolr.AutocompleteWidget = AjaxSolr.AbstractFacetWidget.extend({
}
var fqs = $("input[name='fq']");
for(var j = 0; j < fqs.length; j ++){
params.push('fq=' + $(fqs[j]).val());
params.push('fq=' + encodeURIComponent($(fqs[j]).val()));
}
//Attempt to add our scope !
var scope = $("input[name='discovery-json-scope']").val();

View File

@@ -1,69 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Discovery :: Modules</name>
<parent>
<artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<modules>
<module>dspace-discovery-provider</module>
<module>dspace-discovery-solr</module>
<module>dspace-discovery-xmlui-api</module>
<module>dspace-discovery-xmlui-webapp</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery</url>
</scm>
<issueManagement>
<system>JIRA</system>
<url>http://jira.dspace.org/jira/browse/DISCOVERY</url>
</issueManagement>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId>
<version>1.8.2</version>
<name>DSpace Discovery :: Modules</name>
<parent>
<artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<modules>
<module>dspace-discovery-provider</module>
<module>dspace-discovery-solr</module>
<module>dspace-discovery-xmlui-api</module>
<module>dspace-discovery-xmlui-webapp</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8888</port>
<maxIdleTime>30000</maxIdleTime>
</connector>
</connectors>
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourceDirectory>
<contextPath>/</contextPath>
<systemProperties>
<systemProperty>
<name>org.apache.cocoon.mode</name>
<value>dev</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<issueManagement>
<system>JIRA</system>
<url>http://jira.dspace.org/jira/browse/DISCOVERY</url>
</issueManagement>
</project>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-jspui</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui/dspace-jspui-api</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui/dspace-jspui-api</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui/dspace-jspui-api</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<dependencies>

View File

@@ -163,7 +163,15 @@ public class Authenticate
{
loggedIn(context, request, context.getCurrentUser());
log.info(LogManager.getHeader(context, "login", "type=implicit"));
return true;
if(context.getCurrentUser() != null){
//We have a new user
Authenticate.resumeInterruptedRequest(request, response);
return false;
}else{
//Couldn't log & authentication finished
return true;
}
}
else
{

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-jspui</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui/dspace-jspui-webapp</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui/dspace-jspui-webapp</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui/dspace-jspui-webapp</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-jspui</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<modules>

View File

@@ -12,14 +12,14 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-lni</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-client</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-client</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-client</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<profiles>

View File

@@ -10,14 +10,14 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-lni</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-core</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-core</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-core</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<dependencies>

View File

@@ -89,7 +89,12 @@ abstract class DAVDSpaceObject extends DAVResource
int hs;
if (handleSeparator != '/')
{
handle = handle.replaceFirst("/", String.valueOf(handleSeparator));
if(handleSeparator != '$') {
handle = handle.replaceFirst("/", String.valueOf(handleSeparator));
} else {
// handle $ specially
handle = handle.replaceFirst("/", "\\$");
}
}
return "dso_" + encodeHandle(handle);
}

View File

@@ -289,80 +289,92 @@ public class DAVServlet extends HttpServlet
{
Context context = new Context();
if (getAuthFromCookie(context, request))
{
putAuthCookie(context, request, response, false);
return context;
}
try {
if (getAuthFromCookie(context, request))
{
putAuthCookie(context, request, response, false);
Context returnContext = context;
context = null;
return returnContext;
}
// get username/password from Basic auth header if avail:
String cred = request.getHeader("Authorization");
if (cred != null && username == null && password == null)
{
log.info(LogManager.getHeader(context, "got creds", "Authorize: "
+ cred));
StringTokenizer ct = new StringTokenizer(cred);
// format: Basic {username:password in base64}
if (ct.nextToken().equalsIgnoreCase("Basic"))
{
String crud = ct.nextToken();
String dcrud = new String(Base64.decodeBase64(crud.getBytes()));
int colon = dcrud.indexOf(':');
if (colon > 0)
{
username = decodeFromURL(dcrud.substring(0, colon));
password = decodeFromURL(dcrud.substring(colon + 1));
log
.info(LogManager.getHeader(context, "auth",
"Got username=\"" + username
+ "\" out of \"" + crud + "\"."));
}
}
}
// get username/password from Basic auth header if avail:
String cred = request.getHeader("Authorization");
if (cred != null && username == null && password == null)
{
log.info(LogManager.getHeader(context, "got creds", "Authorize: "
+ cred));
StringTokenizer ct = new StringTokenizer(cred);
// format: Basic {username:password in base64}
if (ct.nextToken().equalsIgnoreCase("Basic"))
{
String crud = ct.nextToken();
String dcrud = new String(Base64.decodeBase64(crud.getBytes()));
int colon = dcrud.indexOf(':');
if (colon > 0)
{
username = decodeFromURL(dcrud.substring(0, colon));
password = decodeFromURL(dcrud.substring(colon + 1));
log
.info(LogManager.getHeader(context, "auth",
"Got username=\"" + username
+ "\" out of \"" + crud + "\"."));
}
}
// Authenticate the user.
if (AuthenticationManager.authenticate(context, username, password,
null, request) == AuthenticationMethod.SUCCESS)
{
log.info(LogManager.getHeader(context, "auth",
"Authentication returned SUCCESS, eperson="
+ context.getCurrentUser().getEmail()));
}
else
{
if (username == null)
{
log.info(LogManager.getHeader(context, "auth",
"No credentials, so sending WWW-Authenticate header."));
}
else
{
log.warn(LogManager.getHeader(context, "auth",
"Authentication FAILED, cred=" + cred));
}
// ...EXCEPT if dav.access.anonymous is true in config:
if (!allowAnonymousAccess)
{
if (response != null)
{
response.setHeader("WWW-Authenticate",
"Basic realm=\"dspace\"");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
return null;
}
}
// Set any special groups - invoke the authentication mgr.
int[] groupIDs = AuthenticationManager.getSpecialGroups(context,
request);
for (int element : groupIDs)
{
context.setSpecialGroup(element);
log.debug("Adding Special Group id=" + String.valueOf(element));
}
putAuthCookie(context, request, response, true);
Context returnContext = context;
context = null;
return returnContext;
} finally {
if(context != null)
context.abort();
}
if (AuthenticationManager.authenticate(context, username, password,
null, request) == AuthenticationMethod.SUCCESS)
{
log.info(LogManager.getHeader(context, "auth",
"Authentication returned SUCCESS, eperson="
+ context.getCurrentUser().getEmail()));
}
else
{
if (username == null)
{
log.info(LogManager.getHeader(context, "auth",
"No credentials, so sending WWW-Authenticate header."));
}
else
{
log.warn(LogManager.getHeader(context, "auth",
"Authentication FAILED, cred=" + cred));
}
// ...EXCEPT if dav.access.anonymous is true in config:
if (!allowAnonymousAccess)
{
if (response != null)
{
response.setHeader("WWW-Authenticate",
"Basic realm=\"dspace\"");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
return null;
}
}
// Set any special groups - invoke the authentication mgr.
int[] groupIDs = AuthenticationManager.getSpecialGroups(context,
request);
for (int element : groupIDs)
{
context.setSpecialGroup(element);
log.debug("Adding Special Group id=" + String.valueOf(element));
}
putAuthCookie(context, request, response, true);
return context;
}
/**

View File

@@ -12,14 +12,14 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-lni</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-webapp</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-webapp</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni/dspace-lni-webapp</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -12,7 +12,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -22,9 +22,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-lni</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<modules>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-oai</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai/dspace-oai-api</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai/dspace-oai-api</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai/dspace-oai-api</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<dependencies>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-oai</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai/dspace-oai-webapp</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai/dspace-oai-webapp</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai/dspace-oai-webapp</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-oai</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<modules>

View File

@@ -3,7 +3,7 @@
<parent>
<artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -11,7 +11,7 @@
<groupId>org.dspace</groupId>
<artifactId>dspace-stats</artifactId>
<name>DSpace Solr Statistics Logging Client Library</name>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<description>Library of Shared UsageEvent and EventConsumer Tools for Logging to Solr.</description>
<!--
@@ -20,9 +20,9 @@
releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<developers>

View File

@@ -1,43 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-api</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Sword Client :: Sword Client API</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-api</artifactId>
</dependency>
</dependencies>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-api</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-api
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-api</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-api</artifactId>
<version>1.8.2</version>
<name>DSpace Sword Client :: Sword Client API</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-api</artifactId>
</dependency>
</dependencies>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -1,59 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Sword Client :: Sword Client XMLUI API</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-api</artifactId>
</dependency>
</dependencies>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-api
</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-api
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-api</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-api</artifactId>
<version>1.8.2</version>
<name>DSpace Sword Client :: Sword Client XMLUI API</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-api</artifactId>
</dependency>
</dependencies>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -1,93 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-webapp</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Sword Client :: Sword Client XMLUI Webapp</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-api</artifactId>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>
scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-webapp
</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-webapp
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-webapp</url>
</scm>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-webapp</artifactId>
<version>1.8.2</version>
<name>DSpace Sword Client :: Sword Client XMLUI Webapp</name>
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui-api</artifactId>
<exclusions>
<exclusion>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-api</artifactId>
</dependency>
<!-- external -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>false</archiveClasses>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occured, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>
scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
</project>

View File

@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version>
<name>DSpace Sword Client</name>
<parent>
<artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<modules>
<module>dspace-sword-client-api</module>
<module>dspace-sword-client-xmlui-api</module>
<module>dspace-sword-client-xmlui-webapp</module>
</modules>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occurred, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client</url>
</scm>
<issueManagement>
<system>JIRA</system>
<url>http://jira.dspace.org/jira/browse/SWORD</url>
</issueManagement>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId>
<version>1.8.2</version>
<name>DSpace Sword Client</name>
<parent>
<artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<modules>
<module>dspace-sword-client-api</module>
<module>dspace-sword-client-xmlui-api</module>
<module>dspace-sword-client-xmlui-webapp</module>
</modules>
<!--
The Subversion repository location is used by Continuum to update
against when changes have occurred, this spawns a new build cycle
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<issueManagement>
<system>JIRA</system>
<url>http://jira.dspace.org/jira/browse/SWORD</url>
</issueManagement>
</project>

View File

@@ -16,7 +16,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -27,10 +27,10 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword/dspace-sword-api</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword/dspace-sword-api
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword/dspace-sword-api</url>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<dependencies>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -24,9 +24,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword/dspace-sword-webapp</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword/dspace-sword-webapp</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword/dspace-sword-webapp</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>
@@ -114,7 +114,7 @@
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-api</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
</dependency>
</dependencies>

View File

@@ -16,7 +16,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -26,9 +26,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>

View File

@@ -1,168 +1,168 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.dspace</groupId>
<artifactId>dspace-swordv2</artifactId>
<packaging>war</packaging>
<name>DSpace SWORD v2 :: Web Application Resources</name>
<description>DSpace SWORD v2 Deposit Service Provider Web Application</description>
<url>http://projects.dspace.org/dspace-sword-webapp</url>
<!--
A Parent POM that Maven inherits DSpace Default
POM atrributes from.
-->
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<!--
The Subversion repository location is used by Continuum to update against
when changes have occurred, this spawns a new build cycle and releases snapshots
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-swordv2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-swordv2</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-swordv2</url>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<attachClasses>true</attachClasses>
<!-- In version 2.1-alpha-1, this was incorrectly named warSourceExcludes -->
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!--
when activated a dspace.config configuration
file location passed on the commandline
(-Ddspace.config=...) can be passed through
to be used as a filter source by projects for
tasks such as updating the ${dspace.dir} in
web.xml etc.
-->
<profile>
<activation>
<property>
<name>dspace.config</name>
</property>
</activation>
<build>
<filters>
<filter>${dspace.config}</filter>
</filters>
</build>
</profile>
<profile>
<id>oracle-support</id>
<activation>
<property>
<name>db.name</name>
<value>oracle</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
</dependencies>
</profile>
<profile>
<id>postgres-support</id>
<activation>
<property>
<name>!db.name</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.swordapp</groupId>
<artifactId>server</artifactId>
<version>2.0</version>
<type>jar</type>
<classifier>classes</classifier>
</dependency>
<dependency>
<groupId>org.swordapp</groupId>
<artifactId>server</artifactId>
<version>2.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.foresite-toolkit</groupId>
<artifactId>foresite</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<artifactId>jmxtools</artifactId>
<groupId>com.sun.jdmk</groupId>
</exclusion>
<exclusion>
<artifactId>jms</artifactId>
<groupId>javax.jms</groupId>
</exclusion>
<exclusion>
<artifactId>jmxri</artifactId>
<groupId>com.sun.jmx</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-client</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.dspace</groupId>
<artifactId>dspace-swordv2</artifactId>
<packaging>war</packaging>
<name>DSpace SWORD v2 :: Web Application Resources</name>
<description>DSpace SWORD v2 Deposit Service Provider Web Application</description>
<url>http://projects.dspace.org/dspace-sword-webapp</url>
<!--
A Parent POM that Maven inherits DSpace Default
POM atrributes from.
-->
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<!--
The Subversion repository location is used by Continuum to update against
when changes have occurred, this spawns a new build cycle and releases snapshots
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<attachClasses>true</attachClasses>
<!-- In version 2.1-alpha-1, this was incorrectly named warSourceExcludes -->
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes>
<webResources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
</resource>
</webResources>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!--
when activated a dspace.config configuration
file location passed on the commandline
(-Ddspace.config=...) can be passed through
to be used as a filter source by projects for
tasks such as updating the ${dspace.dir} in
web.xml etc.
-->
<profile>
<activation>
<property>
<name>dspace.config</name>
</property>
</activation>
<build>
<filters>
<filter>${dspace.config}</filter>
</filters>
</build>
</profile>
<profile>
<id>oracle-support</id>
<activation>
<property>
<name>db.name</name>
<value>oracle</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
</dependencies>
</profile>
<profile>
<id>postgres-support</id>
<activation>
<property>
<name>!db.name</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.swordapp</groupId>
<artifactId>server</artifactId>
<version>2.0</version>
<type>jar</type>
<classifier>classes</classifier>
</dependency>
<dependency>
<groupId>org.swordapp</groupId>
<artifactId>server</artifactId>
<version>2.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-api</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.foresite-toolkit</groupId>
<artifactId>foresite</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<artifactId>jmxtools</artifactId>
<groupId>com.sun.jdmk</groupId>
</exclusion>
<exclusion>
<artifactId>jms</artifactId>
<groupId>javax.jms</groupId>
</exclusion>
<exclusion>
<artifactId>jmxri</artifactId>
<groupId>com.sun.jmx</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-client</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</project>

View File

@@ -13,15 +13,15 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-api</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-api
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-api/</url>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<dependencies>

View File

@@ -9,7 +9,6 @@ package org.dspace.app.xmlui.aspect.administrative;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.sql.SQLException;
import java.util.Map;
import org.xml.sax.SAXException;
@@ -30,7 +29,6 @@ import org.dspace.app.xmlui.wing.element.Para;
import org.dspace.app.xmlui.wing.element.Select;
import org.dspace.app.xmlui.wing.element.Text;
import org.dspace.authorize.AuthorizeException;
import org.dspace.core.ConfigurationManager;
/**
* Generates the Administrative Curate Form, from which any DSpace object can
@@ -118,7 +116,7 @@ public class CurateForm extends AbstractDSpaceTransformer
{
Select groupSelect = form.addItem().addSelect("select_curate_group");
groupSelect = FlowCurationUtils.getGroupSelectOptions(groupSelect);
groupSelect.setLabel(T_taskgroup_label_name); // todo: i18n this
groupSelect.setLabel(T_taskgroup_label_name);
groupSelect.setSize(1);
groupSelect.setRequired();
groupSelect.setEvtBehavior("submitOnChange");
@@ -130,6 +128,7 @@ public class CurateForm extends AbstractDSpaceTransformer
}
Select taskSelect = form.addItem().addSelect("curate_task");
taskSelect = FlowCurationUtils.getTaskSelectOptions(taskSelect, curateGroup);
taskSelect.setLabel(T_task_label_name);
taskSelect.setSize(1);
taskSelect.setRequired();
if(taskSelected!=null)

View File

@@ -95,13 +95,22 @@ public class SearchItemForm extends AbstractDSpaceTransformer {
{
String itemID = String.valueOf(item.getID());
Collection owningCollection = item.getOwningCollection();
String owning = owningCollection.getMetadata("name");
String author = "unkown";
DCValue[] dcAuthors = item.getDC("contributor",Item.ANY,Item.ANY);
if (dcAuthors != null && dcAuthors.length >= 1)
String owning = "unknown";
if (owningCollection != null)
owning = owningCollection.getMetadata("name");
String author = "unknown";
DCValue[] dcCreators = item.getDC("creator",Item.ANY,Item.ANY);
if (dcCreators != null && dcCreators.length >= 1)
{
author = dcAuthors[0].value;
}
author = dcCreators[0].value;
} else {
// Do a fall back look for contributors
DCValue[] dcContributors = item.getDC("contributor",Item.ANY,Item.ANY);
if (dcContributors != null && dcContributors.length >= 1)
{
author = dcContributors[0].value;
}
}
String title = "untitled";
DCValue[] dcTitles = item.getDC("title",null,Item.ANY);

View File

@@ -0,0 +1,44 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.xmlui.aspect.browseArtifacts;
import org.apache.cocoon.ProcessingException;
import org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer;
import org.dspace.app.xmlui.utils.UIException;
import org.dspace.app.xmlui.wing.WingException;
import org.dspace.app.xmlui.wing.element.Body;
import org.dspace.app.xmlui.wing.element.Division;
import org.dspace.app.xmlui.wing.element.PageMeta;
import org.dspace.authorize.AuthorizeException;
import org.xml.sax.SAXException;
import java.io.IOException;
import java.sql.SQLException;
/**
* Created by IntelliJ IDEA.
* User: peterdietz
* Date: 07/12/11
* Time: 11:39 PM
* To change this template use File | Settings | File Templates.
*/
public class StaticPage extends AbstractDSpaceTransformer {
@Override
public void addPageMeta(PageMeta pageMeta) throws SAXException, WingException, UIException, SQLException, IOException, AuthorizeException {
pageMeta.addMetadata("title").addContent("StaticPageTitle");
pageMeta.addTrail().addContent("StaticTrail");
}
@Override
public void addBody(Body body) throws SAXException, WingException, UIException, SQLException, IOException, AuthorizeException, ProcessingException {
Division division = body.addDivision("staticpage");
division.setHead("StaticPageBodyHead");
division.addPara("StaticPageBodyPara");
}
}

View File

@@ -146,7 +146,9 @@ public class LoginChooser extends AbstractDSpaceTransformer implements
String characters = (String) session
.getAttribute(AuthenticationUtil.REQUEST_INTERRUPTED_CHARACTERS);
if (header != null || message != null || characters != null) {
if ( (header != null && header.trim().length() > 0) ||
(message != null && message.trim().length() > 0) ||
(characters != null && characters.trim().length() > 0)) {
Division reason = body.addDivision("login-reason");
if (header != null)

View File

@@ -25,6 +25,8 @@ import org.dspace.workflow.WorkflowManager;
import javax.servlet.ServletException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
/**
* This is a utility class to aid in the workflow flow scripts.
* Since data validation is cumbersome inside a flow script this
@@ -113,6 +115,12 @@ public class FlowUtils {
public static void processClaimTask(Context context, String id) throws SQLException, UIException, ServletException, AuthorizeException, IOException
{
WorkflowItem workflowItem = findWorkflow(context, id);
if(workflowItem.getState() != WorkflowManager.WFSTATE_STEP1POOL &&
workflowItem.getState() != WorkflowManager.WFSTATE_STEP2POOL &&
workflowItem.getState() != WorkflowManager.WFSTATE_STEP3POOL){
//Only allow tasks in the pool to be claimed !
throw new AuthorizeException("Error while claiming task: this task has already been claimed !");
}
// Claim the task
WorkflowManager.claim(context, workflowItem, context.getCurrentUser());
@@ -127,6 +135,38 @@ public class FlowUtils {
+ "new_state=" + workflowItem.getState()));
}
/**
* Verifies if the currently logged in user has proper rights to perform the workflow task on the item
* @param context the current dspace context
* @param workflowItemId the identifier of the workflow item
* @throws org.dspace.authorize.AuthorizeException thrown if the user doesn't have sufficient rights to perform the task at hand
* @throws java.sql.SQLException is thrown when something is wrong with the database
*/
public static void authorizeWorkflowItem(Context context, String workflowItemId) throws AuthorizeException, SQLException {
WorkflowItem workflowItem = WorkflowItem.find(context, Integer.parseInt(workflowItemId.substring(1)));
if((workflowItem.getState() == WorkflowManager.WFSTATE_STEP1 ||
workflowItem.getState() == WorkflowManager.WFSTATE_STEP2 ||
workflowItem.getState() == WorkflowManager.WFSTATE_STEP3) && workflowItem.getOwner().getID() != context.getCurrentUser().getID()){
throw new AuthorizeException("You are not allowed to perform this task.");
}else
if((workflowItem.getState() == WorkflowManager.WFSTATE_STEP1POOL ||
workflowItem.getState() == WorkflowManager.WFSTATE_STEP2POOL ||
workflowItem.getState() == WorkflowManager.WFSTATE_STEP3POOL)){
//Verify if the current user has the current workflowItem among his pooled tasks
boolean hasPooledTask = false;
List<WorkflowItem> pooledTasks = WorkflowManager.getPooledTasks(context, context.getCurrentUser());
for (WorkflowItem pooledItem : pooledTasks) {
if(pooledItem.getID() == workflowItem.getID()){
hasPooledTask = true;
}
}
if(!hasPooledTask){
throw new AuthorizeException("You are not allowed to perform this task.");
}
}
}
/**
* Reject the given task for the given reason. If the user did not provide

View File

@@ -33,8 +33,6 @@ import org.dspace.handle.HandleManager;
public class DSpaceObjectManager implements ObjectManager
{
/** List of all managed DSpaceObjects */
private List<DSpaceObject> dsos = new ArrayList<DSpaceObject>();
/**
* Manage the given object, if this manager is unable to manage the object then false must be returned.
@@ -43,32 +41,11 @@ public class DSpaceObjectManager implements ObjectManager
* The object to be managed.
* @return The object identifiers
*/
public boolean manageObject(Object object) throws WingException
public boolean manageObject(Object object)
{
// First check that the object is of a type we can manage.
if (object instanceof BrowseItem)
{
dsos.add((BrowseItem) object);
return true;
}
else if (object instanceof Item)
{
dsos.add((Item) object);
return true;
}
else if (object instanceof Collection)
{
dsos.add((Collection) object);
return true;
}
else if (object instanceof Community)
{
dsos.add((Community) object);
return true;
}
// We are unable to manage this object.
return false;
// Check that the object is of a type we can manage.
return (object instanceof BrowseItem) || (object instanceof Item) || (object instanceof Collection)
|| (object instanceof Community);
}
@@ -114,7 +91,7 @@ public class DSpaceObjectManager implements ObjectManager
* Return a pretty specific string giving a hint to the theme as to what
* type of DSpace object is being refrenced.
*/
public String getObjectType(Object object) throws WingException
public String getObjectType(Object object)
{
if (object instanceof Item || object instanceof BrowseItem)
{
@@ -146,7 +123,7 @@ public class DSpaceObjectManager implements ObjectManager
*/
public String getRepositoryURL(Object object) throws WingException
{
String handlePrefix = ConfigurationManager.getProperty("handel.prefix");
String handlePrefix = HandleManager.getPrefix();
return "/metadata/internal/repository/"+handlePrefix +"/mets.xml";
}

View File

@@ -2612,8 +2612,9 @@ function doSetupCollectionHarvesting(collectionID)
assertAdminCollection(collectionID);
if (cocoon.request.get("submit_return") || cocoon.request.get("submit_metadata") ||
cocoon.request.get("submit_roles") || cocoon.request.get("submit_harvesting"))
if (cocoon.request.get("submit_return") || cocoon.request.get("submit_metadata") ||
cocoon.request.get("submit_roles") || cocoon.request.get("submit_harvesting") ||
cocoon.request.get("submit_curate"))
{
// return to the editCollection function which will determine where to go next.
return null;

View File

@@ -24,6 +24,7 @@ collections / items / and bitstreams.
<map:transformer name="CommunityRecentSubmissions" src="org.dspace.app.xmlui.aspect.artifactbrowser.CommunityRecentSubmissions"/>
<map:transformer name="CollectionRecentSubmissions" src="org.dspace.app.xmlui.aspect.artifactbrowser.CollectionRecentSubmissions"/>
<map:transformer name="ConfigurableBrowse" src="org.dspace.app.xmlui.aspect.artifactbrowser.ConfigurableBrowse"/>
<map:transformer name="StaticPage" src="org.dspace.app.xmlui.aspect.browseArtifacts.StaticPage"/>
</map:transformers>
<map:matchers default="wildcard">
@@ -57,6 +58,11 @@ collections / items / and bitstreams.
<map:serialize type="xml"/>
</map:match>
<map:match pattern="page/*">
<map:transform type="StaticPage"/>
<map:serialize type="xml"/>
</map:match>
<!-- Browse (by anything) -->
<map:match pattern="browse">
<map:transform type="ConfigurableBrowse"/>
@@ -91,7 +97,6 @@ collections / items / and bitstreams.
</map:match>
<!-- Not a URL we care about, so just pass it on. -->
<map:serialize type="xml"/>

View File

@@ -130,6 +130,8 @@ function doWorkflow()
do
{
//Ensure that the currently logged in user can perform the task
FlowUtils.authorizeWorkflowItem(getDSContext(), workflowID);
sendPageAndWait("handle/"+handle+"/workflow/performTaskStep",{"id":workflowID,"step":"0"});
if (cocoon.request.get("submit_leave"))

View File

@@ -13,15 +13,15 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-webapp</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-webapp
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-webapp</url>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -40,8 +40,9 @@ org.apache.cocoon.uploads.autosave=true
org.apache.cocoon.uploads.overwrite=rename
# Specify maximum allowed size of the upload. Defaults to 10 Mb.
# DSpace Community: Set here to as high as possible.
org.apache.cocoon.uploads.maxsize=1000000000
# DSpace Community: 2GB. The HTTP spec allows this to be increased to 4GB but
# cocoon places a limit because the parameter is read into a signed integer.
org.apache.cocoon.uploads.maxsize=2147483647
# This parameter allows to specify where Cocoon should create its page
# and other objects cache. The path specified can be either absolute or

View File

@@ -34,6 +34,12 @@
<xsl:output indent="yes"/>
<!--
Requested Page URI. Some functions may alter behavior of processing depending if URI matches a pattern.
Specifically, adding a static page will need to override the DRI, to directly add content.
-->
<xsl:variable name="request-uri" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI']"/>
<!--
The starting point of any XSL processing is matching the root element. In DRI the root element is document,
which contains a version attribute and three top level elements: body, options, meta (in that order).
@@ -280,6 +286,9 @@
<xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" />
<title>
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<xsl:text>About This Repository</xsl:text>
</xsl:when>
<xsl:when test="not($page_title)">
<xsl:text> </xsl:text>
</xsl:when>
@@ -389,6 +398,9 @@
<div id="ds-trail-wrapper">
<ul id="ds-trail">
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<xsl:text>About This Repository</xsl:text>
</xsl:when>
<xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0">
<li class="ds-trail-link first-link">-</li>
</xsl:when>
@@ -561,7 +573,25 @@
</p>
</div>
</xsl:if>
<xsl:apply-templates />
<!-- Check for the custom pages -->
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<div>
<h1>About This Repository</h1>
<p>To add your own content to this page, edit webapps/xmlui/themes/Mirage/lib/xsl/core/page-structure.xsl and
add your own content to the title, trail, and body. If you wish to add additional pages, you
will need to create an additional xsl:when block and match the request-uri to whatever page
you are adding. Currently, static pages created through altering XSL are only available
under the URI prefix of page/.</p>
</div>
</xsl:when>
<!-- Otherwise use default handling of body -->
<xsl:otherwise>
<xsl:apply-templates />
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>

View File

@@ -30,6 +30,8 @@
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:encoder="xalan://java.net.URLEncoder"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
exclude-result-prefixes="xalan encoder i18n dri mets dim xlink xsl">
@@ -59,19 +61,37 @@
<!-- Iterate over the links in the ORE resource maps and make them into bitstream references in the file section -->
<xsl:template match="atom:link[@rel='http://www.openarchives.org/ore/terms/aggregates']">
<tr>
<xsl:attribute name="class">
<xsl:text>ds-table-row </xsl:text>
<xsl:if test="(position() mod 2 = 0)">even </xsl:if>
<xsl:if test="(position() mod 2 = 1)">odd </xsl:if>
</xsl:attribute>
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:variable name="link_href" select="@href"/>
<xsl:if test="/atom:entry/oreatom:triples/rdf:Description[@rdf:about=$link_href][dcterms:description='ORIGINAL']
or not(/atom:entry/oreatom:triples/rdf:Description[@rdf:about=$link_href])">
<tr>
<xsl:attribute name="class">
<xsl:text>ds-table-row </xsl:text>
<xsl:if test="(position() mod 2 = 0)">even </xsl:if>
<xsl:if test="(position() mod 2 = 1)">odd </xsl:if>
</xsl:attribute>
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:choose>
<xsl:when test="@title">
<xsl:value-of select="@title"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@href"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when test="string-length(@title) > 50">
<xsl:variable name="title_length" select="string-length(@title)"/>
<xsl:value-of select="substring(@title,1,15)"/>
<xsl:text> ... </xsl:text>
<xsl:value-of select="substring(@title,$title_length - 25,$title_length)"/>
</xsl:when>
<xsl:when test="@title">
<xsl:value-of select="@title"/>
</xsl:when>
@@ -79,63 +99,49 @@
<xsl:value-of select="@href"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</a>
</td>
<!-- File size always comes in bytes and thus needs conversion -->
<td>
<xsl:choose>
<xsl:when test="string-length(@title) > 50">
<xsl:variable name="title_length" select="string-length(@title)"/>
<xsl:value-of select="substring(@title,1,15)"/>
<xsl:text> ... </xsl:text>
<xsl:value-of select="substring(@title,$title_length - 25,$title_length)"/>
<xsl:when test="@length &lt; 1000">
<xsl:value-of select="@length"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-bytes</i18n:text>
</xsl:when>
<xsl:when test="@title">
<xsl:value-of select="@title"/>
<xsl:when test="@length &lt; 1000000">
<xsl:value-of select="substring(string(@length div 1000),1,5)"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-kilobytes</i18n:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@href"/>
</xsl:otherwise>
<xsl:when test="@length &lt; 1000000001">
<xsl:value-of select="substring(string(@length div 1000000),1,5)"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-megabytes</i18n:text>
</xsl:when>
<xsl:when test="@length &gt; 1000000000">
<xsl:value-of select="substring(string(@length div 1000000000),1,5)"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-gigabytes</i18n:text>
</xsl:when>
<!-- When one isn't available -->
<xsl:otherwise><xsl:text>n/a</xsl:text></xsl:otherwise>
</xsl:choose>
</a>
</td>
<!-- File size always comes in bytes and thus needs conversion -->
<td>
<xsl:choose>
<xsl:when test="@length &lt; 1000">
<xsl:value-of select="@length"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-bytes</i18n:text>
</xsl:when>
<xsl:when test="@length &lt; 1000000">
<xsl:value-of select="substring(string(@length div 1000),1,5)"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-kilobytes</i18n:text>
</xsl:when>
<xsl:when test="@length &lt; 1000000001">
<xsl:value-of select="substring(string(@length div 1000000),1,5)"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-megabytes</i18n:text>
</xsl:when>
<xsl:when test="@length &gt; 1000000000">
<xsl:value-of select="substring(string(@length div 1000000000),1,5)"/>
<i18n:text>xmlui.dri2xhtml.METS-1.0.size-gigabytes</i18n:text>
</xsl:when>
<!-- When one isn't available -->
<xsl:otherwise><xsl:text>n/a</xsl:text></xsl:otherwise>
</xsl:choose>
</td>
<!-- Currently format carries forward the mime type. In the original DSpace, this
would get resolved to an application via the Bitstream Registry, but we are
constrained by the capabilities of METS and can't really pass that info through. -->
<td>
<xsl:value-of select="substring-before(@type,'/')"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="substring-after(@type,'/')"/>
</td>
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
</xsl:attribute>
<i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-viewOpen</i18n:text>
</a>
</td>
</tr>
</td>
<!-- Currently format carries forward the mime type. In the original DSpace, this
would get resolved to an application via the Bitstream Registry, but we are
constrained by the capabilities of METS and can't really pass that info through. -->
<td>
<xsl:value-of select="substring-before(@type,'/')"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="substring-after(@type,'/')"/>
</td>
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
</xsl:attribute>
<i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-viewOpen</i18n:text>
</a>
</td>
</tr>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

View File

@@ -33,6 +33,12 @@
<xsl:output indent="yes"/>
<!--
Requested Page URI. Some functions may alter behavior of processing depending if URI matches a pattern.
Specifically, adding a static page will need to override the DRI, to directly add content.
-->
<xsl:variable name="request-uri" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI']"/>
<!--
The starting point of any XSL processing is matching the root element. In DRI the root element is document,
which contains a version attribute and three top level elements: body, options, meta (in that order).
@@ -232,6 +238,9 @@
<xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" />
<title>
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<xsl:text>About This Repository</xsl:text>
</xsl:when>
<xsl:when test="not($page_title)">
<xsl:text> </xsl:text>
</xsl:when>
@@ -284,6 +293,9 @@
<ul id="ds-trail">
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<xsl:text>About This Repository</xsl:text>
</xsl:when>
<xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0">
<li class="ds-trail-link first-link"> - </li>
</xsl:when>
@@ -500,7 +512,25 @@
</p>
</div>
</xsl:if>
<xsl:apply-templates />
<!-- Check for the custom pages -->
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<div>
<h1>About This Repository</h1>
<p>To add your own content to this page, edit webapps/xmlui/themes/dri2xhtml-alt/core/page-structure.xsl and
add your own content to the title, trail, and body. If you wish to add additional pages, you
will need to create an additional xsl:when block and match the request-uri to whatever page
you are adding. Currently, static pages created through altering XSL are only available
under the URI prefix of page/.</p>
</div>
</xsl:when>
<!-- Otherwise use default handling of body -->
<xsl:otherwise>
<xsl:apply-templates />
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>

View File

@@ -46,6 +46,12 @@
"[context-path]/themes/[theme-dir]/".
-->
<xsl:variable name="theme-path" select="concat($context-path,'/themes/',/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path'])"/>
<!--
Requested Page URI. Some functions may alter behavior of processing depending if URI matches a pattern.
Specifically, adding a static page will need to override the DRI, to directly add content.
-->
<xsl:variable name="request-uri" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI']"/>
<!--
This style sheet will be written in several stages:
@@ -266,7 +272,10 @@
<xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" />
<title>
<xsl:choose>
<xsl:when test="not($page_title) or (string-length($page_title) &lt; 1)">
<xsl:when test="starts-with($request-uri, 'page/about')">
<xsl:text>About This Repository</xsl:text>
</xsl:when>
<xsl:when test="not($page_title) or (string-length($page_title) &lt; 1)">
<i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text>
</xsl:when>
<xsl:otherwise>
@@ -318,6 +327,9 @@
<ul id="ds-trail">
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<xsl:text>About This Repository</xsl:text>
</xsl:when>
<xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0">
<li class="ds-trail-link first-link"> - </li>
</xsl:when>
@@ -535,7 +547,27 @@
</p>
</div>
</xsl:if>
<xsl:apply-templates />
<!-- Check for the custom pages -->
<xsl:choose>
<xsl:when test="starts-with($request-uri, 'page/about')">
<div>
<h1>About This Repository</h1>
<p>To add your own content to this page, edit webapps/xmlui/themes/dri2xhtml/structural.xsl and
add your own content to the title, trail, and body. If you wish to add additional pages, you
will need to create an additional xsl:when block and match the request-uri to whatever page
you are adding. Currently, static pages created through altering XSL are only available
under the URI prefix of page/.</p>
</div>
</xsl:when>
<!-- Otherwise use default handling of body -->
<xsl:otherwise>
<xsl:apply-templates />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='sfx'][@qualifier='server']">
<a>
<xsl:attribute name="href">

View File

@@ -10,15 +10,15 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-xmlui</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-wing</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-wing
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-wing</url>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<dependencies>

View File

@@ -12,7 +12,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -22,9 +22,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<modules>

View File

@@ -4,79 +4,176 @@
# Configuration properties used by the Shibboleth #
# Authentication plugin, when it is enabled. #
#---------------------------------------------------------------#
#### Shibboleth Authentication Configuration Settings ####
# Shibboleth is a distributed authentication system for securely authenticating
# users and passing attributes about the user from one or more identity
# providers. In the Shibboleth terminology DSpace is a Service Provider which
# receives authentication information and then based upon that provides a
# service to the user. With Shibboleth DSpace will require that you use
# Apache installed with the mod_shib module acting as a proxy for all HTTP
# requests for your servlet container (typically Tomcat). DSpace will receive
# authentication information from the mod_shib module through HTTP headers.
#
# In order to enable Shibboleth Authentication, you must first ensure the
# 'org.dspace.authenticate.ShibAuthentication' class is added to the
# list of enabled AuthenticationMethods in 'authenticate.cfg'.
# See 'authenticate.cfg' for more info.
# See for more information on installing and configuring a Shibboleth
# Service Provider:
# https://wiki.shibboleth.net/confluence/display/SHIB2/Installation
##
## Shibboleth Sessions:
##
# When configuring your Shibboleth Service Provider there are two paradigms you
# may use: Active or Lazy Sessions. Active sessions is where the mob_shib
# module is configured to product a URL space. No one will be able to access
# that URL without first authenticating with Shibboleth. Using this method you
# will need to configure shibboleth to protect the URL: "/shibboleth-login".
# The alternative, Lazy Session does not protect any specific URL. Instead
# apache will allow access to any URL, and when the application wants to it
# may initiate an authenticated session. The Lazy Session method is preferable
# for most DSpace installations where you want public access to most of DSpace
# but restricted access to limitted areas - such as administration.
# Whether to use lazy sessions or active sessions.
lazysession = true
# The url to start a shibboleth session (only for lazy sessions)
lazysession.loginurl = /Shibboleth.sso/Login
# Force HTTPS when authenticating (only for lazy sessions)
lazysession.secure = true
##
## Shibboleth Authentication Methods:
##
# DSpace supports authentication using NetID, or email address. A user's NetID
# is a unique identifier from the IdP that identifies a particular user. The
# NetID can be of almost any form such as a unique integer, string, or with
# Shibboleth 2.0 you can use "targeted ids". You will need to coordinate with
# your shibboleth federation or identity provider. There are three ways to
# supply identity information to DSpace:
#
# Check https://mams.melcoe.mq.edu.au/zope/mams/pubs/Installation/dspace15/view
# for installation detail.
# 1) NetID from Shibboleth Header (best)
#
# DSpace requires email as user's credential. There are 2 ways of providing
# email to DSpace:
# 1) by explicitly specifying to the user which attribute (header)
# carries the email address.
# 2) by turning on the user-email-using-tomcat=true which means
# the software will try to acquire the user's email from Tomcat
# The first option takes PRECEDENCE when specified. Both options can
# be enabled to allow fallback.
# The NetID-based method is superior because users may change their email
# address with the identity provider. When this happens DSpace will not be
# able to associate their new address with their old account.
#
# 2) Email address from Shibboleth Header (okay)
#
# In the case where a NetID header is not available or not found DSpace
# will fall back to identifying a user based-upon their email address.
#
# 3) Tomcat's Remote User (worst)
#
# In the event that neither Shibboleth headers are found then as a last
# resort DSpace will look at Tomcat's remote user field. This is the least
# attractive option because Tomcat has no way to supply additional
# attributes about a user. Because of this the autoregister option is not
# supported if this method is used.
#
# Identity Scheme Migration Strategies:
# If you are currently using Email based authentication (either 1 or 2) and
# want to upgrade to NetID based authentication then there is an easy path.
# Simply enable shibboleth to pass the NetID attribute and set the netid-header
# below to the correct value. When a user attempts to log in to DSpace first
# DSpace will look for an EPerson with the passed NetID, however when this
# fails DSpace will fall back to email based authentication. Then DSpace will
# update the user's EPerson account record to set their netted so all future
# authentications for this user will be based upon netted. One thing to note
# is that DSpace will prevent an account from switching NetIDs. If an account
# all ready has a NetID set and then they try and authenticate with a
# different NetID the authentication will fail.
# this option below specifies that the email comes from the mentioned header.
# The value is CASE-Sensitive.
email-header = MAIL
# Authentication headers for Mail, NetID, and Tomcat's Remote User.
# Supply all parameters possible.
netid-header = SHIB-NETID
email-header = SHIB-MAIL
email-use-tomcat-remote-user = false
# optional. Specify the header that carries user's first name
# this is going to be used for creation of new-user
firstname-header = SHIB-EP-GIVENNAME
# optional. Specify the header that carries user's last name
# this is used for creation of new user
lastname-header = SHIB-EP-SURNAME
# this option below forces the software to acquire the email from Tomcat.
email-use-tomcat-remote-user = true
# should we allow new users to be registered automtically
# if the IdP provides sufficient info (and user not exists in DSpace)
# Should we allow new users to be registered automatically?
autoregister = true
# these two header here specify which attribute that is responsible
# for providing user's roles to DSpace and unscope the attributes if needed.
# When not specified, it is defaulted to 'Shib-EP-UnscopedAffiliation', and
# ignore-scope is defaulted to 'false'.
# The value is specified in AAP.xml (Shib 1.3.x) or
# attribute-filter.xml (Shib 2.x). The value is CASE-Sensitive.
# The values provided in this header are separated by semi-colon or comma.
# If your sp only provides scoped role header, you need to set
# role-header.ignore-Scope as true.
# for example if you only get Shib-EP-ScopedAffiliation instead of Shib-EP-ScopedAffiliation,
# you have to make your setting as:
# role-header = Shib-EP-ScopedAffiliation
# role-header.ignore-scope = true
# Sword compatability will allow this authentication method to work when using
# sword. Sort relies on username and password based authentication and is
# entirely incapable of supporting shibboleth. This option allows you to
# authenticate username and passwords for sword sessions with out adding
# another authentication method onto the stack. You will need to ensure that
# a user has a password. One way to do that is to create the user via the
# create-administrator command line command and then edit their permissions.
sword.compatability = false
# role-header = Shib-EP-UnscopedAffiliation
role-header.ignore-scope = false
# when user is fully authN on IdP but would not like to release
# his/her roles to DSpace (for privacy reason?), what should be
# the default roles be given to such users?
# The values are separated by semi-colon or comma
# default-roles = Staff, Walk-ins
##
## EPerson Metadata:
##
# One of the primary benefits of using Shibboleth based authentication is
# receiving additional attributes about users such as their names, telephone
# numbers, and possibly their academic department or graduation semester if
# desired. DSpace treats the first and last name attributes differently because
# they (along with email address) are the three pieces of minimal information
# required to create a new user account. For both first and last name supply
# direct mappings to the Shibboleth headers. In additional to the first and
# last name DSpace supports other metadata fields such as phone, or really
# anything you want to store on an eperson object. Beyond the phone field,
# which is accessible in the user's profile screen, none of these additional
# metadata fields will be used by DSpace out-of-the box. However if you
# develop any local modification you may access these attributes from the
# EPerson object. The Vireo ETD workflow system utilizes this to aid
# students when submitting an ETD.
# The following mappings specify role mapping between IdP and Dspace.
# the left side of the entry is IdP's role (prefixed with
# "role.") which will be mapped to
# the right entry from DSpace. DSpace's group as indicated on the
# right entry has to EXIST in DSpace, otherwise user will be identified
# as 'anonymous'. Multiple values on the right entry should be separated
# by comma. The values are CASE-Sensitive. Heuristic one-to-one mapping
# will be done when the IdP groups entry are not listed below (i.e.
# if "X" group in IdP is not specified here, then it will be mapped
# to "X" group in DSpace if it exists, otherwise it will be mapped
# to simply 'anonymous')
# Metadata Headers
# Shibboleth-based headers for the first and last name attirbutes
firstname-header = SHIB-GIVENNAME
lastname-header = SHIB-SURNAME
# Additional user attributes mapping, multiple attributes may be stored
# for each user. The left side is the Shibboleth-based metadata Header
# and the right side is the eperson metadata field to map the attribute to.
#eperson.metadata = \
# SHIB-telephone => phone, \
# SHIB-cn => cn
# If the eperson metadata field is not found, should it be automatically created?
eperson.metadata.autocreate = true;
##
## Role-based Groups:
##
# DSpace is able to place users into pre-defined groups based upon values
# received from Shibboleth. Using this option you can place all faculty members
# into a DSpace group when the correct affiliation's attribute is provided.
# When DSpace does this they are considered 'special groups', these are really
# groups but the user's membership within these groups is not recorded in the
# database. Each time a user authenticates they are automatically placed within
# the pre-defined DSpace group, so if the user loses their affiliation then the
# next time they login they will no longer be in the group.
#
# Given sufficient demand, future release could support regex for the mapping
# special characters need to be escaped by \
role.Senior\ Researcher = Researcher, Staff
role.Librarian = Administrator
# Depending upon the shibboleth attributed use in the role-header it may be
# scoped. Scoped is shibboleth terminology for identifying where an attribute
# originated from. For example a students affiliation may be encoded as
# "student@tamu.edu". The part after the @ sign is the scope, and the preceding
# value is the value. You may use the whole value or only the value or scope.
# Using this you could generate a role for students and one institution
# different than students at another institution. Or if you turn on
# ignore-scope you could ignore the institution and place all students into
# one group.
# The values extracted (a user may have multiple roles) will be used to look
# up which groups to place the user into. The groups are defined as
# "role.<role-name>" which is a comma separated list of
# DSpace groups.
# The shibboleth header to do role-based mappings
role-header = SHIB-SCOPED-AFFILIATION
# Weather to ignore the attribute's scope or value.
role-header.ignore-scope = true
#role-header.ignore-value = false
# Default mappings of roles values to a comma separated list of DSpace group
# names (Case Sensitive).
#role.faculty = Faculty, Member
#role.staff = Staff, Member
#role.student = Students, Member

Binary file not shown.

View File

@@ -10,7 +10,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -75,9 +75,9 @@
</profiles>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/jspui</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/jspui</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/jspui</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -12,14 +12,14 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/lni</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/lni</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/lni</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -16,7 +16,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -26,9 +26,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/oai</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/oai</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/oai</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -10,14 +10,14 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<!--

View File

@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.dspace.modules</groupId>
<artifactId>solr</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<packaging>war</packaging>
<name>DSpace SOLR :: Web Application</name>
<description>
@@ -26,9 +26,9 @@
and releases snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr</connection>
<developerConnection>scm:svn:https://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr</developerConnection>
<url>http://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr</url>
<connection>scm:svn:http://dspace.svn.sourceforge.net/svnroot/dspace/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://dspace.svn.sourceforge.net/svnroot/dspace/tags/dspace-1.8.2</developerConnection>
<url>http://dspace.svn.sourceforge.net/svnroot/dspace/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -16,7 +16,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -26,9 +26,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/sword</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/sword</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/sword</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -16,7 +16,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -26,9 +26,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/swordv2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/swordv2</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/swordv2</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>

View File

@@ -13,14 +13,14 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
<scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/xmlui</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/xmlui</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/xmlui</url>
<connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<build>
@@ -145,32 +145,32 @@
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-solr</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-webapp</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-webapp</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<type>war</type>
</dependency>

View File

@@ -16,7 +16,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<relativePath>..</relativePath>
</parent>
@@ -26,9 +26,9 @@
into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm>
<properties>

View File

@@ -3,7 +3,7 @@
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<packaging>pom</packaging>
<version>3.0-SNAPSHOT</version>
<version>1.8.2</version>
<name>DSpace Parent Project</name>
<url>http://projects.dspace.org</url>
@@ -1066,9 +1066,9 @@
snapshots into the snapshot repository below.
-->
<scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk</url>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/tags/dspace-1.8.2</developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/tags/dspace-1.8.2</url>
</scm>
</project>