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]>
