Author: michiel
Date: 2010-02-03 20:05:11 +0100 (Wed, 03 Feb 2010)
New Revision: 40847

Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/security/SecurityException.java
Log:
  MMB-1924

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/security/SecurityException.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/security/SecurityException.java  
2010-02-03 19:04:40 UTC (rev 40846)
+++ mmbase/trunk/core/src/main/java/org/mmbase/security/SecurityException.java  
2010-02-03 19:05:11 UTC (rev 40847)
@@ -9,15 +9,27 @@
 */
 package org.mmbase.security;
 
+import java.util.*;
+import java.text.*;
+import org.mmbase.util.*;
+
+
 /**
  * Thrown by the security classes to indicate a security violation/malfunction.
- * 
+ *
  * @author Eduard Witteveen
  * @version $Id$
  */
 public class SecurityException extends java.lang.SecurityException {
     private static final long serialVersionUID = -175749957183734250L;
 
+
+    private String bundle;
+    private String key;
+    private Object[] args;
+
+    private LocalizedString localizedMessage;
+
     //javadoc is inherited
     public SecurityException() {
         super();
@@ -40,4 +52,36 @@
         initCause(cause);
     }
 
+    /**
+     * @since MMBase-1.9.3
+     */
+    public SecurityException(String bundle, String key, Object... arguments) {
+        super(MessageFormat.format(ResourceBundle.getBundle(bundle, 
Locale.getDefault()).getString(key), arguments));
+        this.bundle = bundle;
+        this.key = key;
+        this.args = arguments;
+    }
+
+    /**
+     * @since MMBase-1.9.3
+     */
+    public SecurityException(LocalizedString message) {
+        super(message.get(null));
+    }
+
+
+
+    /**
+     * @since MMBase-1.9.3
+     */
+    public String getMessage(Locale locale) {
+        if (localizedMessage != null) {
+            return localizedMessage.get(locale);
+        } else if (bundle != null) {
+            return MessageFormat.format(ResourceBundle.getBundle(bundle, 
locale).getString(key), args);
+        } else {
+            return getMessage();
+        }
+    }
+
 }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to