You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/03/15 09:21:28 UTC

git commit: WICKET-4449 Change IValidationError API to work with java.io.Serializable as other methods (info, error, success, ...) in Component and Session

Updated Branches:
  refs/heads/master 6567bbef9 -> cdcfcbdb8


WICKET-4449 Change IValidationError API to work with java.io.Serializable as other methods (info, error, success, ...) in Component and Session


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/cdcfcbdb
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cdcfcbdb
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cdcfcbdb

Branch: refs/heads/master
Commit: cdcfcbdb8c2e51d045cd6dd4c83ab76533306e36
Parents: 6567bbe
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Mar 15 10:20:04 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Mar 15 10:21:16 2012 +0200

----------------------------------------------------------------------
 .../wicket/markup/html/form/FormComponent.java     |    7 +-
 .../markup/html/form/ValidationErrorFeedback.java  |   27 ++------
 .../apache/wicket/validation/IValidationError.java |    6 +-
 .../wicket/validation/RawValidationError.java      |   53 +++++++++++++++
 .../apache/wicket/validation/ValidationError.java  |    6 +-
 5 files changed, 71 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/cdcfcbdb/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index 31877ba..a0d3cf3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.html.form;
 
+import java.io.Serializable;
 import java.text.Format;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -626,7 +627,7 @@ public abstract class FormComponent<T> extends LabeledWebMarkupContainer
 		Args.notNull(error, "error");
 
 		MessageSource source = new MessageSource();
-		String message = error.getErrorMessage(source);
+		Serializable message = error.getErrorMessage(source);
 
 		if (message == null)
 		{
@@ -649,9 +650,9 @@ public abstract class FormComponent<T> extends LabeledWebMarkupContainer
 			}
 			buffer.append(".");
 			message = buffer.toString();
-			logger.warn(message);
+			logger.warn(message.toString());
 		}
-		error(new ValidationErrorFeedback(error, message));
+		error(message);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/cdcfcbdb/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ValidationErrorFeedback.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ValidationErrorFeedback.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ValidationErrorFeedback.java
index 42804a7..0e5ed8f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ValidationErrorFeedback.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/ValidationErrorFeedback.java
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.validation.IValidationError;
 
 
@@ -39,7 +40,7 @@ public class ValidationErrorFeedback implements IClusterable
 	private final IValidationError error;
 
 	/** error message */
-	private final String message;
+	private final Serializable message;
 
 	/**
 	 * Construct.
@@ -47,27 +48,13 @@ public class ValidationErrorFeedback implements IClusterable
 	 * @param error
 	 * @param message
 	 */
-	public ValidationErrorFeedback(final IValidationError error, final String message)
+	public ValidationErrorFeedback(final IValidationError error, final Serializable message)
 	{
-		if (error == null)
-		{
-			throw new IllegalArgumentException("Argument [[error]] cannot be null");
-		}
-		this.error = error;
+		this.error = Args.notNull(error, "error");
 		this.message = message;
 	}
 
 	/**
-	 * Gets serialVersionUID.
-	 * 
-	 * @return serialVersionUID
-	 */
-	public static long getSerialVersionUID()
-	{
-		return serialVersionUID;
-	}
-
-	/**
 	 * Gets error.
 	 * 
 	 * @return error
@@ -82,7 +69,7 @@ public class ValidationErrorFeedback implements IClusterable
 	 * 
 	 * @return message
 	 */
-	public String getMessage()
+	public Serializable getMessage()
 	{
 		return message;
 	}
@@ -93,8 +80,6 @@ public class ValidationErrorFeedback implements IClusterable
 	@Override
 	public String toString()
 	{
-		return message;
+		return message.toString();
 	}
-
-
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/cdcfcbdb/wicket-core/src/main/java/org/apache/wicket/validation/IValidationError.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/IValidationError.java b/wicket-core/src/main/java/org/apache/wicket/validation/IValidationError.java
index 8f9e743..f7f4bdb 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/IValidationError.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/IValidationError.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.validation;
 
+import java.io.Serializable;
+
 import org.apache.wicket.util.io.IClusterable;
 
 /**
@@ -31,7 +33,7 @@ public interface IValidationError extends IClusterable
 	 * 
 	 * @param messageSource
 	 *            the message source
-	 * @return the error message <code>String</code>
+	 * @return the error message
 	 */
-	String getErrorMessage(IErrorMessageSource messageSource);
+	Serializable getErrorMessage(IErrorMessageSource messageSource);
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/cdcfcbdb/wicket-core/src/main/java/org/apache/wicket/validation/RawValidationError.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/RawValidationError.java b/wicket-core/src/main/java/org/apache/wicket/validation/RawValidationError.java
new file mode 100644
index 0000000..7b0b4e5
--- /dev/null
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/RawValidationError.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.validation;
+
+import java.io.Serializable;
+
+import org.apache.wicket.util.lang.Args;
+
+/**
+ * An IValidationError implementation that just keeps a Serializable
+ * error message. Use it with a custom FeedbackPanel implementation
+ * that knows how to render such error message.
+ *
+ * @since 6.0
+ * @see org.apache.wicket.Component#error(java.io.Serializable)
+ * @see org.apache.wicket.Session#error(java.io.Serializable)
+ * @see org.apache.wicket.markup.html.panel.FeedbackPanel
+ */
+public class RawValidationError implements IValidationError
+{
+	private final Serializable errorMessage;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param errorMessage
+	 *      the custom error message that will be rendered by a custom FeedbackPanel
+	 */
+	public RawValidationError(final Serializable errorMessage)
+	{
+		this.errorMessage = Args.notNull(errorMessage, "errorMessage");
+	}
+
+	@Override
+	public Serializable getErrorMessage(@SuppressWarnings("unused") IErrorMessageSource messageSource)
+	{
+		return errorMessage;
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/cdcfcbdb/wicket-core/src/main/java/org/apache/wicket/validation/ValidationError.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/ValidationError.java b/wicket-core/src/main/java/org/apache/wicket/validation/ValidationError.java
index 6cebe57..f9a2e8c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/ValidationError.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/ValidationError.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.validation;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -24,6 +25,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.apache.wicket.markup.html.form.ValidationErrorFeedback;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.Strings;
 
@@ -233,7 +235,7 @@ public final class ValidationError implements IValidationError
 	 * @see IValidationError#getErrorMessage(IErrorMessageSource)
 	 */
 	@Override
-	public final String getErrorMessage(IErrorMessageSource messageSource)
+	public final Serializable getErrorMessage(IErrorMessageSource messageSource)
 	{
 		String errorMessage = null;
 
@@ -262,7 +264,7 @@ public final class ValidationError implements IValidationError
 			final Map<String, Object> p = (vars != null) ? vars : EMPTY_VARS;
 			errorMessage = messageSource.substitute(errorMessage, p);
 		}
-		return errorMessage;
+		return new ValidationErrorFeedback(this, errorMessage);
 	}
 
 	/**