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.
Modified ResourceHandler to change the GET url from /objects to /object tomatch the DataONE method name.
Merging in REST interface implementation that was created by Serhan Akin. Main change isa refactored MetaCatServlet.java class, in which all of the handle* methods were movedinto a separate MetacatHandler.java class. This allows both the standard MetaCatServlet...
Adding missing brackets in else clause. Need to verify with Daigle that this is what he meant.
Move the chunking of large test element data to centralized location in DBSAXNode.writeChildNodeToDB(). Beff up logging
Beef up log messages
Add debug log statements
make sure querygroup is not null before trying to print it.
Get the latest revision from metacat when a modify call docid does not have a revision number.
Send appropriate message when trying to update a docid that was previously deleted.
Reformat file. No code change.
do a quick retry if building path index fails with a SQL error
Make sure buildIndex throws an exception if it has a sqlexception. That way the indexing object will be added to the indexing queue and reprocessed.
Pass the doc xml as a string to docImpl.write and writeRepication. This is so a reader can be create for the parsing and for the write to disk. Also created a db access class for xml query result deletion.
Add comments
make constants final
Fix the bug of http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4645. handleGetRevisionAndDocTypeAction will search both xml_documents and xml_revisions table.It also changed some constrain in AccessionNumber when user update a document, of which all previous versions are in xml_revisions table.
Add a sleep statement between getting the dtd from source and checking for it via url. Add method names to log output.
Log doc and rev query counts and times. Fix mis-spellings.
remove call to print busy db connections
Add debug to show sql
Fix for Bug #4637 - Metacat Harvester fails to catch some insert and update failures. As per comments in the bug entry, the Metacat Harvester logic has been modified to examine the Metacat client return string to confirm that it contains the substring "<success>" following an insert or update operation. It no longer considers just the absence of an exception as indicative of a successful operation.
log connection warnings only when thresholds are exceeded. Add method names to log output
add method name to log statements
fix spelling of word additional
add method name to log messages and create configured thresholds for warning messages
Change log levels where appropriate and add class/method name to output.
Change warn messages to info
beef up error log messages
Make sure session data exists before extracting information
Separate code to do tls and non-tls authentication. Introduce AuthTLSException to make error handling easier.
Beefed up the logging
Change add sql to use a prepared statement. Only try to download a cert if a url was provided.
change unregister error message to be an info message
Fix errors in workflow scheduler unit test
Do not register the session service
special handling for RDF namespace documents (semtools project)
add connection serial number where it was missing.
Add ability to schedule daily, weekly and monthly jobs.
Format and add comments.
add getaccesscontrol and setaccess api calls
Handle the case of trying to insert a conflicting permission order for a document
move dbconnection object out of base class and create it for each db access so it can be released
Add success message to metacat response for setaccess action
handle multiple <principal> elements in the allow/deny blocks
Verify we are in the permission and principal sections before setting values on dao object.
Use OR to add permissions, not AND
Change access section in getaccesscontrol and getdocumentinfo apis to be more eml 2.1.0 compliant. Add a block access option to setaccess api.
change AccessControlForSingleFile to only be instantiated for one file. move ACL methods to AccessControlForSingleFile. Change format of access sections returned to EML 2.1.0.
Removed some old commented out code
Remove unneeded references to Timer
SMS-related addition: retrieve docids for a given doctype
QueryTerm.java will produce an incorrect SQL statement when there is an attribute in the XPath being used to search on. Regardless of the presence of the attribute, the clause:
(SELECT nodeid FROM xml_index WHERE path LIKE " + "'" + path + "') "
would be added to the query....
Create access dao and centralized db access classes. Update create access code to combine access records for principal/doc/accesstype when multiple exist.
Move access control source to it's own directory.
Add ability for doc owner to add user access to workflows.
Add authorization check before scheduling a job in the workflow scheduler
Change RequestUtil forwardRequest() method to throw MetacatUtilException.
Add authorization functionality
Change sanparks skin to log in with browser session instead of metacat client session so session can be validated on other pages.
Add user name to SessionData object
use arguments for the main() method - hardcoded URLs and test docids are poor form
return InputStream instead of Reader in the MetacatClient read() and readInlineData() methods. Can now handle binary datahttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=4432
Add session validation to metacat tpc and workflow scheduler. Fix sanparks skin session management so it always uses the logged in session id.
Make some error messages more understandable
add performance debugging statements for dataquery action
remove web directory
Remove the recently created metacat web servlet
change name of workflowjobid parameter to be workflowjobname which is more accurate
change pw.println to print to remove newline at end of url
Add unshedulejob to base class
Add session Validation action and session timeout functionality.
Fix spelling in debug statement
Added workflow scheduler directory with supporting files
Make properties handlers implement an interface so you can use configurable or non-configurable properties.
Change location of PropertyService to properties directory
Persist skin properties across installations
Change MetaCatVersion to MetacatVersion
Rename MetaCat to Metacat
Move document specific utilities to DocumentUtil from MetacatUtil. This makes it easier to define a layer between the core metacat services and the rest of the code.
Bug 3835: Design and implement OAI-PMH compliant harvest subsystem: * Remove import of deleted class
Bug 3835: Design and implement OAI-PMH compliant harvest subsystem: * Add documentation files to the 'docs/dev/oaipmh' directory. * Delete two obsolete files. * Modify class description comment in MetacatRecordFactory.java
Bug 3835: Design and implement OAI-PMH compliant harvest subsystem. Develop harvester component of the OAI-PMH harvester/provider pair. * Terminate harvest if login failed. * Add runHarvester.sh shell script
Bug 3835: Design and implement OAI-PMH compliant harvest subsystem. Develop harvester component of the OAI-PMH harvester/provider pair.
Updated comments to more accurately reflect the API
Fix references to db classes that were moved and refactoring missed.
Create database and shared directories for database management code and shared code respectively.
Create replication directory. Move replication code there. Use log4j for replication logging (rollingfileappender). Beef up replication logging and error control.
Add the ability to delete a scheduled workflow (move status to deleted in database)
Added end time to workflow scheduler.
Propagate the kar id throughout the configuration screens.
Populate admin login user dropdown with configured admins
Input date formatting changes
Use context url instead of server IP. Server IP breaks if the server does not have an externally facing IP (behind a proxy server)
Implement fix for Bug #4245: Harvester command line scripts don't execute.