I was looking at bean validation, and not only is it overkill for our
situation, but I don't know how well it would work either.

On 15 September 2014 05:50, Gary Gregory <[email protected]> wrote:

> I don't about this... I feel we need to discuss this before we reinvent
> the bean validation JSR wheel and Hibernate Validator or some other
> implementation. Why are we forcing users to learn another framework instead
> of using a standard? This is almost -1 territory... I feel we need to clean
> up the builder pattern mess before we make another decision on plugins...
>
> Gary
>
>
> -------- Original message --------
> From: [email protected]
> Date:09/14/2014 23:34 (GMT-05:00)
> To: [email protected]
> Subject: [2/8] git commit: Add validation message to @RequiresNonNull.
>
> Add validation message to @RequiresNonNull.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit:
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/20e739a5
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/20e739a5
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/20e739a5
>
> Branch: refs/heads/master
> Commit: 20e739a5308023e4f5b03a49ea12f473193dcbea
> Parents: 84e7fed
> Author: Matt Sicker <[email protected]>
> Authored: Sun Sep 14 20:26:48 2014 -0500
> Committer: Matt Sicker <[email protected]>
> Committed: Sun Sep 14 20:26:48 2014 -0500
>
> ----------------------------------------------------------------------
> .../validation/constraints/RequiresNonNull.java       |  5 +++++
> .../validators/RequiresNonNullValidator.java          | 14 +++++++++++++-
> 2 files changed, 18 insertions(+), 1 deletion(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/20e739a5/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/constraints/RequiresNonNull.java
> ----------------------------------------------------------------------
> diff --git
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/constraints/RequiresNonNull.java
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/constraints/RequiresNonNull.java
> index b3ef11d..7eb83e2 100644
> ---
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/constraints/RequiresNonNull.java
> +++
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/constraints/RequiresNonNull.java
> @@ -36,4 +36,9 @@ import
> org.apache.logging.log4j.core.config.plugins.validation.validators.Requir
> @Target({ElementType.FIELD, ElementType.PARAMETER})
> @Constraint(RequiresNonNullValidator.class)
> public @interface RequiresNonNull {
> +
> +    /**
> +     * The message to be logged if this constraint is violated. This
> should normally be overridden.
> +     */
> +    String message() default "The parameter is null";
> }
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/20e739a5/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/validators/RequiresNonNullValidator.java
> ----------------------------------------------------------------------
> diff --git
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/validators/RequiresNonNullValidator.java
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/validators/RequiresNonNullValidator.java
> index 49c5806..9a39d4d 100644
> ---
> a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/validators/RequiresNonNullValidator.java
> +++
> b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/validation/validators/RequiresNonNullValidator.java
> @@ -16,8 +16,10 @@
>   */
> package org.apache.logging.log4j.core.config.plugins.validation.validators;
>
> +import org.apache.logging.log4j.Logger;
> import
> org.apache.logging.log4j.core.config.plugins.validation.ConstraintValidator;
> import
> org.apache.logging.log4j.core.config.plugins.validation.constraints.RequiresNonNull;
> +import org.apache.logging.log4j.status.StatusLogger;
>
> /**
>   * Validator implementation for {@link RequiresNonNull}.
> @@ -25,12 +27,22 @@ import
> org.apache.logging.log4j.core.config.plugins.validation.constraints.Requi
>   * @since 2.1
>   */
> public class RequiresNonNullValidator implements
> ConstraintValidator<RequiresNonNull, Object> {
> +
> +    private static final Logger LOGGER = StatusLogger.getLogger();
> +
> +    private RequiresNonNull annotation;
> +
>      @Override
>      public void initialize(final RequiresNonNull annotation) {
> +        this.annotation = annotation;
>      }
>
>      @Override
>      public boolean isValid(final Object value) {
> -        return value != null;
> +        if (value != null) {
> +            return true;
> +        }
> +        LOGGER.error(annotation.message());
> +        return false;
>      }
> }
>
>


-- 
Matt Sicker <[email protected]>

Reply via email to