Modifications to metacat rest service to use the new DataONE CrudService forget() operation. Minor issue with permissions errors propagating up thestack, but otherwise this is the first implementation of a full DataONEmethod.
Modified readFromMetacat() to pass most exceptions up the call stack, which allows creation of new entry points for calling reads. Still need tocontinue factoring out the HTTPServletResponse that is passed in in order tomake entrypoints that are not servlet based possible. Problem now is in...
when looking up group membership, skip referrals that have errorshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=4900
skip referrals that have errors (connection timeout, host down, etc)http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4900
Refactored putObject method to separate the create() and update() portions in order to match the method signatures needed for DataONE.
Modified ResourceHandler.deleteObject() to take a globally unique id (guid)as input rather than a metacat-conformant docid. The guid is translatedinto a metacat docid which is then used in the handleDelete() call. So nowMetacat supports use of arbitrary identifiers for delete operations, but...
Added support to ResourceHandler to allow the putObject method to usearbitrary guid strings as input. These strings are examined, and if theymatch the Metacat docid format (scope.id.rev), they are used directly. Ifthe id is a string in another format, a new localId is generated based on...
Fixed bug in getNextRevision() where "error" documents were not beingdetected properly before searching for the next identifier.
Added initial support for arbitrary string identifiers in metacat (referred to as a guid). The new identifier table is used to map arbitrary string identifiers to Metacat's current docid format (referred to as the localId). Added a new IdentifierManager class to manage this table, adding new mappings as objects are added to the system. Modified the MetacatTest service to utilize this mapping table to look up a localId from a guid. IdentiferManagerTest is working with these guids now, as is the MetacatTest service get() method, but other parts of the system are unaware of them (e.g., create, update, delete operations are unaware, and no mapping is created when new documents are created). As a consequence, the MetacatRestClientTest is not working (although it also had lots of hardcoded dependencies that need to be fixed as well).
Added copyright, license, and class documentation.
View revisions
Also available in: Atom