/*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2018 Free Software Foundation
*
* 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
package org.mxchange.jjobs.validator.user;
import java.text.MessageFormat;
+import javax.enterprise.inject.spi.CDI;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.ValidatorException;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
import org.mxchange.jcoreee.validator.number.BaseNumberValidator;
import org.mxchange.jjobs.beans.user.JobsUserWebRequestBean;
import org.mxchange.jjobs.beans.user.JobsUserWebRequestController;
@Override
public void validate (final FacesContext context, final UIComponent component, final Object value) throws ValidatorException {
- // Is the instance there?
- if (USER_CONTROLLER == null) {
- try {
- // Not yet, attempt lookup
- final Context initial = new InitialContext();
-
- // Lookup EJB
- USER_CONTROLLER = (JobsUserWebRequestController) initial.lookup(String.format("java:module/%s", JobsUserWebRequestBean.class.getSimpleName()));
- } catch (final NamingException ex) {
- // Throw it again
- throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Cannot lookup backing bean", ex.getMessage()), ex);
- }
- }
-
// All accepted, required fields
final String[] requiredFields = {"userId"}; //NOI18N
// Pre-validation (example: not null, not a string, empty string ...)
super.preValidate(context, component, value, requiredFields, false);
+ // Is the instance there?
+ if (null == USER_CONTROLLER) {
+ // Get bean from CDI directly
+ USER_CONTROLLER = CDI.current().select(JobsUserWebRequestBean.class).get();
+ }
+
// Cast value
final Long userId = (Long) value;