Task #566
Implement create() method for Metacat
100%
History
#1 Updated by Matthew Jones over 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 over 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 over 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 over 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 over 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 over 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.