2002/css-validator/org/w3c/css/util InvalidParamException.java,1.5,1.6

Update of /sources/public/2002/css-validator/org/w3c/css/util
In directory hutz:/tmp/cvs-serv30481/org/w3c/css/util

Modified Files:
	InvalidParamException.java 
Log Message:
Handling list of error messages instead of just one or two messages

Index: InvalidParamException.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/util/InvalidParamException.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- InvalidParamException.java	14 Sep 2005 15:15:32 -0000	1.5
+++ InvalidParamException.java	13 Sep 2007 10:21:00 -0000	1.6
@@ -37,8 +37,7 @@
      * @param message a message to add
      */
     public InvalidParamException(String error, Object message, ApplContext ac) {
-	super(processError(error,
-			   (message != null)?message.toString():null, "", ac));
+    	super(processError(error, (message != null)?message:null, ac));
     }
 
     /**
@@ -55,6 +54,30 @@
 			   (message2 != null)?message2.toString():null,
 			   ac));
     }
+    
+    private static String processError(String error, Object args, ApplContext ac) {
+    	if (args instanceof String[]) {
+			String str = null;
+			
+			if (error != null) {
+			str = ac.getMsg().getErrorString(error);
+			}
+			if (str == null)
+				return "can't find the error message for " + error;
+			else {
+			// replace all parameters
+				int j = 0;
+				for (int i = 0; (i = str.indexOf("%s")) >= 0 && j < ((String[]) args).length; ) {
+					str = str.substring(0, i) + ((String[]) args)[j++] + str.substring(i+2);
+				}
+				return str;
+			}
+    	} else {
+    		return processError(error, args.toString(), "", ac);
+    	}
+    }
+    
+    
 
     private static String processError(String error, String arg1,
 				       String arg2, ApplContext ac) {

Received on Thursday, 13 September 2007 10:21:07 UTC