Revision: 5691
Author:
peter....@gmail.com
Date: Thu Sep 13 14:12:22 2012
Log: fix the hints in the xml returned in case of not found error to
properly report the mn function involved; also remove some debugging code
and outdated comments from related to size in object metadata
http://code.google.com/p/dryad/source/detail?r=5691
Modified:
/trunk/dryad/dspace/modules/dataone-mn/dataone-mn-webapp/src/main/java/org/dspace/dataonemn/DataOneMN.java
=======================================
---
/trunk/dryad/dspace/modules/dataone-mn/dataone-mn-webapp/src/main/java/org/dspace/dataonemn/DataOneMN.java
Thu Sep 13 13:35:37 2012
+++
/trunk/dryad/dspace/modules/dataone-mn/dataone-mn-webapp/src/main/java/org/dspace/dataonemn/DataOneMN.java
Thu Sep 13 14:12:22 2012
@@ -553,7 +553,7 @@
catch (NotFoundException details) {
log.error("Passed request returned not found", details);
response.setStatus(404);
- String resStr = generateNotFoundResponse(id);
+ String resStr = generateNotFoundResponse(id, "mn.get");
OutputStream out = response.getOutputStream();
PrintWriter pw = new PrintWriter(out);
pw.write(resStr);
@@ -569,7 +569,7 @@
}
- private String generateNotFoundResponse(String id) throws IOException{
+ private String generateNotFoundResponse(String id, String method)
throws IOException{
String responseStr =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +
"<error name='NotFound'" + "\n" +
@@ -579,7 +579,7 @@
" nodeId='datadryad'>" + "\n" +
" <description>The specified object does not exist on this
node.</description>" + "\n" +
" <traceInformation>" + "\n" +
- " method: mn.get" + "\n" +
+ " method: " + method + "\n" +
" hint:
http://cn.dataone.org/cn/resolve/" +
StringEscapeUtils.escapeXml(id) + "\n" +
" </traceInformation>" + "\n" +
"</error>" + "\n";
@@ -641,9 +641,7 @@
// build sysmeta for a science metadata object
sysMeta.setObjectFormat(DRYAD_NAMESPACE);
- //TODO: fix size
-
log.info("About to ask call objManager.getObjectSize() with: " + id);
- long size = objManager.getObjectSize(id); //this doesn't work, throws
not found exception
+ long size = objManager.getObjectSize(id);
sysMeta.setSize(size);
// Add relationship between this science metadata and the bitstream it
describes.
@@ -679,7 +677,7 @@
catch (NotFoundException details) {
log.error("Passed request returned not found", details);
response.setStatus(404);
- String resStr = generateNotFoundResponse(id);
+ String resStr = generateNotFoundResponse(id,"mn.getSystemMetadata");
OutputStream out = response.getOutputStream();
PrintWriter pw = new PrintWriter(out);
pw.write(resStr);
@@ -773,7 +771,7 @@
catch (NotFoundException details) {
log.error("Passed request returned not found", details);
response.setStatus(404);
- String resStr = generateNotFoundResponse(id);
+ String resStr = generateNotFoundResponse(id, "mn.getChecksum");
OutputStream out = response.getOutputStream();
PrintWriter pw = new PrintWriter(out);
pw.write(resStr);
@@ -886,7 +884,7 @@
catch (NotFoundException details) {
log.error("Passed request returned not found", details);
response.setStatus(404);
- String resStr = generateNotFoundResponse(id);
+ String resStr = generateNotFoundResponse(id, "mn.getReplica");
OutputStream out = response.getOutputStream();
PrintWriter pw = new PrintWriter(out);
pw.write(resStr);