Project

General

Profile

Statistics
| Revision:

# Date Author Comment
7183 05/23/2012 09:33 AM ben leinfelder

use at least one thread on single-processor machines.
https://redmine.dataone.org/issues/2800

7155 05/01/2012 10:26 AM ben leinfelder

handle CN.archive() rest call: PUT /archive/{pid}
https://redmine.dataone.org/issues/2678

7154 05/01/2012 10:25 AM ben leinfelder

correct log about 'archive' being called

7153 05/01/2012 10:15 AM ben leinfelder

handle 'archive' rest calls
https://redmine.dataone.org/issues/2678

7143 04/24/2012 10:42 AM ben leinfelder

use a shared ExecutorService for replicate() calls.
https://redmine.dataone.org/issues/2623

7142 04/19/2012 02:04 PM ben leinfelder

remove extraneous pid and permission parameters from isAdminAuthorized() method and make public so that it can be called in other locations - namely before our asynchronous replicate() implementation on the MN.

7101 03/28/2012 11:08 AM ben leinfelder

change ordering of getLogRecords() parameter -- pidFilter is in the middle now

7100 03/28/2012 10:21 AM ben leinfelder

use 'formatId' for listObjects() parameter
https://redmine.dataone.org/issues/2550

7099 03/27/2012 04:35 PM ben leinfelder

upgrade to latest RC in libclient and common jars -- includes updated getLogRecords and new mn.generateIdentifier method

7097 03/27/2012 09:22 AM Chris Jones

Modify deleteReplica() to use parameters parsed from the mime multipart entity rather than the request params. Need to check that the unit test uses MMP params. This partially addresses https://redmine.dataone.org/issues/2526.

7096 03/27/2012 09:11 AM Chris Jones

Modify CN.setObsoletedBy() to use parameters parsed from the mime multipart entity rather than the request params. Need to check that the unit test uses MMP params. This partially addresses https://redmine.dataone.org/issues/2526.

7095 03/27/2012 08:53 AM Chris Jones

Modify reserveIdentifier() to use parameters parsed from the mime multipart entity rather than the request params. Need to check that the unit test uses MMP params. This partially addresses https://redmine.dataone.org/issues/2526.

7094 03/27/2012 08:29 AM Chris Jones

Don't throw a JibXException, but rather convert it to a ServiceFailure.

7093 03/27/2012 08:27 AM Chris Jones

Modify owner() to set the rights holder from parameters parsed from the mime multipart entity rather than the request params. Need to check that the unit test uses MMp params. This partially addresses https://redmine.dataone.org/issues/2526.

7092 03/27/2012 07:42 AM Chris Jones

Add a collectMultipartParams() convenience method to D1ResourceHandler to parse multipart parameters from the entity when the entity contains no file parts.

7091 03/26/2012 04:25 PM ben leinfelder

add logging statements when there is a problem calling setReplicationStatus

7090 03/26/2012 03:11 PM Chris Jones

Get the serialVersion param from the MMP params map rather than the request object params map in setAccess().

7077 03/19/2012 09:52 AM ben leinfelder

include CN.delete()
https://redmine.dataone.org/issues/2506

7065 03/13/2012 03:09 PM ben leinfelder

do not attempt to parse empty file for the failure (BaseException serialization). There are cases when this is not given (failure="") when there is not a failure.
https://redmine.dataone.org/issues/2476

7064 03/13/2012 03:05 PM ben leinfelder

check for null session (public) calls to MN.replicate() before passing it to the asynchronous implementation

7051 03/08/2012 04:16 PM Chris Jones

If PID is not part of the multipart params, we end up with a NullPointerException. Throw an InvalidRequest in this case rather than ServiceFailure resulting from the NPE.

7048 03/08/2012 11:18 AM ben leinfelder

for good measure, use the D1 encoding util for url decoding the parameters for listObjects
https://redmine.dataone.org/issues/2460

7046 03/07/2012 02:49 PM Chris Jones

Use 'fromDate' and 'toDate' as listObject param filters to comply with the API documentation. We had changed this in MNResourceHandler, but somehow missed it in CNResourceHandler.

7043 03/06/2012 02:03 PM ben leinfelder

serialize exception in header for describe response when there is a BaseException
https://redmine.dataone.org/issues/2440

7034 03/01/2012 02:20 PM ben leinfelder

do not include stylesheet for list of checksum algorithms -- there is no template for it and therefore looks blank in a browser

7026 02/22/2012 02:53 PM ben leinfelder

call deleteReplica when we get that request (looks like an undetected copy and paste error)

7019 02/20/2012 03:39 PM ben leinfelder

handle both listing and getting checksums using the GET endpoint -- depends whether or not a pid is included in the URL
https://redmine.dataone.org/issues/2089

6995 02/07/2012 09:54 PM ben leinfelder

getMultipartParameters() outside of debug block -- thanks Mark Reyes @ CDL for catching this.

6994 02/07/2012 04:53 PM ben leinfelder

dataone configuration and registration enhancements:
-include flag to disable D1 services, currently only the MN side enforces this
-do not allow multiple registration attempts if we have just submitted and are awaiting Node verification by the CN.
-do not allow configuration "bypass" if D1 settings have been configured previously....

6975 02/02/2012 02:17 PM ben leinfelder

use plain String parameter for {pid} instead of XML serialization of it.

6974 02/02/2012 11:23 AM ben leinfelder

remove {pid} from POST URL on CN.registerSystemMetadata()
https://redmine.dataone.org/issues/2284

6973 02/02/2012 11:15 AM ben leinfelder

remove {pid} from POST URL on CN.create()
https://redmine.dataone.org/issues/2284

6972 02/02/2012 11:10 AM ben leinfelder

remove {pid} from POST URL on MN.create()
https://redmine.dataone.org/issues/2284

6927 01/20/2012 10:14 AM Chris Jones

Ensure we have the object and sysmeta params for MN.create(). We were getting a fatal SAX parsing error encapsulated in a ServiceFailure when a science metadata object param was null. Cut it off at the pass after parsing the MMP entity.

6891 01/12/2012 01:32 PM ben leinfelder

use new endpoint/method:
http://mule1.dataone.org/ArchitectureDocs-current/apis/CN_APIs.html#CNReplication.deleteReplicationMetadata

6890 01/12/2012 12:18 PM ben leinfelder

use PUT /obsoletedBy/{pid} for CNCore.setObsoletedBy per our discussion today

6882 01/11/2012 11:31 AM ben leinfelder

remove method: assertRelation
https://redmine.dataone.org/issues/2158

6880 01/11/2012 10:41 AM ben leinfelder

serialize the Identifier for the systemMetadata being registered
https://redmine.dataone.org/issues/2204

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