MetacatPopulator is now working. It allows you to do a query from one metacat instance, then insert any returned docs into another metacat instance
cleanup of 'fixed' ResourceHandler
tracked down streaming bug. now need to figure out a better way to fix it.
added getValue() to the guid so that it prints the guid and not an object id
added a DataOneLogger for event notifications on the CN. The logger is called DataOneLogger and can be managed in the log4j.properties file
finished getLogRecords. Fixed some date bugs in metacat.
adding getlogrecords to the rest interface.
changed getLogRecords to use new classes for log events
new service layer jar
fixed bug in metacat that allowed attribute data to be appended to element data in returnfields
fixed bugs associated with crud access control changes.
starting point for semtools skin. augmenting default skin with Annotation documents.not yet semantically enhanced search capabilities, but you can see a listing of both EML and Annotations on the server.
added EventLog statements to all public methods in CrudService in preparation for addin the getLogRecords() method
added better debugging error messages for CN dev errors
added generateMissingSystemMetadata to the ResourceHandler so it is now available via a REST call.
made the test functional so that it checks that missing system metadata will be created.
mostly done with generating systemmetadata from legacy knb docs. need to write a better test and enable this through the ResourceHandler then it will be done.
working on getting systemmetadata creation working for legacy knb objects
working on a function to create dataone system metadata docs for legacy metacat objects that do not have SM.
moved authentication checking out of ResourceHandler and into CrudService
added a test for access control changes
refactored the sessionService to use a correct singleton initialization scheme. Added true authentication to ResourceHandler.
new class to handle system metadata tasks in metacat
Commit the change for Madhusudan Gujral from java.net.URL url = new java.net.URL;to java.net.URL url = new java.net.URL;
added systemMetadata table to the upgrade scripts
listObjects is now working for rest calls as well as crud calls
added some params to the loop that segments the listObjects resultset
allow any nonquote characters in the schemaLocation attribute, otherwise the whole line is matched and this prevents schemaLocation from appearing anywhere but at the end of the line.
Fixed bug the download link didn't work.
finished the crud part of listObjects. need to implement it in the rest interface now.
implementing getObjects in CrudService.
listObjects is almost working. need to get the result set parsed when returned to CrudService.
Add a mapping between kar xml namespace and karxml.xsl.
Add a style sheet to transform kar xml document.
setting up the framework for the listObjects api call
added the renamed Java classes for ObjectList
Change the search query according to the karxml change.
changed the detailCode for DataOne exceptions to a string
added getSystemMetadata to ResourceHandler and changed the url format to be meta/guid. added a new servlet reponse handler in the web.xml file to handle the new urls and send them to the RestServlet.
Change the return type from kar to the namespace.
implemented update in ResourceHandler and fixed a bug in CrudService where data files were not handled correctly on update
update works. it was the test that was faulty. all working now
amost have update working. still need to get unit test squared away.
removed old method that didn't do anything
added exception testing to the crud test
added a new target to install the dataone schemas from a loca dir if you don't want svn calls being made during installation
getSystemMetadata is now working. added unit test as well.
adding stax jar. if this is somewhere else, i'll remove it, but i'm unable to find it anywhere in dataone
getting getSystemMetadata to work
adding test for getSystemMetadata. a bit of refactoring.
refactored XMLSchemaService to not have static methods. made the CrudServiceTest more robust.
fixed schema location bug. the dataone schemas are now correclty found
removed CrudService dependency on servlet params. CrudService is now a singleton. I'm getting an error from metacat saying it can't find teh systemmetadata schema, even though it is, in fact, registered with metacat. need to identify why this is happening.
Fixed some minor documentation errors regarding the Harvester.
added a test for CrudService and added tests for IdentifierManager for each method
refactoring to remove duplicate code
adding a system to track system metadata documents for dataone
Added initial implementation of getSystemMetadata and its associated REST service. Current implementation is returning a hardcoded system metadata document -- need to look up the real document for each guid and return that.
Completed main parts of CrudService.create(). Now the method writes both data and metadata objects along with their system metadata, and handles the mapping between global identifiers and local identifiers. Access control and logging still need to be dealt with to properly authenticate and then log activities.
Updating build to properly clear temporary export directory before doing svn export.
Modify CrudService to write SystemMetadata to disk with an autogenerated localId and an autogenerated GUID. Validation depends on the DataONE schemas being setup in xml_catalog properly, so still need to check upgrade scripts to be sure these new schemas are added. Still need to handle the metadata document insert, but should be same as system metadata insert.
Add support for getting the DataONE schemas from SVN and copying them into metacat's schema catalog. Still need to update the oracle scripts as well.
Added comment about MIME form processing.
Refactored schema service to call doRefresh() in constructor to eliminate code duplication.
Added note on TODO for access bug.
replication of guids now works. tested this for both forced replication and update/insert/delete triggered replication
fixed bug where guid end tag wasn't getting printed
added a method in IdentifierManager to get a guid from a docid and rev. added fields in the documentinfo replication document to pass the guid. now need to handle the guid and insert it into the table if its found
Add 'metacat/lib/oaipmh' directory to the list of required jar files in the 'Set up Metacat Dependencies' section.
Refactored metacat to use dataone-service-api-0.3.0 jar file, with the new JIBX generated types and serialization. Included JIBX runtime jar in metacat to handle serialization and deserialization of SystemMetadata objects. Removed the old API jar file.
Modifications to support the DataONE service API version 0.1.0. For DataONE, the get() andcreate() services are partially complete. Several more functions and checks need to be added tocreate() before it is viable. This DataONE support is not complete, and the current support breaks the MetacatRestClientTest for the time being (this client will eventually be removed).
Add a debug statement to show existing doc id
Move all user images into the dev image directory. Remove all but the MetacatAdministratorsGuide from the user dir.
Merge 1.9.2 changes back into the trunk
Updated to use new name of dataone service API module.
Adding commons-io jar for the IOUtils utilities for stream manipulation.
Modified ResourceHandler to return error codes in XML format for the get() method.
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...
Excluding the Maven ant tasks jar from the metacat war distribution becauseit is not needed (its only used to build dataone-service at build time, andis unused at runtime), and it conflicts with jar files checked in for Springas part of the geoserver install. Also updated dataone interface...
Modified the build.xml to include a new task for building the dataoneservice api package, which generates a jar file that is put into lib. Thistask depends on maven being installed in maven.home, and depends on theDataONE service_api being checed out in a sibling directory to the build....
Updated the build to properly locate the servlet jar depending on whichversion of tomcat is being used, tomcat5 or tomcat6.
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...
Adding a new property to be used as an identifier prefix by default.
Updated MetacatRestClientTest so that the tests are actually calling fail() when errors occur, and fixed all sixteen tests so that they run successfullyand can be run from any client (i.e., they don't depend on particulardocuments being present in Metacat). The 'restfiles' directory can probably ...
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.