Project

General

Profile

  • svn:eol-style: native
  • svn:keywords: Author Date Id Revision
  • svn:mergeinfo: /branches/D1_0_6_2_BRANCH/src/edu/ucsb/nceas/metacat/restservice/v2/MNResourceHandler.java:6107-6121 /branches/METACAT_2_6_BRANCH/src/edu/ucsb/nceas/metacat/restservice/v2/MNResourceHandler.java:9560-9672

# Date Author Comment
9833 07/06/2016 04:52 PM Jing Tao

Replaced the JiBXException by MarshallingException.

9819 06/13/2016 12:00 PM Jing Tao

Add the check objectFormat is not null before we try to get the mediaType object from the object in the getObject method.

9673 04/21/2016 08:21 AM Chris Jones

Merge the changes from the 2.6 branch into the trunk, fixing filename construction.

refs https://github.nceas.ucsb.edu/KNB/arctic-data/issues/151

9481 01/05/2016 02:06 PM Jing Tao

Use the ServiceFailure to replace the InvalidRequest when it is the read-only mode (CN throws the exception).

9480 01/05/2016 09:42 AM Jing Tao

In the replicate method, the checking of the read-only mode was moved from MNodeService class to the MNResourceHandler class since it is asynchronized.

9479 01/04/2016 05:23 PM Jing Tao

The systemmetadataChanged method is asynchronized, so we put the read-only checking on the ResourceHandler class.

9370 10/20/2015 11:16 AM ben leinfelder

use idFilter for v2 getLogRecords() to match v2 API definition.

9349 10/01/2015 10:39 AM ben leinfelder

check for auth before doing asynch call to MN dirtySysMeta implementation

9333 09/24/2015 01:59 PM ben leinfelder

use request query string first when handling MN.query() method. https://redmine.dataone.org/issues/7384

9327 09/21/2015 04:37 PM Jing Tao

Put a the systemMetadataChanged method into a queue, so it will not hold the block.

9301 08/19/2015 11:41 AM Jing Tao

Use the key word "packages" to replace the "package".

9300 08/17/2015 04:52 PM Jing Tao

Decode the string of the uri after we break the uri into parts base on the "/".

9268 07/29/2015 02:13 PM Jing Tao

Fixed a possible null pointer exception bug. https://redmine.dataone.org/issues/7280

9244 07/13/2015 03:28 PM ben leinfelder

use objectFormat.extension in cases where we need to construct a filename for download. https://redmine.dataone.org/issues/3312

9235 07/08/2015 05:03 PM ben leinfelder

use MediaType from v2.SystemMetadata and v2.ObjectFormat to better determine mime-type, charset and filename for the get() method. https://redmine.dataone.org/issues/3309

9173 04/14/2015 04:40 PM ben leinfelder

add whoami endpoint to make debugging authn/authz easier as we use additional mechanisms for proving identity.

9164 04/10/2015 10:21 AM ben leinfelder

use singleton for getting JWT token - refactor in d1_portal project

9148 03/09/2015 06:29 PM Jing Tao

Make the REST api work for views.

9122 02/17/2015 02:40 PM Jing Tao

Add the code to handle the PUT method for meta url. See https://projects.ecoinformatics.org/ecoinfo/issues/6666.

9099 02/06/2015 12:10 PM Matt Jones

Modify v1 and v2 calls to MultipartRequestResolver to use MAX_UPLOAD_SIZE from configuration.

9009 12/02/2014 02:08 PM ben leinfelder

include person's full name in the JWT returned from /token

8874 09/23/2014 06:27 PM ben leinfelder

add /token endpoint for annotatorJS/annotateIt.org integration. https://github.com/DataONEorg/sem-prov-design/issues/18

8810 07/23/2014 04:19 PM ben leinfelder

add support for v2 DataONE API.

8715 03/27/2014 04:54 PM ben leinfelder

remove leading '?' in the query parameter for MN.query() implementation. We want it to match CN behavior/expectations and comply with the DataONE specification for the interface. https://projects.ecoinformatics.org/ecoinfo/issues/6488

8160 08/22/2013 04:04 PM ben leinfelder

use consistent file names and zip content names. Opted for "-" separator so that the zip writer does not remove the unique part of the filename. https://projects.ecoinformatics.org/ecoinfo/issues/6054

8034 07/18/2013 02:49 PM ben leinfelder

include filename in the package download, though we can;t really use the PID because of all the potential characters in it that are not valid for filesystems.

7864 07/09/2013 10:40 AM ben leinfelder

include mn.publish() REST endpoint handling. https://projects.ecoinformatics.org/ecoinfo/issues/6024

7861 07/08/2013 06:10 PM ben leinfelder

implement the view service (uses existing skin-based dbtransform) - and include the REST endpoint. https://projects.ecoinformatics.org/ecoinfo/issues/6028

7855 07/08/2013 12:14 PM ben leinfelder

include GET /package/{pid} endpoint in MN service. https://projects.ecoinformatics.org/ecoinfo/issues/6027

7757 05/23/2013 10:20 AM ben leinfelder

use ContentTypeInputStream interface (and ByteArray implementation) to specify the desired content-type of the InputStream returned by MN.query().

7647 05/01/2013 01:53 PM ben leinfelder

Allow use of server-side XSLT for SOLR queries that include "wt=<qformat>". https://projects.ecoinformatics.org/ecoinfo/issues/5812

7462 12/05/2012 11:04 AM ben leinfelder

default replicaStatus (aka "show replicas in results") to true rather than false

7441 11/30/2012 10:23 AM ben leinfelder

simple autogen-based implementation of MN.generateIdentifier(). does not support DOIs, ARKs, etc. It does support including a fragment, returning an identifier like "<fragment>.2012113010215298206"

7417 11/07/2012 02:53 PM ben leinfelder

Implement MNQuery for "pathquery" engine. Optionally include guid in the pathquery results (https://redmine.dataone.org/issues/3083)

7412 10/26/2012 09:11 AM ben leinfelder

use ObjectFormatInfo libclient utility to look up mimeType and filename extension during get() calls. Configurable mapping file is deployed by default to /var/metacat/dataone where it can then be augmented as needed. This location is controlled in the metacat.properties file (which is injected into the DataONE Settings values during weapp intitialization)....

7316 07/17/2012 11:46 AM ben leinfelder

improve content type handling during the get() calls
https://redmine.dataone.org/issues/3070

7222 05/31/2012 09:04 PM ben leinfelder

use metacat.properties to specify the default checksum algorithm to use -- this way it will be easy for us to switch to whatever DataONE decrees.
https://redmine.dataone.org/issues/2834

7183 05/23/2012 09:33 AM ben leinfelder

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

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

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

add logging statements when there is a problem calling setReplicationStatus

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.

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

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

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.

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.

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.

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

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.

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

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.

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

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

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)

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.

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

use correct enum method

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

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

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

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

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

MN rest servlet, handler and mappings