From: SVN c. m. f. t. SWORD-A. p. <swo...@li...> - 2012-04-27 16:37:09
|
Revision: 506 http://sword-app.svn.sourceforge.net/sword-app/?rev=506&view=rev Author: richard-jones Date: 2012-04-27 16:37:03 +0000 (Fri, 27 Apr 2012) Log Message: ----------- Error handling improvements * add default title to error documents * support configurable alternate urls to error documents * max upload size now expects bytes not kilobytes Modified Paths: -------------- JavaServer2.0/trunk/src/main/java/org/swordapp/server/ErrorDocument.java JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfiguration.java JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfigurationDefault.java JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordError.java Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/ErrorDocument.java =================================================================== --- JavaServer2.0/trunk/src/main/java/org/swordapp/server/ErrorDocument.java 2012-04-27 12:44:54 UTC (rev 505) +++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/ErrorDocument.java 2012-04-27 16:37:03 UTC (rev 506) @@ -85,6 +85,7 @@ // write some boiler-plate text into the document Element title = new Element("atom:title", UriRegistry.ATOM_NAMESPACE); + title.appendChild("ERROR"); Element updates = new Element("atom:updated", UriRegistry.ATOM_NAMESPACE); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); updates.appendChild(sdf.format(new Date())); @@ -118,6 +119,20 @@ error.appendChild(vd); } + String alternate = config.getAlternateUrl(); + String altContentType = config.getAlternateUrlContentType(); + if (alternate != null && !"".equals(alternate)) + { + Element altLink = new Element("atom:link", UriRegistry.ATOM_NAMESPACE); + altLink.addAttribute(new Attribute("rel", "alternate")); + if (altContentType != null && !"".equals(altContentType)) + { + altLink.addAttribute(new Attribute("type", altContentType)); + } + altLink.addAttribute(new Attribute("href", alternate)); + error.appendChild(altLink); + } + try { // now get it written out Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java =================================================================== --- JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java 2012-04-27 12:44:54 UTC (rev 505) +++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordAPIEndpoint.java 2012-04-27 16:37:03 UTC (rev 506) @@ -164,12 +164,12 @@ // Set the file to be deposited deposit.setFile(file); - long fLength = file.length() / 1024; // in kilobytes + long fLength = file.length(); // in bytes if ((config.getMaxUploadSize() != -1) && (fLength > config.getMaxUploadSize())) { String msg = "The uploaded file exceeded the maximum file size this server will accept (the file is " + - fLength + "kB but the server will only accept files as large as " + - config.getMaxUploadSize() + "kB)"; + fLength + " bytes but the server will only accept files as large as " + + config.getMaxUploadSize() + " bytes)"; throw new SwordError(UriRegistry.ERROR_MAX_UPLOAD_SIZE_EXCEEDED, msg); } Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfiguration.java =================================================================== --- JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfiguration.java 2012-04-27 12:44:54 UTC (rev 505) +++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfiguration.java 2012-04-27 16:37:03 UTC (rev 506) @@ -21,4 +21,8 @@ String getTempDirectory(); int getMaxUploadSize(); + + String getAlternateUrl(); + + String getAlternateUrlContentType(); } Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfigurationDefault.java =================================================================== --- JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfigurationDefault.java 2012-04-27 12:44:54 UTC (rev 505) +++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordConfigurationDefault.java 2012-04-27 16:37:03 UTC (rev 506) @@ -51,4 +51,14 @@ { return -1; } + + public String getAlternateUrl() + { + return null; + } + + public String getAlternateUrlContentType() + { + return null; + } } Modified: JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordError.java =================================================================== --- JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordError.java 2012-04-27 12:44:54 UTC (rev 505) +++ JavaServer2.0/trunk/src/main/java/org/swordapp/server/SwordError.java 2012-04-27 16:37:03 UTC (rev 506) @@ -1,8 +1,5 @@ package org.swordapp.server; -import java.util.HashMap; -import java.util.Map; - public class SwordError extends Exception { private String errorUri; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |