Revision 6502
Added by ben leinfelder over 13 years ago
src/edu/ucsb/nceas/metacat/restservice/MNResourceHandler.java | ||
---|---|---|
612 | 612 |
id.setValue(pid); |
613 | 613 |
|
614 | 614 |
DescribeResponse dr = MNodeService.getInstance().describe(session, id); |
615 |
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SZ"); |
|
616 |
response.addHeader("pid", pid); |
|
617 |
response.addHeader("checksum", dr.getDataONE_Checksum().getValue()); |
|
618 |
response.addHeader("checksum_algorithm", dr.getDataONE_Checksum().getAlgorithm()); |
|
619 |
response.addHeader("content_length", dr.getContent_Length() + ""); |
|
620 |
response.addHeader("last_modified", dateFormat.format(dr.getLast_Modified())); |
|
621 |
response.addHeader("format", dr.getDataONE_ObjectFormatIdentifier().getValue()); |
|
622 |
|
|
615 |
//response.addHeader("pid", pid); |
|
616 |
response.addHeader("DataONE-Checksum", dr.getDataONE_Checksum().getValue()); |
|
617 |
response.addHeader("Content-Length", dr.getContent_Length() + ""); |
|
618 |
response.addHeader("Last-Modified", DateTimeMarshaller.serializeDateToUTC(dr.getLast_Modified())); |
|
619 |
response.addHeader("DataONE-fmtid", dr.getDataONE_ObjectFormatIdentifier().getValue()); |
|
620 |
|
|
623 | 621 |
} |
624 | 622 |
|
625 | 623 |
/** |
src/edu/ucsb/nceas/metacat/dataone/MNodeService.java | ||
---|---|---|
448 | 448 |
public DescribeResponse describe(Session session, Identifier pid) throws InvalidToken, ServiceFailure, NotAuthorized, NotFound, NotImplemented, |
449 | 449 |
InvalidRequest { |
450 | 450 |
|
451 |
if (session == null) { |
|
452 |
throw new InvalidToken("1370", "The session object is null"); |
|
453 |
} |
|
454 |
|
|
455 |
if (pid == null || pid.getValue().trim().equals("")) { |
|
456 |
throw new InvalidRequest("1362", "The object identifier is null. " + "A valid identifier is required."); |
|
457 |
} |
|
458 |
|
|
451 |
// get system metadata and construct the describe response |
|
459 | 452 |
SystemMetadata sysmeta = getSystemMetadata(session, pid); |
460 | 453 |
DescribeResponse describeResponse = new DescribeResponse(sysmeta.getFmtid(), sysmeta.getSize(), sysmeta.getDateSysMetadataModified(), |
461 | 454 |
sysmeta.getChecksum()); |
Also available in: Unified diff
correctly implement MN.describe
https://redmine.dataone.org/issues/1799