switch to use FIleUpload instead of O'Reilly COS library for handling chunked file uploads. https://projects.ecoinformatics.org/ecoinfo/issues/6517
first pass at allowing admins to update DOI registration. This only acts on EML objects at the moment and is meant to illustrate one mechanism for updating the DOIs. https://projects.ecoinformatics.org/ecoinfo/issues/6530
include inverted sendParameters() method that uses the keys as values, and the values as keys so that multiple docid parameters can be specified for the zip download. This was a regression when moving to standard httpclient rather than the roll-your-own version we had been using. http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5718
allow unknown content sizeshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5543
remove httpclient 3.1 and custom-built httpclient.jarrework MetacatClient (and other classes) to use httpclient 4updated build to not create httpclient.jarencoding tests now pass.
formatting
removed system.outs
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.
Refactored putObject method to separate the create() and update() portions in order to match the method signatures needed for DataONE.
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).
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...
add getaccesscontrol and setaccess api calls
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.
Add authorization functionality
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.
add session id to parameters
Improved the javadoc documentation for the upload() methods to clarify what upload() does and contrast it to insert() and update().
Created method "synchronized public InputStream sendParameters(Properties args) throws Exception".Sends a request to Metacat. An alternative to the sentData method. Allows for sending multiple parameters with the same name, different names, or any combo.
Add a new method - query which can specify qformat.
Add new query method which can specify qformat.
Removed "Formatter" usage, to make java 1.4 compatible.
Refactored almost all of the JSP API methods and fields to a new package (edu.ucsb.nceas.metacat.clientview).
Fixed bug: successfully removes related sub Doc ID's from metadata.New functionality:1) Updates field in FGDC metadata Doc ID with new version of Doc ID, and2) Recurses sub-documents for deletion, when deleting an FGDC metadata Doc ID (deletes entire package).
Several newly developed methods providing a JSP API into metacat. Most of the new methods were developed to support FGDC metadata.Some of the other new methods merely provide convenience to the JSP code. New methods include:nextVersion, getFGDCdistinfo, addDistInfoToFGDC, vectorToHtmlSelect, mapToHtmlSelect, htmlInput, getSessValue, setSessValue, query, getSelectQueryMap,...
Modified method "doMetadataUpload". Improved file type parsing. Also changed call to "upload", to send Integer.MAX_VALUE as the file size,since file size is not available until read (i.e. "Content-Length", which is available, isn't the same as the individual file sizes)....
Metacat JSP API Additions. The new methods currently only handle inserts of new metadata files and related data files. It also handles instance creation and login support, witha few convenience methodes intended to be called by a JSP file.Update and delete support will be added. Also, the new methods currently only handle FGDC metadata files. More XML grammars will be added.
more changes for the ajax stuff. it now works on the production server
added a method to query metacat to see if a particular docid is registered or not
finally got the getallids function working
added functionality to get a list of ids used in the system
fixed bugs in teh client that were preventing the lsid service from working right
modified the client so it will work consistently with the web service
updated the client so it throws a DocumentNotFoundException if you attempt to read a docuemnt that doesn't exist
Missed a period.
Patch to make the getLastDocid function actually work on the text node.
Added new function getLastDocid to the metacat client so that it isaccessible to clients that need it.
Added support in the metacat client for the new function added to MetaCatServlet
Add a new method to get newest version of a given document.
Add a new method to get newest version for a given document.
Thanks Jing, Fixed those code comments.
Adde a function to the metacat client to set access on an xml document in ametacat repository.
Added new upload function which takes InputStream as input.
Added method to metacat client for reading inline data - readInlineData()
Added upload functionality to metacat client for upload online data
Updated more tests on session reuse. Made the http calls set the sessionidexplicitly rather than relying on cookies being passed around statically.Still need to modify HttpMessage to get rid of the static cookie.
New versions of the Metacat client API that allow access to the sessionIdso that a session can be reused over several different instances.
Fixed the sessionId handling code to now properly return the sessionIdin the login response message. Updated junit tests to test this issue.
Modified metacat to now provide the session identifier in the responsexml message when a login is called. This has not been fully tested.I removed the HttpMessage class from metacat in favor of using the versionof that class that is found in the utilities module. This may cause some...
Implement logout method.
Add a logout method.
Implemented the update and delete methods in the interface, along with tests.
Implemented the "insert()" method and wrote a test to test it. The new testdepends on the property "newdocid" be set to something unique in the build.xmlfile so that the insert will work properly. Probably need to fix this to besome kind of autoincrement counter or random number so that it can be run...
Refactored to use IOUtil routines. Reformatted for within-file consistency.
Implement query method.
Add metacatinaccessible exception for query.
Implemented the 'read' API call. Some more to go...
Wrote the login() function, the first of the series of API calls forthe metacat client to be implemented. Also wrote a test class totest the API functionality.
Added a new subpackage (edu.ucsb.nceas.metacat.client) which is a clientaccess library for the metacat. There is an interface (Metacat.java) thatprovides simple access methods for the main metacat functions. This is tosupport clients like Morpho and others that want to programatically access...