include MetacatHandlerPlugin interface so that other projects [semtools] can extend the actions handled by Metcat without editing the codebase directly. The SemtoolsPlugin is the prototype for this and can be registered using the Metacat admin interface. Note that the plugin implementation class and supporting jars must be included in the webapp in order for the request to be handled correctly (the semtools build is injecting these as part of it's build process).
added explicit 200 codes to ResourceHandler
added better logging and http code setting
fixed bug where the query cache was not getting reset by a REST insert/query combo.
[merged from 1.9.3 branch] security fix: never unregister the "public" user session
re-added some code inadvertently removed
merged with version from 1.9.3 branch to fix bug with character encodings
added a todo
new todos from code review with roger
added TODOs and cleaned up the code a bit
do not read from the inputstream before passing it off to the SAXParser
fixed mime multipart problems so that roger can try to use the d1client
fixed error where insert/update errors were not getting caught as exceptions
fixed bug with logger where localid didn't get appended when inserting a data file
reformatting logs for robert
added another logging statement
added replicate log statements with the guid and localId
fixed update bug I introduced yesterday while fixing replication
hopefully fixed bug with systemmetadata replication
debug statements in dbsaxhandler
still working on getting guid problems fixed with replication
fixed identifier manager problem with getting guid for systememtadaa doc
fixing problems with replication and systemmetadata
set the content type to text/xml for the rest interface
fixed yet another null sessionData bug
Fixed spelling error.
Set content type on listObjects to be XML so that it is recognized by clients.Reformatted method to use original file conventions.
Reformatted code to fix indenting.
fixed more access control problems. also fixed extraneous white space that was getting put into the listobject output stream
fixed problems with access control on sysmeta
fix for set access bug
fixes for the access control setting for sysmeta
added functionality to set access permissions to system metadata the same as the document that it describes
fixed major bug in replication where the document info was being truncated due to a poorly implemented sax parser
hopefully fixed get bug where session was null
fixing another null auth token bug
changing d1 log format
added code to make sure the localId and guid get added to get and create d1 logs
fixed more NPE problems with sessionData. hopefully got them all this time
fix for null session bug
hudson tests are now running. needed date conversions. still more work to do with systemmetadata date format.
updated for date format that supports time zones correctly.
changed date comparison to compare to gmt only
fixed NPE with sessionData
added some new error handling to work around this issue https://trac.dataone.org/ticket/706
fixed bug in access control where the sessionid was not correctly passed along so changes of privileges were not being made
fixed bug where null session data was not treated properly.
Correct log warning message - not "Account" but "Accession" number
fixing date formatting and timezone issues
fixed bug with log processing
fixed some bugs in time handling for listObjects and getLogRecords
bug fix to handle nulls
fixed bug in getLogRecords where the wrong id was getting set as the identifier
added new exception handling to serialize number format exceptions for rest calls
fixed listObject bugs, added params to the listObjects rest interface, consolidated the date format passed in params
fixed query for listObjects so that paging works as advertised.
fixed error with listObjects and get.
got the crud test to pass on knb-mn, now need to figure out why the rest service still isn't working
still looking for listObjects problem
more debug for another instance
adding some debug info
fixed bug with upper case comparison
changed getSessionData so that it will respond property to public tokens
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
fixed bug in metacat that allowed attribute data to be appended to element data in returnfields
fixed bugs associated with crud access control changes.
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
refactored the sessionService to use a correct singleton initialization scheme. Added true authentication to ResourceHandler.
new class to handle system metadata tasks in metacat
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.
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.
setting up the framework for the listObjects api call
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.
implemented update in ResourceHandler and fixed a bug in CrudService where data files were not handled correctly on update
amost have update working. still need to get unit test squared away.