Project

General

Profile

Statistics
| Revision:

# Date Author Comment
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

9237 07/09/2015 02:09 PM ben leinfelder

use v1 and v2 xsl as appropriate for rendering d1 types (object format list, mostly)

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

9189 05/01/2015 02:59 PM Jing Tao

Committed the change which Andreit did.
1. Add the code for synchronize(not implemented)
2. Add the code for addForm.

9182 04/30/2015 01:22 PM ben leinfelder

defer to D1 PortalCertificateManager to pull authentication credentials from the request before defering to old Metacat cookie session

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.

9123 02/17/2015 02:41 PM Jing Tao

Added the code to handle put method in meta url. See bug https://projects.ecoinformatics.org/ecoinfo/issues/6666

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.

9094 02/06/2015 01:16 AM Matt Jones

Updated D1ResourceHandler to not hardcode a file size limit. This will allow
large, multi-gigabyte files to be uploaded, but still needs testing. The limit
is now drawn from the metacat.properties file. An alternative would be to inspect
the Content-Length header of the request and set the max to a value greater than the...

9064 01/07/2015 04:52 PM Jing Tao

Comment out a print of an error message. It will show up for every public request.

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

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

8899 10/14/2014 06:01 PM Jing Tao

Move the code to get the object in front of the method to get the system metadata.

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

7778 05/24/2013 10:20 AM ben leinfelder

do not require PortalCertificateManager be configured. Fix NPE because session was not created when using old sessionid-based authentication. https://projects.ecoinformatics.org/ecoinfo/issues/5942

7773 05/23/2013 09:45 PM ben leinfelder

handle client certificates, portal certificates and jsessionid as three ways to prove you are an uthenticated user. https://projects.ecoinformatics.org/ecoinfo/issues/5942

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

7752 05/22/2013 03:49 PM ben leinfelder

switch back to log4j statements now that I am sure certificate delegation is working.

7749 05/22/2013 03:02 PM ben leinfelder

use System.out.println until the oa4mp logging issue is resolved.

7745 05/22/2013 10:34 AM ben leinfelder

add logging for portal certificate look up process.

7743 05/22/2013 09:34 AM ben leinfelder

use relative path for oa4mp_client.xml (within servlet context). https://projects.ecoinformatics.org/ecoinfo/issues/5936

7737 05/21/2013 11:05 PM ben leinfelder

first pass at integrating CILogon/MyProxy certificates in Metacat. Configuration is specific to mn-demo-4.test.dataone.org for the time being (this will cause localhost deployments to fail webapp deployment). https://projects.ecoinformatics.org/ecoinfo/issues/5936

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

7471 12/10/2012 09:07 AM ben leinfelder

use default count = 1000 for CN.listObjects rather than -1 (because now -1 will cause an SQL error)

7469 12/08/2012 06:41 PM ben leinfelder

default replicaStatus to true for the CN.listObject call

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

7266 06/07/2012 12:03 PM Chris Jones

Print the stack trace when the MMP cannot be resolved.

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

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