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

View File

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

View File

@@ -844,6 +844,7 @@ public class BrowseDAOPostgres implements BrowseDAO
{ {
queryBuf.append(" DESC "); 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()); String nValue = OrderFormat.makeSortString(value.value, value.language, so.getType());
sortMap.put(key, nValue); 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... // FIXME: multiple inclusion is affected by this...
AuthorizeManager.inheritPolicies(ourContext, this, b); 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 // Add the mapping row to the database
TableRow mappingRow = DatabaseManager.row("bundle2bitstream"); TableRow mappingRow = DatabaseManager.row("bundle2bitstream");
mappingRow.setColumn("bundle_id", getID()); mappingRow.setColumn("bundle_id", getID());
mappingRow.setColumn("bitstream_id", b.getID()); mappingRow.setColumn("bitstream_id", b.getID());
mappingRow.setColumn("bitstream_order", b.getSequenceID()); mappingRow.setColumn("bitstream_order", bitstreamOrder);
DatabaseManager.insert(ourContext, mappingRow); DatabaseManager.insert(ourContext, mappingRow);
} }
@@ -491,6 +499,14 @@ public class Bundle extends DSpaceObject
// Place the bitstream in the list of bitstreams in this bundle // Place the bitstream in the list of bitstreams in this bundle
bitstreams.add(bitstreamMap.get(bitstreamId)); 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();
} }
} }
@@ -532,6 +548,15 @@ public class Bundle extends DSpaceObject
ourContext.addEvent(new Event(Event.REMOVE, Constants.BUNDLE, getID(), Constants.BITSTREAM, b.getID(), String.valueOf(b.getSequenceID()))); 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 // In the event that the bitstream to remove is actually
// the primary bitstream, be sure to unset the primary // the primary bitstream, be sure to unset the primary
// bitstream. // bitstream.

View File

@@ -123,10 +123,29 @@ public class InstallItem
handle = HandleManager.createHandle(c, item, suppliedHandle); handle = HandleManager.createHandle(c, item, suppliedHandle);
} }
//NOTE: this method specifically skips over "populateMetadata()" // Even though we are restoring an item it may not have a have the proper dates. So lets
// As this is a "restore" all the metadata should have already been restored // 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();
//@TODO: Do we actually want a "Restored on ..." provenance message? Or perhaps kick off an event? // 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); 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) private static void populateMetadata(Context c, Item item, DCDate embargoLiftDate)
throws SQLException, IOException, AuthorizeException throws SQLException, IOException, AuthorizeException
{ {

View File

@@ -306,6 +306,15 @@ public class Item extends DSpaceObject
return myDate; 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 * Set the "is_archived" flag. This is public and only
* <code>WorkflowItem.archive()</code> should set this. * <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 bitstream = bundle.createBitstream(fileStream);
bitstream.setName(path); 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 // crosswalk this bitstream's administrative metadata located in
// METS manifest (or referenced externally) // METS manifest (or referenced externally)
manifest.crosswalkBitstream(context, params, bitstream, mfileID, manifest.crosswalkBitstream(context, params, bitstream, mfileID,

View File

@@ -834,14 +834,16 @@ public class PackageUtils
if(dso==null) 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; String newName;
if (orphanGroups.containsKey(groupName)) if (orphanGroups.containsKey(groupName))
newName = orphanGroups.get(groupName); newName = orphanGroups.get(groupName);
else else
{ {
newName= "GROUP_" + Utils.generateHexKey() + "_" newName= "ORPHANED_" + objType + "_GROUP_"
+ objType + "_" + groupType; + objID + "_" + groupType;
orphanGroups.put(groupName, newName); orphanGroups.put(groupName, newName);
// A given group should only be translated once, since the // A given group should only be translated once, since the
// new name contains unique random elements which would be // 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.Constants;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.core.PluginManager; import org.dspace.core.PluginManager;
import org.dspace.eperson.EPerson;
import org.dspace.handle.HandleManager; 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. * This is primarily a utility method to allow tasks access to the context when necessary.
* <P> * <P>
* If the context is null or not set, then this just returns * If the context is null or not set, then this just returns
* a brand new Context object representing an Anonymous User. * 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 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(); 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; Context ctx = null;
try try
{ {
//get access to the curation thread's current context
ctx = curationContext(); ctx = curationContext();
// Site-wide Tasks really should have an EPerson performer associated with them, // Site-wide Tasks really should have an EPerson performer associated with them,
// otherwise they are run as an "anonymous" user with limited access rights. // 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," + 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' " + " as there is no EPerson 'performer' associated with this task. To associate an EPerson 'performer' " +
@@ -428,16 +437,9 @@ public class Curator
return false; return false;
} }
} }
//complete & close our created Context
ctx.complete();
} }
catch (SQLException sqlE) catch (SQLException sqlE)
{ {
//abort Context & all changes
if(ctx!=null)
ctx.abort();
throw new IOException(sqlE); throw new IOException(sqlE);
} }
@@ -534,7 +536,7 @@ public class Curator
} }
catch (SQLException sqlE) 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.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.TimeZone;
import javax.mail.MessagingException; import javax.mail.MessagingException;
@@ -343,15 +345,23 @@ public class Subscribe
ResourceBundle labels = ResourceBundle.getBundle("Messages", supportedLocale); ResourceBundle labels = ResourceBundle.getBundle("Messages", supportedLocale);
// Get the start and end dates for yesterday // 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());
// this time yesterday in ISO 8601, stripping the time // What we actually want to pass to Harvest is "Midnight of yesterday in my current timezone"
String isoDateYesterday = dcDateYesterday.toString().substring(0, 10); // 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();
String startDate = isoDateYesterday;
// FIXME: text of email should be more configurable from an // FIXME: text of email should be more configurable from an
// i18n viewpoint // i18n viewpoint
@@ -366,7 +376,7 @@ public class Subscribe
boolean includeAll = ConfigurationManager.getBooleanProperty("harvest.includerestricted.subscription", true); boolean includeAll = ConfigurationManager.getBooleanProperty("harvest.includerestricted.subscription", true);
// we harvest all the changed item from yesterday until now // 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 // and
// offset // offset
// zero, // zero,

View File

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

View File

@@ -4,7 +4,7 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery-provider</artifactId> <artifactId>dspace-discovery-provider</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Discovery :: Discovery Provider Library</name> <name>DSpace Discovery :: Discovery Provider Library</name>
<description> <description>
@@ -17,7 +17,7 @@
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId> <artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -104,10 +104,10 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-provider</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-provider scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-provider</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </project>

View File

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

View File

@@ -4,13 +4,13 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery-solr</artifactId> <artifactId>dspace-discovery-solr</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Discovery :: Discovery Solr Implementation</name> <name>DSpace Discovery :: Discovery Solr Implementation</name>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId> <artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -52,10 +52,10 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </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.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.FacetField; import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.QueryResponse; 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.SolrDocument;
import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputDocument;
@@ -1145,7 +1146,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
} }
@Override @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 != null){
if (dso instanceof Community) { if (dso instanceof Community) {
query.addFilterQueries("location:m" + dso.getID()); 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>(); Map<String, String> params = new HashMap<String, String>();
String solrRequestUrl = solr.getBaseURL() + "/select"; String solrRequestUrl = solr.getBaseURL() + "/select";
@@ -1229,7 +1230,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
try { try {
GetMethod get = new GetMethod(solrRequestUrl); GetMethod get = new GetMethod(solrRequestUrl);
new HttpClient().executeMethod(get); new HttpClient().executeMethod(get);
return get.getResponseBodyAsString(); return get.getResponseBodyAsStream();
} catch (Exception e) { } catch (Exception e) {
log.error("Error while getting json solr result for discovery search recommendation", e); log.error("Error while getting json solr result for discovery search recommendation", e);

View File

@@ -5,13 +5,13 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId> <artifactId>dspace-discovery-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Discovery :: Discovery XMLUI API</name> <name>DSpace Discovery :: Discovery XMLUI API</name>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId> <artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -122,11 +122,11 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-api</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-api scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-api</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </project>

View File

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

View File

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

View File

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

View File

@@ -5,13 +5,13 @@
<packaging>war</packaging> <packaging>war</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-webapp</artifactId> <artifactId>dspace-discovery-xmlui-webapp</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Discovery :: Discovery XMLUI Webapp</name> <name>DSpace Discovery :: Discovery XMLUI Webapp</name>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId> <artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -31,7 +31,7 @@
<dependency> <dependency>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery-xmlui-api</artifactId> <artifactId>dspace-discovery-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
</dependency> </dependency>
<!-- external --> <!-- external -->
@@ -142,11 +142,11 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-webapp</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-webapp scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-xmlui-webapp</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </project>

View File

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

View File

@@ -5,13 +5,13 @@
<packaging>pom</packaging> <packaging>pom</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-discovery</artifactId> <artifactId>dspace-discovery</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Discovery :: Modules</name> <name>DSpace Discovery :: Modules</name>
<parent> <parent>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -54,11 +54,11 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
<issueManagement> <issueManagement>

View File

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

View File

@@ -163,8 +163,16 @@ public class Authenticate
{ {
loggedIn(context, request, context.getCurrentUser()); loggedIn(context, request, context.getCurrentUser());
log.info(LogManager.getHeader(context, "login", "type=implicit")); log.info(LogManager.getHeader(context, "login", "type=implicit"));
if(context.getCurrentUser() != null){
//We have a new user
Authenticate.resumeInterruptedRequest(request, response);
return false;
}else{
//Couldn't log & authentication finished
return true; return true;
} }
}
else else
{ {
// Since we may be doing a redirect, make sure the redirect is not // Since we may be doing a redirect, make sure the redirect is not

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -289,10 +289,13 @@ public class DAVServlet extends HttpServlet
{ {
Context context = new Context(); Context context = new Context();
try {
if (getAuthFromCookie(context, request)) if (getAuthFromCookie(context, request))
{ {
putAuthCookie(context, request, response, false); putAuthCookie(context, request, response, false);
return context; Context returnContext = context;
context = null;
return returnContext;
} }
// get username/password from Basic auth header if avail: // get username/password from Basic auth header if avail:
@@ -320,6 +323,8 @@ public class DAVServlet extends HttpServlet
} }
} }
} }
// Authenticate the user.
if (AuthenticationManager.authenticate(context, username, password, if (AuthenticationManager.authenticate(context, username, password,
null, request) == AuthenticationMethod.SUCCESS) null, request) == AuthenticationMethod.SUCCESS)
{ {
@@ -362,7 +367,14 @@ public class DAVServlet extends HttpServlet
log.debug("Adding Special Group id=" + String.valueOf(element)); log.debug("Adding Special Group id=" + String.valueOf(element));
} }
putAuthCookie(context, request, response, true); putAuthCookie(context, request, response, true);
return context;
Context returnContext = context;
context = null;
return returnContext;
} finally {
if(context != null)
context.abort();
}
} }
/** /**

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,13 +5,13 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-api</artifactId> <artifactId>dspace-sword-client-api</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Sword Client :: Sword Client API</name> <name>DSpace Sword Client :: Sword Client API</name>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId> <artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -33,11 +33,11 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-api</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-api scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-api</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </project>

View File

@@ -5,13 +5,13 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-api</artifactId> <artifactId>dspace-sword-client-xmlui-api</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Sword Client :: Sword Client XMLUI API</name> <name>DSpace Sword Client :: Sword Client XMLUI API</name>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId> <artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -48,12 +48,12 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-api <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</connection> </connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-api scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-api</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </project>

View File

@@ -4,13 +4,13 @@
<packaging>war</packaging> <packaging>war</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client-xmlui-webapp</artifactId> <artifactId>dspace-sword-client-xmlui-webapp</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Sword Client :: Sword Client XMLUI Webapp</name> <name>DSpace Sword Client :: Sword Client XMLUI Webapp</name>
<parent> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId> <artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -82,12 +82,12 @@
--> -->
<scm> <scm>
<connection> <connection>
scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-webapp scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</connection> </connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-webapp scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client/dspace-sword-client-xmlui-webapp</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
</project> </project>

View File

@@ -4,13 +4,13 @@
<packaging>pom</packaging> <packaging>pom</packaging>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>dspace-sword-client</artifactId> <artifactId>dspace-sword-client</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<name>DSpace Sword Client</name> <name>DSpace Sword Client</name>
<parent> <parent>
<artifactId>dspace-parent</artifactId> <artifactId>dspace-parent</artifactId>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -26,11 +26,11 @@
and releases snapshots into the snapshot repository below. and releases snapshots into the snapshot repository below.
--> -->
<scm> <scm>
<connection>scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client</connection> <connection>scm:svn:http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection> <developerConnection>
scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2
</developerConnection> </developerConnection>
<url>http://scm.dspace.org/svn/repo/dspace/trunk/dspace-sword-client</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
<issueManagement> <issueManagement>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -95,12 +95,21 @@ public class SearchItemForm extends AbstractDSpaceTransformer {
{ {
String itemID = String.valueOf(item.getID()); String itemID = String.valueOf(item.getID());
Collection owningCollection = item.getOwningCollection(); Collection owningCollection = item.getOwningCollection();
String owning = owningCollection.getMetadata("name"); String owning = "unknown";
String author = "unkown"; if (owningCollection != null)
DCValue[] dcAuthors = item.getDC("contributor",Item.ANY,Item.ANY); owning = owningCollection.getMetadata("name");
if (dcAuthors != null && dcAuthors.length >= 1) 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"; String title = "untitled";

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 String characters = (String) session
.getAttribute(AuthenticationUtil.REQUEST_INTERRUPTED_CHARACTERS); .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"); Division reason = body.addDivision("login-reason");
if (header != null) if (header != null)

View File

@@ -25,6 +25,8 @@ import org.dspace.workflow.WorkflowManager;
import javax.servlet.ServletException; import javax.servlet.ServletException;
import java.io.IOException; import java.io.IOException;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List;
/** /**
* This is a utility class to aid in the workflow flow scripts. * This is a utility class to aid in the workflow flow scripts.
* Since data validation is cumbersome inside a flow script this * 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 public static void processClaimTask(Context context, String id) throws SQLException, UIException, ServletException, AuthorizeException, IOException
{ {
WorkflowItem workflowItem = findWorkflow(context, id); 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 // Claim the task
WorkflowManager.claim(context, workflowItem, context.getCurrentUser()); WorkflowManager.claim(context, workflowItem, context.getCurrentUser());
@@ -127,6 +135,38 @@ public class FlowUtils {
+ "new_state=" + workflowItem.getState())); + "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 * 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 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. * 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. * The object to be managed.
* @return The object identifiers * @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. // Check that the object is of a type we can manage.
if (object instanceof BrowseItem) return (object instanceof BrowseItem) || (object instanceof Item) || (object instanceof Collection)
{ || (object instanceof Community);
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;
} }
@@ -114,7 +91,7 @@ public class DSpaceObjectManager implements ObjectManager
* Return a pretty specific string giving a hint to the theme as to what * Return a pretty specific string giving a hint to the theme as to what
* type of DSpace object is being refrenced. * 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) if (object instanceof Item || object instanceof BrowseItem)
{ {
@@ -146,7 +123,7 @@ public class DSpaceObjectManager implements ObjectManager
*/ */
public String getRepositoryURL(Object object) throws WingException public String getRepositoryURL(Object object) throws WingException
{ {
String handlePrefix = ConfigurationManager.getProperty("handel.prefix"); String handlePrefix = HandleManager.getPrefix();
return "/metadata/internal/repository/"+handlePrefix +"/mets.xml"; return "/metadata/internal/repository/"+handlePrefix +"/mets.xml";
} }

View File

@@ -2613,7 +2613,8 @@ function doSetupCollectionHarvesting(collectionID)
assertAdminCollection(collectionID); assertAdminCollection(collectionID);
if (cocoon.request.get("submit_return") || cocoon.request.get("submit_metadata") || 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_roles") || cocoon.request.get("submit_harvesting") ||
cocoon.request.get("submit_curate"))
{ {
// return to the editCollection function which will determine where to go next. // return to the editCollection function which will determine where to go next.
return null; 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="CommunityRecentSubmissions" src="org.dspace.app.xmlui.aspect.artifactbrowser.CommunityRecentSubmissions"/>
<map:transformer name="CollectionRecentSubmissions" src="org.dspace.app.xmlui.aspect.artifactbrowser.CollectionRecentSubmissions"/> <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="ConfigurableBrowse" src="org.dspace.app.xmlui.aspect.artifactbrowser.ConfigurableBrowse"/>
<map:transformer name="StaticPage" src="org.dspace.app.xmlui.aspect.browseArtifacts.StaticPage"/>
</map:transformers> </map:transformers>
<map:matchers default="wildcard"> <map:matchers default="wildcard">
@@ -57,6 +58,11 @@ collections / items / and bitstreams.
<map:serialize type="xml"/> <map:serialize type="xml"/>
</map:match> </map:match>
<map:match pattern="page/*">
<map:transform type="StaticPage"/>
<map:serialize type="xml"/>
</map:match>
<!-- Browse (by anything) --> <!-- Browse (by anything) -->
<map:match pattern="browse"> <map:match pattern="browse">
<map:transform type="ConfigurableBrowse"/> <map:transform type="ConfigurableBrowse"/>
@@ -91,7 +97,6 @@ collections / items / and bitstreams.
</map:match> </map:match>
<!-- Not a URL we care about, so just pass it on. --> <!-- Not a URL we care about, so just pass it on. -->
<map:serialize type="xml"/> <map:serialize type="xml"/>

View File

@@ -130,6 +130,8 @@ function doWorkflow()
do 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"}); sendPageAndWait("handle/"+handle+"/workflow/performTaskStep",{"id":workflowID,"step":"0"});
if (cocoon.request.get("submit_leave")) if (cocoon.request.get("submit_leave"))

View File

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

View File

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

View File

@@ -34,6 +34,12 @@
<xsl:output indent="yes"/> <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, 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). 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']" /> <xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" />
<title> <title>
<xsl:choose> <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:when test="not($page_title)">
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
</xsl:when> </xsl:when>
@@ -389,6 +398,9 @@
<div id="ds-trail-wrapper"> <div id="ds-trail-wrapper">
<ul id="ds-trail"> <ul id="ds-trail">
<xsl:choose> <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"> <xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0">
<li class="ds-trail-link first-link">-</li> <li class="ds-trail-link first-link">-</li>
</xsl:when> </xsl:when>
@@ -561,7 +573,25 @@
</p> </p>
</div> </div>
</xsl:if> </xsl:if>
<!-- 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:apply-templates />
</xsl:otherwise>
</xsl:choose>
</div> </div>
</xsl:template> </xsl:template>

View File

@@ -30,6 +30,8 @@
xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xalan="http://xml.apache.org/xalan" xmlns:xalan="http://xml.apache.org/xalan"
xmlns:encoder="xalan://java.net.URLEncoder" 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"> exclude-result-prefixes="xalan encoder i18n dri mets dim xlink xsl">
@@ -59,6 +61,9 @@
<!-- Iterate over the links in the ORE resource maps and make them into bitstream references in the file section --> <!-- 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']"> <xsl:template match="atom:link[@rel='http://www.openarchives.org/ore/terms/aggregates']">
<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> <tr>
<xsl:attribute name="class"> <xsl:attribute name="class">
<xsl:text>ds-table-row </xsl:text> <xsl:text>ds-table-row </xsl:text>
@@ -136,6 +141,7 @@
</a> </a>
</td> </td>
</tr> </tr>
</xsl:if>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View File

@@ -33,6 +33,12 @@
<xsl:output indent="yes"/> <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, 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). 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']" /> <xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" />
<title> <title>
<xsl:choose> <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:when test="not($page_title)">
<xsl:text> </xsl:text> <xsl:text> </xsl:text>
</xsl:when> </xsl:when>
@@ -284,6 +293,9 @@
<ul id="ds-trail"> <ul id="ds-trail">
<xsl:choose> <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"> <xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0">
<li class="ds-trail-link first-link"> - </li> <li class="ds-trail-link first-link"> - </li>
</xsl:when> </xsl:when>
@@ -500,7 +512,25 @@
</p> </p>
</div> </div>
</xsl:if> </xsl:if>
<!-- 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:apply-templates />
</xsl:otherwise>
</xsl:choose>
</div> </div>
</xsl:template> </xsl:template>

View File

@@ -47,6 +47,12 @@
--> -->
<xsl:variable name="theme-path" select="concat($context-path,'/themes/',/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path'])"/> <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: This style sheet will be written in several stages:
1. Establish all the templates that catch all the elements 1. Establish all the templates that catch all the elements
@@ -266,6 +272,9 @@
<xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" /> <xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" />
<title> <title>
<xsl:choose> <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) or (string-length($page_title) &lt; 1)"> <xsl:when test="not($page_title) or (string-length($page_title) &lt; 1)">
<i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text>
</xsl:when> </xsl:when>
@@ -318,6 +327,9 @@
<ul id="ds-trail"> <ul id="ds-trail">
<xsl:choose> <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"> <xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0">
<li class="ds-trail-link first-link"> - </li> <li class="ds-trail-link first-link"> - </li>
</xsl:when> </xsl:when>
@@ -535,7 +547,27 @@
</p> </p>
</div> </div>
</xsl:if> </xsl:if>
<!-- 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:apply-templates />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='sfx'][@qualifier='server']"> <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='sfx'][@qualifier='server']">
<a> <a>
<xsl:attribute name="href"> <xsl:attribute name="href">

View File

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

View File

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

View File

@@ -4,79 +4,176 @@
# Configuration properties used by the Shibboleth # # Configuration properties used by the Shibboleth #
# Authentication plugin, when it is enabled. # # 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 # See for more information on installing and configuring a Shibboleth
# 'org.dspace.authenticate.ShibAuthentication' class is added to the # Service Provider:
# list of enabled AuthenticationMethods in 'authenticate.cfg'. # https://wiki.shibboleth.net/confluence/display/SHIB2/Installation
# See 'authenticate.cfg' for more info.
##
## 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 # 1) NetID from Shibboleth Header (best)
# for installation detail.
# #
# DSpace requires email as user's credential. There are 2 ways of providing # The NetID-based method is superior because users may change their email
# email to DSpace: # address with the identity provider. When this happens DSpace will not be
# 1) by explicitly specifying to the user which attribute (header) # able to associate their new address with their old account.
# carries the email address. #
# 2) by turning on the user-email-using-tomcat=true which means # 2) Email address from Shibboleth Header (okay)
# the software will try to acquire the user's email from Tomcat #
# The first option takes PRECEDENCE when specified. Both options can # In the case where a NetID header is not available or not found DSpace
# be enabled to allow fallback. # 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. # Authentication headers for Mail, NetID, and Tomcat's Remote User.
# The value is CASE-Sensitive. # Supply all parameters possible.
email-header = MAIL netid-header = SHIB-NETID
email-header = SHIB-MAIL
email-use-tomcat-remote-user = false
# optional. Specify the header that carries user's first name # Should we allow new users to be registered automatically?
# 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)
autoregister = true autoregister = true
# these two header here specify which attribute that is responsible # Sword compatability will allow this authentication method to work when using
# for providing user's roles to DSpace and unscope the attributes if needed. # sword. Sort relies on username and password based authentication and is
# When not specified, it is defaulted to 'Shib-EP-UnscopedAffiliation', and # entirely incapable of supporting shibboleth. This option allows you to
# ignore-scope is defaulted to 'false'. # authenticate username and passwords for sword sessions with out adding
# The value is specified in AAP.xml (Shib 1.3.x) or # another authentication method onto the stack. You will need to ensure that
# attribute-filter.xml (Shib 2.x). The value is CASE-Sensitive. # a user has a password. One way to do that is to create the user via the
# The values provided in this header are separated by semi-colon or comma. # create-administrator command line command and then edit their permissions.
# If your sp only provides scoped role header, you need to set sword.compatability = false
# 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
# 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 ## EPerson Metadata:
# the default roles be given to such users? ##
# The values are separated by semi-colon or comma # One of the primary benefits of using Shibboleth based authentication is
# default-roles = Staff, Walk-ins # 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. # Metadata Headers
# the left side of the entry is IdP's role (prefixed with # Shibboleth-based headers for the first and last name attirbutes
# "role.") which will be mapped to firstname-header = SHIB-GIVENNAME
# the right entry from DSpace. DSpace's group as indicated on the lastname-header = SHIB-SURNAME
# right entry has to EXIST in DSpace, otherwise user will be identified
# as 'anonymous'. Multiple values on the right entry should be separated # Additional user attributes mapping, multiple attributes may be stored
# by comma. The values are CASE-Sensitive. Heuristic one-to-one mapping # for each user. The left side is the Shibboleth-based metadata Header
# will be done when the IdP groups entry are not listed below (i.e. # and the right side is the eperson metadata field to map the attribute to.
# if "X" group in IdP is not specified here, then it will be mapped #eperson.metadata = \
# to "X" group in DSpace if it exists, otherwise it will be mapped # SHIB-telephone => phone, \
# to simply 'anonymous') # 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 # Depending upon the shibboleth attributed use in the role-header it may be
# special characters need to be escaped by \ # scoped. Scoped is shibboleth terminology for identifying where an attribute
role.Senior\ Researcher = Researcher, Staff # originated from. For example a students affiliation may be encoded as
role.Librarian = Administrator # "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> <parent>
<groupId>org.dspace</groupId> <groupId>org.dspace</groupId>
<artifactId>modules</artifactId> <artifactId>modules</artifactId>
<version>3.0-SNAPSHOT</version> <version>1.8.2</version>
<relativePath>..</relativePath> <relativePath>..</relativePath>
</parent> </parent>
@@ -75,9 +75,9 @@
</profiles> </profiles>
<scm> <scm>
<connection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/jspui</connection> <connection>scm:svn:https://scm.dspace.org/svn/repo/tags/dspace-1.8.2</connection>
<developerConnection>scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace/modules/jspui</developerConnection> <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/modules/jspui</url> <url>http://scm.dspace.org/svn/repo/tags/dspace-1.8.2</url>
</scm> </scm>
<build> <build>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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