Commit Graph

6761 Commits

Author SHA1 Message Date
Mark Wood
d28f24841d Tidy up spelling distractions, unused private fields, type safety noted in passing
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5398 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-10-06 14:52:52 +00:00
Mark Wood
ba50e4fa87 Make Packager restore item mappings to non-owning Collections
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5397 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-10-06 14:46:30 +00:00
Kim Shepherd
d56f07b3be [DS-688] AuthorizeManager.isAdmin(Context, DSpaceObject) throws exception when EPerson is null
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5386 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-10-05 10:25:16 +00:00
Stuart Lewis
f4b18b477b [DS-686] Incorrect use of UTF8 in DSpaceCSV
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5377 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-10-01 19:50:11 +00:00
Tim Donohue
db9cfcc17a AIP Work: Minor cleanup of dissemination of Groups/People to AIPs. Avoid writing empty XML tags in dissemination output. Also, return 'null' from RoleCrosswalk if no Groups/Epeople found so that an essentially empty XML structure is not written to AIP (this situation should only occur for Community/Collection AIPs, if they have no auto-created groups similar to COLLECTION_<ID>_ADMIN). Backup & Restore of Groups/People/Policies now seems to be fully functional and working great!
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5357 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-24 15:25:38 +00:00
Tim Donohue
78631616b2 AIP Work: Minor bug fix in RoleDisseminator. Forgot to escape "_" character in SQL queries -- in SQL, underscore is a pattern that matches any single character. In this case, we wanted a literal underscore.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5356 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-23 22:02:02 +00:00
Tim Donohue
9939c7232b AIP Work: Bug fixes to Group Restore process. Split the 'PackageUtils.crosswalkDefaultGroupName()' into two separate methods -- 'translateGroupNameForExport()' and 'translateGroupNameForImport()'. This fixes a bug where occasionally a group would be created twice. Refactoring around those changes. Also resolved a bug where current Admin user (who is running restore) would be removed from Administrator group during restore (if that user didn't previously exist as an Admin in the system).
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5355 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-23 21:50:57 +00:00
Tim Donohue
52dc464bcb AIP Work: Set a default timestamp for manifests & files when they are added to a ZIP archive. As only Items have a 'last-modified' date associated, all other object's manifests are just given this default timestamp when added to the AIP's ZIP file. This ensures that when we generate a ZIP-based AIP a second time, its md5 checksum will be identical (as the Zip Entry timestamps will now be unchanged). Previously, the md5 checksum of the AIP (ZIP file) always changed even if the DSpace object itself and its METS-based manifest was unchanged. Also made a small modification to the <mets> @ID attribute to ensure it doesn't change when you regenerate an AIP for an unchanged object. End result of this commit is that AIPs no longer have different md5 checksums each time they are built -- the md5 checksum should now only change when the DSpace Object's contents have been modified.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5354 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-23 17:10:31 +00:00
Tim Donohue
7c2c187e2d AIP Work -- Minor bug fixes. Fix possible NullPointerException in RoleDisseminator class. Log warnings in PackageUtils.crosswalkDefaultGroupName() rather than always throwing exceptions (necessary as in past DSpace didn't always do a good job of cleaning up groups associated with Communities or Collections when the Community/Collection was deleted). Improved upon a few exception messages in METSDisseminationCrosswalk and RoleCrosswalk.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5353 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-23 16:45:26 +00:00
Tim Donohue
147f2c4703 AIP Work -- Minor tweaks to AIP METS generation, so that METS manifest is generated the same each time & so that it includes DSpace software version information. In other words, if the DSpace Object is unchanged & DSpace software version is unchanged, then the METS manifest should be unchanged (i.e. identical checksums). Previously, the METS manifest would change each time it was generated as it included a timestamp of when it was generated, etc. (NOTE: Once METS AIP is compressed into a ZIP, the checksum of the ZIP will still change each time, as the ZIP format contains a timestamp based on when the compressed file(s) were generated. Not sure if there's any way around that.)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5352 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-23 14:56:07 +00:00
Tim Donohue
a34b600548 AIP Work : Enhancements to restoring of Groups/EPeople/Policies -- seems much more stable! Updated RoleDisseminator to add authorization Groups (e.g. COLLECTION_<ID>_ADMIN) as part of the AIP for the Community/Collection that the Group is associated with. These authorization Groups are also given a "type" (e.g. ADMIN, SUBMIT, etc) based on the authorization role they play for that Community/Collection. Updated RoleIngester to be able to restore those authorization Groups when restoring a Community/Collection AIP. Updated RoleCrosswalk to appropriately wrap calls to both RoleDisseminator & RoleIngester packagers. AbstractMETSIngester no longer has hardcoded Group/People restoration code (as this is now taken care of by RoleCrosswalk & RoleIngester). Finally, small bug fix to METSRightsCrosswalk so that it now first clears out any existing Policies before adding new ones to an object.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5351 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-22 17:52:57 +00:00
Mark Wood
3c6514aa7a HTML cleanup, spelling, and the like
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5349 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-20 14:37:57 +00:00
Robin Taylor
51ca43e15b [DS-594] Change all the SimpleDateFormat's in DCDate to be instance rather than static variables to avoid synchronisation issues, SimpleDateFormat is not thread-safe.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5344 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-13 14:09:29 +00:00
Tim Donohue
10ef4c179b AIP Work : Created RoleCrosswalk to wrap RoleIngester/Disseminator classes (which import/export groups/people) & enabled in dspace.cfg. Created AbstractPackagerWrappingCrosswalk to allow Packagers to pass PackagerParameters to Crosswalks (which in turn can pass to other Packagers -- bit confusing, I know, but necessary for RoleCrosswalk). Refactored so that Group/People XML export is actually embedded in Site AIP METS file (and not separate stream), thus making RoleCrosswalk easier to enable/disable for AIPs. Finally, we're now crosswalking any default Group names (e.g. COLLECTION_<ID>_ADMIN) to something understandable outside DSpace (e.g. COLLECTION_<handle>_ADMIN) -- they get crosswalked back during restore processes.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5343 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-10 20:09:07 +00:00
Mark Wood
1d318ac861 Add package comments, tweak doc comments in classes for better formatting.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5342 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-09 15:03:57 +00:00
Robin Taylor
bba898a4e7 [DS-660] Tidy up DCDate and DCDateTest - initial commit, more to be done.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5340 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-07 13:33:02 +00:00
Keith Gilbertson
c241627da9 [DS-629] ItemImporter stops with "Too many open files" error
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5339 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-07 02:38:38 +00:00
Scott Phillips
b28bd22fd9 The dublin-core-metadata.xml schema file that is processed on fresh-installs has included tags to define metadata schemas along with metadata fields for a long time. However those tags to define metadata schemas has never been processed. This change will make it so those schema's are processed and created when found. This makes scripting dspace installs much easier when additional metadata schemas beyond just dublin core are needed.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5336 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-06 16:49:47 +00:00
Scott Phillips
cb7e24c311 Handle the case where an import might be wrapped with a wrapper tag, some OAI-PMH providers will use this technique. To improve compatability the code will check for a wrapping xml tag, and if found will look one level deeper.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5335 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-06 16:46:15 +00:00
Scott Phillips
408474fd63 Sort import directories prior to processing. This enforces a predictable ordering for item imports which is usefull when developing test-cases against dspace.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5334 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-06 16:43:01 +00:00
Tim Donohue
4918db51ec AIP Export Work : Add a new METSRightsCrosswalk which can translate DSpace ResourcePolicies to/from METSRights Schema (http://cosimo.stanford.edu/sdr/metsrights.xsd) -- this allows ResourcePolicies to be backed up and restored via AIPs. For AIPs, enabled METSRights by default in dspace.cfg. Also enhanced AbstractMETSDisseminator to allow you to export METS' amdSec for DSpace BUNDLES (necessary, as Bundles can have ResourcePolicies). Other various comment enhancements to a few other Crosswalks/Disseminators. @TODO -- Although export of METRights works well, the re-ingest is not perfect as it doesn't integrate yet with Mark Wood's RoleIngester.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5331 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-02 20:27:50 +00:00
Mark Wood
fe358677d2 Tidy imports, type safety.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5328 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-02 16:54:12 +00:00
Tim Donohue
41fb9ed728 Extremely minor change -- adding space between words to an existing error message
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5304 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-09-01 16:14:09 +00:00
Mark Wood
2ecedfa01a Always include password hashes in the package.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5303 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-31 18:21:43 +00:00
Mark Wood
e2d4cd31e4 Don't delete replaced EPerson or Group; blank existing object and reset
fields.


git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5302 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-30 13:51:18 +00:00
Mark Wood
f23f5eb320 Fix a backward test; invalid XPath expressions; missing namespace.
Site code was not being run at all due to wrong sense of test.
Wrong brackets used in XPath.
XPath doesn't know about default namespace; declare a tag for METS and 
use it.


git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5300 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-27 19:29:18 +00:00
Tim Donohue
0b6b54ed1a Minor refactoring of several packagers: Added a getObjectTypeString() method to AbstractMETSDisseminator, which takes the place of several hardcoded Object Type strings (and allows extending METS Packagers to override what values to put in METS @TYPE attributes). Cleaned up all three of these classes by adding @Override annotations where appropriate and cleaned up comments.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5299 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-27 17:34:23 +00:00
Claudia Juergen
633faec714 [DS-596] Cannot Delete Community which has two or more levels of SubCommunities
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5298 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-27 13:13:19 +00:00
Claudia Juergen
c27c651a7e [DS-569] Trailing white spaces lead to wrong order of texts in browse
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5295 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-27 10:52:12 +00:00
Tim Donohue
3e0a6d8630 Adding a 'hasNamedPlugin()' utility method to the PluginManager. The purpose of this method is to determine if a plugin of a given name/interface has been configured in your dspace.cfg. Without this method, any code which merely calls 'getNamedPlugin()' to determine if the plugin exists would cause a WARN message to be logged from PluginManager. This became problematic with the newly refactored AbstractMETSDisseminator (which includes a check for a named plugin) -- previous to this fix, the dspace.log file was filled with unnecessary WARN messages during AIP export.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5293 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-26 17:53:19 +00:00
Mark Wood
627ae64e5d First cut at restoring users and groups from an AIP.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5292 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-26 17:31:30 +00:00
Mark Wood
4571cdfc88 Replace a literal String with a manifest constant used elsewhere in the
package.


git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5291 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-25 18:53:25 +00:00
Tim Donohue
38e4f8b0ca AIP Backup/Restore : Adding ability to auto-restore missing Metadata Fields. By default, AIP ingester will now create metadata fields if they are not found in the current DSpace Metadata Field Registry (However, it will not create missing Metadata Schemas). This option is important for scenarios where you want to restore all AIPs to an *empty* DSpace install, and you had a few custom 'DC' fields previously. You may also disable this new option by passing "-o createMetadataFields=false" to the packager command. This change necessitated a very minor refactor to the 'AbstractMETSIngester.finishObject()' method -- it now needs access to the PackageParameters, in order to see whether 'createMetadataFields' flag is true/false. This new option also documented on wiki: https://wiki.duraspace.org/display/DSPACE/AipBackupRestore
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5290 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-20 20:00:29 +00:00
Tim Donohue
8aa57138b3 Minor cleanup/correction to a log message in AIPTechMDCrosswalk.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5289 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-20 15:56:34 +00:00
Mark Wood
b3865321b4 Clean up doc comments to make them readable after processing. Make a
few constants 'final'.


git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5288 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-20 15:37:18 +00:00
Mark Wood
7afe1a8294 Include user (EPerson) and group records in SITE packages, and add a
disseminator to emit only those records, in a simple XML format.


git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5285 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-19 14:24:15 +00:00
Tim Donohue
a6f466a153 Very minor change to how the ScriptLauncher formats its usage notes, based on this email to dspace-tech: http://www.mail-archive.com/dspace-tech@lists.sourceforge.net/msg11700.html It seems logical that the old format could be slightly confusing, and this is a rather easy fix. So, I've changed it to format like this:
* checker : Run the checksum checker
  * checker-emailer : Send emails related to the checksum checker



git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5282 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-18 19:11:55 +00:00
Tim Donohue
46109a2ab3 AIP Backup/Restore Bug Fix: Restore of an entire Site to an empty DSpace install was erroring out. The "Site" AIP needs a special case, as in reality it contains no content to restore (at least not yet -- some will be coming). Rather, it should just be used to determine the Top-Level Communities to restore, so that the recursion can begin properly.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5274 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-17 20:57:12 +00:00
Tim Donohue
04c1ef5547 Updating all 'pom.xml' files, along with necessary dependencies, to 1.7.0-SNAPSHOT version. WARNING: YOU WILL NEED TO REBUILD (mvn clean package) after pulling down latest Trunk.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5270 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-17 15:22:08 +00:00
Tim Donohue
075a913755 Migrating current AIP Backup/Restore code (DS-466) from 'aip-external-1_6-prototype' Branch into Trunk! See https://wiki.duraspace.org/display/DSPACE/AipBackupRestorePrototype for much more details on this work, and how to export/import AIPs. WARNING -- This changes the PackageIngester and PackageDisseminator interfaces. Any of your local, custom Packagers will require refactoring to support the updated interfaces (obviously all DSpace out-of-the-box Packagers have already been refactored).
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5265 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-13 20:10:32 +00:00
Pere Villega
5b83e188c0 [DS-643] New testing framework (GSoC 2010)
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5252 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-10 09:10:00 +00:00
Mark Wood
fe57901b96 [DS-633] NPE when deleting object returned by EPerson.findAll()
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5241 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-08-05 19:56:37 +00:00
Mark Wood
bb8ad26cc7 Improve type safety, remove annoying warnings, by parameterizing some generic types. Small comment cleanups.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5199 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-07-23 19:38:34 +00:00
Robin Taylor
9b856653df [DS-610] Check granularity before returning DCDate as a java.util.Date.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5159 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-06-29 19:57:34 +00:00
Mark Wood
57ef2cf01c Fight scroll blindness: fix many broken doc comments.
Also many small typos in comments.  Some small reformatting for 
readability.


git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5124 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-06-16 18:52:33 +00:00
Robin Taylor
15d2a1d05e [DS-215] Allow mixed case metadata names.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5085 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-06-10 21:12:36 +00:00
Mark Wood
4108e67d6c Invent the INSTALL Event type, fired when an Item moves from Workspace/Workflow to Collection.
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5049 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-06-01 15:12:37 +00:00
Kim Shepherd
43315884ea [DS-544] Removal of mapped items can lead to NPE
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@4941 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-05-14 01:54:20 +00:00
Kim Shepherd
ae725ce66f [DS-557] LC Authority Names - Lookup Feature - names w/o dates
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@4936 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-05-13 23:40:04 +00:00
Andrea Bollini
a590be7e90 [DS-574] DSpaceMETSIngester creates empty original bundle
git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@4933 9c30dcfa-912a-0410-8fc2-9e0234be79fd
2010-05-13 23:01:11 +00:00