use Date not joda's DateTime
force replication for newly-registered system metadata
Merged in the D1_0_6_2_BRANCH changes that include the transition from ObjectFormat calls to ObjectFormatCache calls.
implement the old interface for now (until 0.6.2)
include CNCore implementation - only registerSystemMetadata is implemented at the moment. also - updated d1 jar (0.6.2) should be used since that is where the method is defined.would like to consider making ResourceHandler more modular - seems like it does A LOT of different things
read and write D1 access policy rules from metacat xml_access table.still TBD: which mechanism takes precedence when there are systemMetadata access rules and EML access rules and other access rules?
-remove system metadata guid -> local id mapping (there is no document for system metadata now)-include system metadata elements when replicating data objects (TODO: transfer all system metadata structures with the docinfo request).TODO: remove docid+rev from the systemMetadata table definition
do not use XML files for storing SystemMetadata - use DB tables only.
Modified Metacat to build against the D1_SCHEMA_0_6_1 branch of the dataone schemas by incorporating the 0.6.1-SNAPSHOT version of d1_common and d1_libclient libraries, and refactoring Metacat code references to the d1 schema changed types.
In order to sync up with DataONE 0.6.1 changes, I'm backing out ObjectFormatService changes temporarily in Metacat. Most functionality will be rolled back in using the DataONE 0.6.2 tag, but some methods in ObjectFormatService (such as getListFromDisk()) will be moved into d1_libclient_java.
Changes in the DataONE ObjectFormat class deprecate the convert() method, and we're now using Metacat's ObjectFormatService to look up object format attributes. The following changes replace ObjectFormat.convert() with ObjectFormatService.getFormat() in several classes....
generateMissingSystemMetadata was swallowing Exceptions instead of throwing. Refactored so that specific exceptions are thrown, affecting [create/update]SystemMetadata methods, too.
DocumentImpl.delete() now throws finer grained exceptions (not a general exception). Consequently, the classes that call it have been updated to handle the thrown exceptions, including CrudService, ReplicationHandler, and ReplicationService.
fixed bug where the wrong checksum alg got written to the db
To support the generatemissingsystemmetadata REST call, modified CrudService.createSystemMetadata() to use DataoneEMLParser and further determine object formats from EML metadata. Formats currently supported are text/plain, text/csv, image/[jpg|jp2|bmp|tiff|png], and only for EML documents with 'ecogrid://' defined entity urls....
Cleaned up warnings, removed dead code.
Updated to most recent DataONE libraries. Updated CrudService to set the correct origin MN and auth MN in system metadata. Refactored exception passing. More work to come in generating SystemMetadata.
added code to do database query for listObjects
Cleaned up unused imports.
adding fields for additional system metadata info
added code to run an squery for listObjects instead of an anyfield query
refactor checksum and some other stuff
replicate works on metacat now. just waiting for roberts changes to the mmp clients
removing code I just added
adding default url to test against
fixes for creating SM for legacy docs
implemented health api
fix for paths with semi-colons or other 'reserved' characters in them for D1 rest services
added semi-colon id test
allow public access to log information when docid is given. IP and principal are not returned unless an administrator makes the request.
organized code for inputstream handling
fixed date problem
add a timer to delete the temp file
removed dependency on InputStreamToOutputStream so that exceptions will be passed correctly.
got getChecksum working. working on delete now. all tests in d1clienttest now pass
changed date format a bit to get the parser to like it
adding getChecksum method
added milliseconds back onto date format
fixed a couple bugs with dates and fixed a major bug where metacat was reading the entire document from the database everytime a DocumentImpl instance was created even though it didn't need to
changes for dataone .5 schema updates
updated all exception codes to match spec
fixed task 729
fixed a bunch of small errors, did some reformatting, and fixed a bug that I thought was fixed last week
changed log labels per trac 843
fixed bug 818
better log message
more debugging for objectInfo problem
checking for a null objectformat
add some error output
added a check for bad data into listObjects
commented out a println
updated DB scripts for D1 schemas
moved the dataone types to the metacat.properties file
changes to work with new dataone jars
fixed bug where the query cache was not getting reset by a REST insert/query combo.
new todos from code review with roger
added TODOs and cleaned up the code a bit
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
fixed update bug I introduced yesterday while fixing replication
still working on getting guid problems fixed with replication
fixed yet another null sessionData bug
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
added functionality to set access permissions to system metadata the same as the document that it describes
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
updated for date format that supports time zones correctly.
changed date comparison to compare to gmt only
fixed NPE with sessionData
fixed bug in access control where the sessionid was not correctly passed along so changes of privileges were not being made
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.
still looking for listObjects problem
more debug for another instance
adding some debug info