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;
+import org.mxchange.jcoree.BaseEeSystem;
/**
* A general object validation class. Please implement javax.faces.validator.Validator
*
* @author Roland Haeder
*/
-public abstract class BaseObjectValidator extends BaseFrameworkSystem implements FrameworkInterface, Validator {
+public abstract class BaseObjectValidator extends BaseEeSystem implements Validator {
/**
* Needs to be implemented as the Validator interface needs to be implemented.
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
*/
protected void preValidate (final FacesContext context, final UIComponent component, final Object value, final String[] requiredFields) 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("context={0},component={1},value={2},requiredFields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N
// Init message and key
FacesMessage facesMessage = null;
// 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("field={0},clientId={1}", field, clientId)); //NOI18N
// Is it the same?
if (clientId.endsWith(field)) {
errKey = String.format("error.%s.is_null", field); //NOI18N
// Value it null
- facesMessage = new FacesMessage(this.getMessageStringFromKey(errKey));
+ facesMessage = new FacesMessage(BaseEeSystem.getMessageStringFromKey(errKey));
}
// Abort here
}
// Debug message
- this.getLogger().debug(MessageFormat.format("isValidField={0}", isValidField)); //NOI18N
+ this.getLogger().logDebug(MessageFormat.format("isValidField={0}", isValidField)); //NOI18N
// Valid field?
if (!isValidField) {
}
// Debug message
- this.getLogger().debug(MessageFormat.format("facesMessage={0}", facesMessage)); //NOI18N
+ this.getLogger().logDebug(MessageFormat.format("facesMessage={0}", facesMessage)); //NOI18N
// Is it not null?
if (null != facesMessage) {
}
// Trace message
- this.getLogger().trace("EXIT!"); //NOI18N
+ this.getLogger().logTrace("EXIT!"); //NOI18N
}
}