Index: /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tool/UploadResponse.java
===================================================================
--- /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tool/UploadResponse.java	(revision 1414)
+++ /FCKeditor.Java/branches/2.4/src/main/java/net/fckeditor/tool/UploadResponse.java	(revision 1415)
@@ -7,4 +7,6 @@
 
 	private Map<String, String> parameters;
+
+	// TODO Rename 'En_'-constants to something more intuitive like 'CODE_'
 	public static final int EN_OK = 0;
 	public static final int EN_ERROR = 1;
@@ -14,61 +16,50 @@
 	public static final int EN_SECURITY_ERROR = 203;
 	public static final int EN_GENERIC_NUMBER = -1;
-	
+
 	public static final String CM_HTTP_400 = "400 Bad request";
-	
-	//public static final UploadResponse UR_OK = new UploadResponse(EN_OK);
+
+	// public static final UploadResponse UR_OK = new UploadResponse(EN_OK);
 	public static final UploadResponse UR_INVALID_EXTENSION = new UploadResponse(EN_INVALID_EXTENSION);
 	public static final UploadResponse UR_SECURITY_ERROR = new UploadResponse(EN_SECURITY_ERROR);
 	public static final UploadResponse UR_GENERIC_NUMBER = new UploadResponse(EN_GENERIC_NUMBER);
 
-	public UploadResponse(int errorNumber, String fileUrl, String filename,
-			String customMessage) {
-		parameters = new LinkedHashMap<String, String>(4);
-		parameters.put("errorNumber", String.valueOf(errorNumber));
-		parameters.put("fileUrl", fileUrl);
-		parameters.put("filename", filename);
-		parameters.put("customMessage", customMessage);
+	public UploadResponse(int errorNumber, final String fileUrl, final String filename, final String customMessage) {
+		parameters = new LinkedHashMap<String, String>(); // we must respect the order of the params!
+		setErrorNumber(errorNumber);
+		if (fileUrl != null)
+			parameters.put("fileUrl", fileUrl);
+		if (filename != null)
+			setFilename(filename);
+		if (customMessage != null)
+			setCustomMessage(customMessage);
 	}
-	
-	public UploadResponse(int errorNumber, String fileUrl, String filename) {
-		parameters = new LinkedHashMap<String, String>(3);
-		parameters.put("errorNumber", String.valueOf(errorNumber));
-		parameters.put("fileUrl", fileUrl);
-		parameters.put("filename", filename);
+
+	public UploadResponse(int errorNumber, final String fileUrl, final String filename) {
+		this(errorNumber, fileUrl, filename, null);
 	}
-	
-	public UploadResponse(int errorNumber, String fileUrl) {
-		parameters = new LinkedHashMap<String, String>(2);
-		parameters.put("errorNumber", String.valueOf(errorNumber));
-		parameters.put("fileUrl", fileUrl);
+
+	public UploadResponse(int errorNumber, final String fileUrl) {
+		this(errorNumber, fileUrl, null, null);
 	}
-	
-	
 
 	public UploadResponse(int errorNumber) {
-		parameters = new LinkedHashMap<String, String>(1);
-		parameters.put("errorNumber", String.valueOf(errorNumber));
+		this(errorNumber, null, null, null);
 	}
 
-	/**
-	 * 
-	 * @param filename
-	 */
-	public void setFilename(String filename) {
+	public void setFilename(final String filename) {
 		if (Utils.isNotEmpty(filename)) {
-		if (parameters.size() == 1)
-			parameters.put("fileUrl", null);
-		parameters.put("filename", filename);
+			if (parameters.size() == 1)
+				parameters.put("fileUrl", null);
+			parameters.put("filename", filename);
 		}
 	}
 
-	public void setCustomMessage(String customMassage) {
-		
+	public void setCustomMessage(final String customMassage) {
 		if (Utils.isNotEmpty(customMassage)) {
-		if (parameters.size() == 1) {
-			parameters.put("fileUrl", null);
-			parameters.put("filename", null);
-		}
-		parameters.put("customMessage", customMassage);
+			if (parameters.size() == 1) {
+				parameters.put("fileUrl", null);
+				parameters.put("filename", null);
+			}
+			parameters.put("customMessage", customMassage);
 		}
 	}
@@ -88,12 +79,12 @@
 		} else {
 			for (String parameter : parameters.values()) {
-				
+
 				if (Utils.isNotEmpty(parameter)) {
 					if (parameter.matches("-?\\d{1,3}")) {
 						sb.append(parameter);
 					} else {
-					sb.append("'");
-					sb.append(parameter);
-					sb.append("'");
+						sb.append("'");
+						sb.append(parameter);
+						sb.append("'");
 					}
 				} else {
@@ -102,6 +93,5 @@
 				}
 				sb.append(",");
-				
-				
+
 			}
 			sb.deleteCharAt(sb.length() - 1);
@@ -117,7 +107,7 @@
 
 		UploadResponse ur = new UploadResponse(101);
-		//ur.setCustomMessage("shit happens");
-		ur.setFilename("");
-		//ur.setCustomMessage("nothing happens");
+		ur.setCustomMessage("shit happens");
+		// ur.setFilename("test");
+		// ur.setCustomMessage("nothing happens");
 		System.out.println(ur);
 	}
