X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Forg%2Fmxchange%2Fjcoreee%2Fvalidator%2FBaseObjectValidator.java;h=1e27a4d79c2876b68be1112c8e7e32950fa3be4f;hb=55c52749914ad50c736e4ace7f2e11595ba5b5c1;hp=ca021aa62a6feff804be33f1987e0722f10fd665;hpb=fc59334a1b9492d3781d9c14ee9b0be322f438dc;p=jcoreee.git diff --git a/src/org/mxchange/jcoreee/validator/BaseObjectValidator.java b/src/org/mxchange/jcoreee/validator/BaseObjectValidator.java index ca021aa..1e27a4d 100644 --- a/src/org/mxchange/jcoreee/validator/BaseObjectValidator.java +++ b/src/org/mxchange/jcoreee/validator/BaseObjectValidator.java @@ -16,69 +16,62 @@ */ package org.mxchange.jcoreee.validator; +import java.io.Serializable; import java.text.MessageFormat; -import java.util.Arrays; -import java.util.ResourceBundle; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.Validator; import javax.faces.validator.ValidatorException; -import org.mxchange.jcore.BaseFrameworkSystem; -import org.mxchange.jcore.FrameworkInterface; /** - * A general object validation class. Please implement javax.faces.validator.Validator - * (with import line!) and call preValidate(). You also may want to try out some - * other BaseFooValidator classes before directly inheriting from this class. - * - * @author Roland Haeder + * A general object validation class. Please implement + * javax.faces.validator.Validator (with import line!) and call preValidate(). + * You also may want to try out some other BaseFooValidator classes before + * directly inheriting from this class. + *

+ * @author Roland Haeder */ -public abstract class BaseObjectValidator extends BaseFrameworkSystem implements FrameworkInterface, Validator { +public abstract class BaseObjectValidator implements Validator, Serializable { + + /** + * Serial number + */ + private static final long serialVersionUID = 48_574_878_176_939_512L; /** - * Needs to be implemented as the Validator interface needs to be implemented. - * + * Needs to be implemented as the Validator interface needs to be + * implemented. + *

* @param context * @param component * @param value - * @throws ValidatorException + *

+ * @throws ValidatorException */ @Override abstract public void validate (final FacesContext context, final UIComponent component, final Object value) throws ValidatorException; /** - * Initializes resource bundle - * - * @param FacesContext instance - */ - private void initResourceBundle (final FacesContext context) { - // Is it set? - if (null == this.getBundle()) { - // Set it now - setBundle(ResourceBundle.getBundle("org.mxchange.localization.bundle", context.getViewRoot().getLocale())); - } - } - - /** - * Pre-validation of value, e.g. not null - * + * The method pre-validates the given value. It makes sure that the + * component's id is found in requiredFields and is not null. Once the + * component's id has been found, it stops iteration on requiredFields + * (which saves execution time). + *

* @param context FacesContext instance * @param component UIComponent instance * @param value Value to check * @param requiredFields Array of required field names (ending with) + * @param allowNull Wether null or empty values are allowed + *

* @throws ValidatorException If something more horrible went wrong */ - protected void preValidate (final FacesContext context, final UIComponent component, final Object value, final String[] requiredFields) throws ValidatorException { + protected 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 - - // Set resource bundle - this.initResourceBundle(context); + //this.getLogger().logTrace(MessageFormat.format("preValidate: context={0},component={1},value={2},requiredFields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N // Init message and key FacesMessage facesMessage = null; - String errKey = "error.unknown_id"; //NOI18N // Get client id final String clientId = component.getClientId(); @@ -86,9 +79,10 @@ public abstract class BaseObjectValidator extends BaseFrameworkSystem implements // Default is no field is valid boolean isValidField = false; + // Check component's id against required fields and find a match for (final String field : requiredFields) { // Get logger - 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)) { @@ -96,11 +90,9 @@ public abstract class BaseObjectValidator extends BaseFrameworkSystem implements isValidField = true; // Is it null? - if (null == value) { - errKey = String.format("error.%s.is_null", field); //NOI18N - + if ((!allowNull) && (null == value)) { // Value it null - facesMessage = new FacesMessage(this.getMessageStringFromKey(errKey)); + facesMessage = new FacesMessage(MessageFormat.format("Field {0} is null.", field)); //NOI18N } // Abort here @@ -109,23 +101,21 @@ public abstract class BaseObjectValidator extends BaseFrameworkSystem implements } // Debug message - this.getLogger().debug(MessageFormat.format("isValidField={0}", isValidField)); //NOI18N - + //this.getLogger().logDebug(MessageFormat.format("preValidate: isValidField={0}", isValidField)); //NOI18N // Valid field? if (!isValidField) { // Invalid field - facesMessage = new FacesMessage(MessageFormat.format(errKey, clientId)); + facesMessage = new FacesMessage(MessageFormat.format("Valure {0} for clientId={1} is not valid/unexpected.", value, clientId)); //NOI18N } // Debug message - this.getLogger().debug(MessageFormat.format("facesMessage={0}", facesMessage)); //NOI18N - + //this.getLogger().logDebug(MessageFormat.format("preValidate: facesMessage={0}", facesMessage)); //NOI18N // Is it not null? if (null != facesMessage) { throw new ValidatorException(facesMessage); } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + //this.getLogger().logTrace("preValidate: EXIT!"); //NOI18N } }