Project

General

Profile

Statistics
| Revision:

# Date Author Comment
6869 01/09/2012 05:08 PM Chris Jones

Update the CN methods to throw a VersionMismatch where the API changed (where serialVersion is a required parameter). These were previously throwing an InvalidRequest exception.
Change the exception handling for calls to Hazelcast to catch a RuntimeException (not Exception) so we don't catch exceptions that we purposefully throw....

6860 01/06/2012 07:40 AM Chris Jones

Correctly deserialize the BaseException subclass in handling calls to setReplicationStatus()

6803 12/16/2011 04:24 PM ben leinfelder

new jars with many changes -- including new CN methods: ping, describe, listChecksumAlgorithm. Removed MN.setAccessPolicy. Refactored CN.setOwner() to CN.setRightsHolder().

6799 12/16/2011 09:56 AM Chris Jones

Update the parameter names expected for listObjects() to reflect the MN API changes in the architecture docs.

6794 12/16/2011 07:36 AM Chris Jones

Modify CNresourceHandler.setReplicationStatus() to use the new API signature, including the failure BaseException that is parsed out of the MMP as a file section. Log the exception message. Since this is an asynchronous call, ReplicationManager won't see a failed status, but the MNAuditTask eventually will.

6793 12/16/2011 07:32 AM Chris Jones

Add collectReplicationStatus() to CNResourcHandler to return the BaseException or it's subclass, if any, provided in the the call to setReplicationStatus. The exception will be reported on the CN.

6777 12/13/2011 12:22 PM ben leinfelder

updated D1 API -- removed Permission.REPLICATE and associated parameters

6773 12/13/2011 10:58 AM ben leinfelder

include SerialVersion in describe response
https://redmine.dataone.org/issues/2135
NOTE: d1 jars should be replaced once all schema changes are finalized and the generate d1_common code is committed to svn

6756 12/09/2011 08:04 AM Chris Jones

Minor reformatting for readability.

6691 11/23/2011 11:37 AM ben leinfelder

match documentation for the MN.describe() header
https://redmine.dataone.org/issues/1904

6679 11/18/2011 05:00 PM ben leinfelder

run replicate() in a separate thread so that we don't wait for potentially large data objects to be moved around the system.

6678 11/18/2011 12:13 PM Chris Jones

Call replicate() asynchronously.

6677 11/18/2011 09:13 AM Chris Jones

Use status.toLowerCase() to deal with ReplicationStatus conversion issues. This needs to be reviewed.

6660 11/16/2011 12:58 PM ben leinfelder

get params from multipart params for systemMetadataChanged call

6650 11/14/2011 04:00 PM ben leinfelder

get pid from normal params, not the URL -- the client should include them in the params -- and not as a serialized "object" since it is just a string value

6643 11/13/2011 04:47 PM Chris Jones

The ReplicationStatus parameter is 'status', not 'replicationStatus', in the architecture documentation.

6642 11/13/2011 03:50 PM Chris Jones

Although parameters for setReplicationStatus() are expected as multipart/form-data fields, they seem to be added to the HttpServletRequest as URL parameters during the proxy forwarding in d1_cn_rest_proxy. Test for their existence as multipart fields, but fall back to request params, otherwise, throw an InvalidRequest exception.

6639 11/11/2011 09:54 AM ben leinfelder

lookup stylesheet from metacat.properties for CN list objects and list formats. This is used in conjunction with the CN rest service deployment where the xslt is actually kept.

6634 11/10/2011 12:07 PM Chris Jones

Since we're using a multipart form to encode parameters, extract the params out of the multipart form prior to doing a get() from the multipartparams map in setReplicationStatus(). Likewise, do the same in updateReplicationMetadata() and setReplicationPolicy().

6623 11/08/2011 04:40 PM Chris Jones

List the correct REST endpoints for replication in the documentation.

6622 11/08/2011 03:49 PM ben leinfelder

upgrade to 1.0.1-SNAPSHOT DataONE jars

6619 11/08/2011 10:36 AM Chris Jones

Keep /dirtySystemMetadata as the REST endpoint for systemMetadataChanged() for now.

6604 11/04/2011 02:21 PM Chris Jones

Fix getReplica() handling code for getReplica() and systemMetadataChanged(). Calls to getReplica() in MNode were calling get(), so the lack of resource handling was being missed.

6603 11/04/2011 02:19 PM Chris Jones

Handle multipart params where the libclient methods are using them.

6592 11/02/2011 08:00 PM Chris Jones

Handle calls to CNReplication REST services. Modify handle() to field calls to /replicaPolicies, /replicaMetadata, /replicaAuthorizations, and /replicaNotifications. Add the isNodeAuthorized(), setReplicationPolicy(), setReplicationStatus(), and updateReplicationMetadata() methods to parse and pass multipart form data and params on to the CNodeService implementing class....

6590 11/02/2011 07:46 PM Chris Jones

Add support for the various CNReplication calls. Add collectReplicationPolicy() to parse the policy out of the multipart form, and collectReplicaMetadata() to parse out the replica to be updated.

6561 10/27/2011 05:51 PM ben leinfelder

move the DataONE 1.0.0-SNAPSHOT

6548 10/27/2011 11:17 AM Chris Jones

The incoming source node param is just a string, not XML, so don't attempt to deserialize it. Rather, just make a new NodeReference object and set it's value to the value of the incoming param.

6542 10/20/2011 02:03 PM ben leinfelder

add User-Agent logging to support D1 requirements

6541 10/20/2011 12:40 PM ben leinfelder

remove old RestServlet handler -- not used now

6515 09/23/2011 10:18 PM ben leinfelder

MN.setAccess() is a PUT

6514 09/23/2011 09:54 PM ben leinfelder

correctly handle incoming "accessPolicy" parameters for the setAccess() method

6513 09/23/2011 08:46 PM ben leinfelder

swap the parameters for update: existing pid should be first, and then newPid

6510 09/23/2011 01:39 PM ben leinfelder

use "action" parameter instead of "permission"

6509 09/23/2011 01:38 PM ben leinfelder

use "action" parameter instead of "permission"

6507 09/22/2011 03:30 PM ben leinfelder

include checksum algorithm when setting describe
https://redmine.dataone.org/issues/1799

6502 09/22/2011 02:01 PM ben leinfelder

correctly implement MN.describe
https://redmine.dataone.org/issues/1799

6501 09/22/2011 01:40 PM ben leinfelder

return Node not NodeList for getCapabilities
https://redmine.dataone.org/issues/1800

6472 09/20/2011 02:11 PM ben leinfelder

collect "message" param from multipart request for MN.synchronizationFailed method

6469 09/20/2011 11:55 AM ben leinfelder

use d1_common_java's date serialization utility for parsing parameters

6432 09/15/2011 10:01 AM ben leinfelder

only create ObjectFormatId when we actually have the parameter (downstream we rely on it being null or not when constructing the query)

6397 09/07/2011 05:16 PM ben leinfelder

changes for schema update (d1_common)

6396 09/07/2011 02:22 PM ben leinfelder

do not parse from last slash ("/") to the end when processing the request uri - otherwise things like format ids (text/csv) will be handled incorrectly.
https://redmine.dataone.org/issues/1773

6384 08/31/2011 02:36 PM Chris Jones

Update classes to use the DataONE 0.6.4 schema and types. Major changes involve using BigInteger vs long in SystemMetadata.size, and using ObjectFormatIdentifier rather than Object format.

6378 08/03/2011 10:46 AM ben leinfelder

latest D1 jars - changes include:
updateSystemMetadata() impl for CN
new identifier methods (generate is its own method)
removal of the resourceMap pointer from system metadata

6373 07/28/2011 11:10 AM ben leinfelder

use correct enum method

6369 07/28/2011 10:44 AM ben leinfelder

use NodelistUtil

6367 07/28/2011 10:10 AM ben leinfelder

remove ServiceTypeUtil - replace with TypeMarshaller

6366 07/27/2011 04:25 PM ben leinfelder

use new "v1" types from DataONE

6362 07/20/2011 03:00 PM ben leinfelder

remove CrudService -- replaced by MNodeService and CNodeService

6352 07/15/2011 06:52 AM Chris Jones

MNResourceHandler.getObject() was making a call to ObjectFormat.getFmtid() when an object format was null. Check that it is not null before trying getFmtid().

6337 07/12/2011 03:02 PM ben leinfelder

use objectFormatIdentifier for listObjects()
remove provisional system metadata indicator - Metacat will not implement reserveIdentifier()

6297 07/06/2011 08:11 AM Chris Jones

Modify monitor() to accept new parameters for getOperationStatisics() (fromDate, toDate) instead of 'period'. Added getDateAsUTC() to parse incoming fromDate and toDate parameter strings.

6285 07/05/2011 07:51 AM Chris Jones

Changed 'guid' to 'pid' to be in line with the D1 API.

6284 07/01/2011 05:23 PM ben leinfelder

simplify the MN rest servlet mapping to match CN mappings - also streamlined the handler code to share extra path info parsing

6282 07/01/2011 05:03 PM ben leinfelder

route all /d1/cn/* traffic through the CNRestServlet/Handler -- inspect the pathInfo when deciding what action to take and also strip off any extra parts (like pid).
include query() method pass-through to CNodeService

6280 07/01/2011 03:32 PM ben leinfelder

allow service implementation method to throw exception when guid parameter is null

6279 07/01/2011 12:47 PM ben leinfelder

allow parameters to be omitted in reserveIdentifier handling

6274 06/30/2011 05:24 PM ben leinfelder

use monitor() return value when processing response

6273 06/30/2011 05:04 PM ben leinfelder

throw exceptions up the call stack and handle exception reporting/serialization centrally in the handle() method

6272 06/30/2011 04:44 PM ben leinfelder

use logging, not system.out

6271 06/30/2011 04:40 PM ben leinfelder

consolidate session management and parameter preparation in the superclass

6270 06/30/2011 04:31 PM ben leinfelder

throw exceptions up the call stack rather than catching and handling them differently for each possible rest path

6269 06/30/2011 03:54 PM ben leinfelder

consolidate multi part handling in the super class - subclasses need only call the appropriate helper to get access to the needed resources. superclass does some validation to make sure the files are in place in the request

6268 06/30/2011 03:05 PM ben leinfelder

cleaning up the handlers -- removing superclass methods.

6267 06/30/2011 02:37 PM ben leinfelder

refactor to use D1RestServlet and D1ResourceHandler for the D1 rest interface

6265 06/30/2011 02:30 PM ben leinfelder

deprecate the old rest servlet in favor of the new D1-specific (CN/MN) versions

6264 06/30/2011 02:08 PM ben leinfelder

MN rest servlet, handler and mappings

6263 06/30/2011 02:07 PM ben leinfelder

share getSystemMetadata (before refactoring the superclass)

6262 06/30/2011 02:07 PM ben leinfelder

share getSystemMetadata (before refactoring this superclass)

6253 06/29/2011 05:23 PM ben leinfelder

add CNRestServlet and mappings for urls in the form:
/d1/cn/*
This extends existing code for CN-specific handling. MN handling will be analogous and is forthcoming

6252 06/29/2011 05:17 PM ben leinfelder

share the deserializer method with subclasses

6249 06/29/2011 04:13 PM ben leinfelder

add shared operations for authorization

6248 06/29/2011 03:08 PM ben leinfelder

share tempDir method with subclasses

6247 06/29/2011 02:55 PM ben leinfelder

make RestServlet and ResourceHandler extendible for D1 CN and MN handlers

6246 06/29/2011 02:19 PM ben leinfelder

use session member variable now that we actually have it

6244 06/29/2011 12:20 PM ben leinfelder

remove CrudService calls in favor of MNodeService

6195 06/23/2011 04:10 PM ben leinfelder

CNCoreImpl is replaced by CNodeService

6185 06/23/2011 01:54 PM ben leinfelder

include latest D1 common/lib changes

6140 06/15/2011 08:50 AM Chris Jones

Added support in ResourceHandler for the /formats collection. Added listFormats() and getFormat() method, both of which call CNCoreImpl methods to handle the call.

6133 06/08/2011 06:25 AM Chris Jones

When calling SystemMetadata.getObjectFormat(), return the string value of the ObjectFormatIdentifier rather than ObjectFormat.toString() (which no longer returns the fmtid string).

6130 06/07/2011 02:56 PM ben leinfelder

organize imports so that it is clearer what dependencies exist on the D1 jars

6124 06/07/2011 09:53 AM Chris Jones

Merged in the D1_0_6_2_BRANCH changes that include the transition from ObjectFormat calls to ObjectFormatCache calls.

6120 06/03/2011 12:51 PM ben leinfelder

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

6097 05/24/2011 04:18 PM ben leinfelder

do not use XML files for storing SystemMetadata - use DB tables only.

6091 05/18/2011 04:32 PM Chris Jones

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.

6088 05/17/2011 08:02 PM Chris Jones

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....

6067 05/05/2011 10:19 AM rnahf

committing changes related to the new restservice update specification (newPid vs. obsoletedGuid)

6050 04/26/2011 08:22 AM Chris Jones

Use SystemUtil.getContextURL() in ResourceHandler to construct the DataONE service URL (rather than direct calls to PropertyService). This handles http and https URLs, and strips the :80 or :443 for the well known ports.

6045 04/25/2011 11:08 AM rnahf

improved multipart handling (improved logging messages, code, and error checking). Added exception classname to error output when the generic Exception is thrown. Added error check for cases of null value for file parts 'sysmeta' and 'object.'

6033 04/08/2011 08:56 AM Chris Jones

Removed hardcoded D1 node type in ResourceHandler and added in a new 'dataone.nodeType' property. Also added 'dataone.coordinatingNodeBaseURL' property which points to the CN that stores the authoritative object format list. If this instance of Metacat is a CN, it may point to itself.

6032 04/08/2011 08:28 AM Chris Jones

ResourceHandler in Metacat was set to return the KNB site URL as the MN base URL rather than the node Id. Fixed. https://redmine.dataone.org/issues/1390

5955 02/14/2011 11:45 AM berkley

added file extension for txt or csv files

5929 02/08/2011 11:46 AM berkley

fixed node response bug

5927 02/07/2011 03:41 PM berkley

fixed update problem

5926 02/07/2011 02:49 PM berkley

put the pid in the info section of the url

5923 02/07/2011 10:50 AM berkley

fixed content type problem where csv files were set as text/xml

5918 02/04/2011 01:05 PM berkley

removed debug statements

5914 02/04/2011 06:17 AM ben leinfelder

remove httpclient 3.1 and custom-built httpclient.jar
rework MetacatClient (and other classes) to use httpclient 4
updated build to not create httpclient.jar
encoding tests now pass.

5881 02/01/2011 12:13 PM berkley

some new code for debugging mmp