Project

General

Profile

Task #566

Implement create() method for Metacat

Added by Matthew Jones about 14 years ago. Updated almost 14 years ago.

Status:
Closed
Priority:
Low
Assignee:
Chad Berkley
Category:
Documentation
Target version:
Start date:
Due date:
% Done:

100%

Milestone:
None
Product Version:
*
Story Points:
Sprint:

Description

As a CN developer, I need the DataONE create() method to be implemented for Metacat in order to serve as an object store for the CN
- involves refactoring current REST interface in metacat to use DataONE API
- write unit test for create() REST service

History

#1 Updated by Matthew Jones about 14 years ago

Started initial implementation of create() method. Refactored existing metacat code to pass proper exceptions, and built method to handle the creation of objects. Still need to add in authz and authn.

#2 Updated by Matthew Jones about 14 years ago

Created both client and server-side implementations of create() code needed to create and parse mime multipart form encoded data using only streams -- no in-memory representations of the data objects exist. Objects are now serialized into metacat from the MIME attachement. Need to handle serialize system metadata as well, handle authz/authn, and clean up error code messages to use proper detail codes.

#3 Updated by Matthew Jones about 14 years ago

Ran into a problem while validating system metadata on insert into metacat -- Metacat says it can not find the schema file. Working on that.

#4 Updated by Matthew Jones almost 14 years ago

create() implementation now properly inserts systemmetadata as well as the associated data and science metadata, as appropriate, using arbitrary identifiers. Errors generated from metacat are often thrown as a ServiceFailure -- will need more sophisticated parsing of metacat output to output precise D1 exceptions. Right now metacat error output is not being caught properly, so errors may pass by undetected.

#5 Updated by Chad Berkley almost 14 years ago

I'm also seeing this problem. I'm tracking it down to the XMLSchemaService which isn't finding the registered schema for some reason. Continuing to look into this.

Replying to [comment:4 jones]:

Ran into a problem while validating system metadata on insert into metacat -- Metacat says it can not find the schema file. Working on that.

#6 Updated by Chad Berkley almost 14 years ago

Create is now mostly working and has a unit test. I'm not going to close this task yet because I need to do a bit more testing and improve the unit test a bit. Should be done on Monday.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)