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);
}
/**