X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2FContentNotFoundException.java;h=51efb3860a49d914b22e090be7750a10804ee91c;hb=1d6840195189cbdbf632ca2800b6179d3b6349df;hp=b86c92c1ed300b1b80ae4217003400c2a7a886de;hpb=6832a0807e45e70c23b22598874807a3a9373475;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/ContentNotFoundException.java b/org.argeo.api.acr/src/org/argeo/api/acr/ContentNotFoundException.java index b86c92c1e..51efb3860 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/ContentNotFoundException.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/ContentNotFoundException.java @@ -1,16 +1,35 @@ package org.argeo.api.acr; -/** When a countent was requested which does not exists, equivalent to HTTP code 404.*/ +/** + * When a content was requested which does not exists, equivalent to HTTP code + * 404. + */ public class ContentNotFoundException extends RuntimeException { private static final long serialVersionUID = -8629074900713760886L; - public ContentNotFoundException(String message, Throwable cause) { - super(message, cause); + private final String path; + + public ContentNotFoundException(ContentSession session, String path, Throwable cause) { + super(message(session, path), cause); + this.path = path; + // we don't keep reference to the session for security reasons + } + + public ContentNotFoundException(ContentSession session, String path) { + this(session, path, (String) null); } - public ContentNotFoundException(String message) { - super(message); + public ContentNotFoundException(ContentSession session, String path, String message) { + super(message != null ? message : message(session, path)); + this.path = path; + // we don't keep reference to the session for security reasons } - + private static String message(ContentSession session, String path) { + return "Content " + path + "cannot be found."; + } + + public String getPath() { + return path; + } }