]> git.mxchange.org Git - jcore-utils.git/blobdiff - src/org/mxchange/jcoreee/validator/bool/BaseBooleanValidator.java
fixed tpzo
[jcore-utils.git] / src / org / mxchange / jcoreee / validator / bool / BaseBooleanValidator.java
index b67b5e79b562300888deeee0ce74623da22ee90f..7cbad80942bae6cf74643a9cbda25f280b946643 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Roland Haeder
+ * Copyright (C) 2016, 2017 Roland Häder
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 package org.mxchange.jcoreee.validator.bool;
 
 import java.text.MessageFormat;
-import java.util.Arrays;
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIInput;
@@ -29,35 +28,42 @@ import org.mxchange.jcoreee.validator.BaseObjectValidator;
 
 /**
  * A general boolean value validator.
- *
+ * <p>
  * @author BalusC
- * @author Roland Haeder
+ * @author Roland Häder<roland@mxchange.org>
  */
 public abstract class BaseBooleanValidator extends BaseObjectValidator implements Validator {
 
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 42_378_178_715_910_689L;
+
        @Override
-       public void preValidate (final FacesContext context, final UIComponent component, final Object value, final String[] requiredFields) throws ValidatorException {
+       public void preValidate (final FacesContext context, final UIComponent component, final Object value, final String[] requiredFields, Boolean allowNull) throws ValidatorException {
                // Trace message
-               this.getLogger().trace(MessageFormat.format("context={0},component={1},value={2},requiredFields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N
+               //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("preValidate: context={0},component={1},value={2},requiredFields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N
 
                // Pre-validate
-               super.preValidate(context, component, value, requiredFields);
+               super.preValidate(context, component, value, requiredFields, allowNull);
 
                // Get client id and init message + key
                String clientId = component.getClientId();
-               FacesMessage facesMessage = null;
+               String requiredMessage = null;
 
                // So far all fine, no check if the field is fine
                for (final String field : requiredFields) {
                        // Debug message
-                       this.getLogger().debug(MessageFormat.format("field={0},clientId={1}", field, clientId)); //NOI18N
+                       //this.getLogger().logDebug(MessageFormat.format("preValidate: field={0},clientId={1}", field, clientId)); //NOI18N
 
                        // Is it the same?
                        if (clientId.endsWith(field)) {
                                // Compare value's type
                                if (!(value instanceof Boolean)) {
+                                       // Generate message
+                                       requiredMessage = MessageFormat.format("Field {0} is not Boolean: {1}", field, value); //NOI18N
+
                                        // Value is not right type
-                                       facesMessage = new FacesMessage(this.getMessageStringFromKey(String.format("error.%s.is_not_boolean", field))); //NOI18N
                                        break;
                                }
 
@@ -67,7 +73,7 @@ public abstract class BaseBooleanValidator extends BaseObjectValidator implement
                                // Is it false?
                                if (bool.equals(Boolean.FALSE)) {
                                        // Default message
-                                       String requiredMessage = ((UIInput) component).getRequiredMessage();
+                                       requiredMessage = ((UIInput) component).getRequiredMessage();
 
                                        if (null == requiredMessage) {
                                                Object label = component.getAttributes().get("label"); //NOI18N
@@ -90,16 +96,16 @@ public abstract class BaseBooleanValidator extends BaseObjectValidator implement
                                        }
 
                                        // Abort processing here
-                                       facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, requiredMessage, requiredMessage);
                                        break;
                                }
                        }
                }
 
                // Is facesMessage set?
-               if (facesMessage != null) {
+               if (null != requiredMessage) {
                        // Abort here
-                       throw new ValidatorException(facesMessage);
+                       throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, requiredMessage, requiredMessage));
                }
        }
+
 }