Validators don't get their dependencies injected automatically.

Your validator can extend Behavior for this to happen.

Have fun
Sven


Am 12. Juni 2017, 04:09, um 04:09, Sokab <[email protected]> schrieb:
>I wander why I can't return any method form repository inside
>Validator.I
>need to have all logins inside validator. All methods works properly in
>another classes but not in the validating class  (implemented
>IValidator).
>Someone knows why?
>
>
> public class LoginValidator implements IValidator<String>{
>
>    @Inject
>    UserBO userBO;
>
>private final List<String> existingLogins1 = userBO.findAllLogins(); //
>
><--- this not works only in this class ???
> private final List<String> allUsers = userBO.findAll(); // <-- another
>method like this also don't work
>    private final List<String> existingLogins2 = Arrays.asList("aaa",
>"bbb");
>
>    @Override
>    public void validate(IValidatable<String> validatable) {
>
>    }
>
>private void error(IValidatable<String> validatable, String errorKey) {
>        System.out.println("ERROR");
>    }
>
> }
>
>
> public class RegisterForm extends Form{
>    @Override
>    protected void onInitialize() {
>
>
>         User users = new User();
>        CompoundPropertyModel model = new CompoundPropertyModel(users);
>         this.setModel(model);
>
>         RequiredTextField login = new RequiredTextField("login");
>         //login.add(new LoginValidator());
>
>          ......
>    }
> }
>
>When i redirect page to the registration immediately an error is
>displayed:
>
>Unexpected RuntimeException
>Last cause: null
>
>Root cause:
>
>java.lang.NullPointerException
>     at
>pl.mnlabs.superleague.Validators.LoginValidator.<init>(LoginValidator.java:21)
>     at
>pl.mnlabs.superleague.page.registration.RegisterForm.onInitialize(RegisterForm.java:54)
>     at org.apache.wicket.Component.fireInitialize(Component.java:878)
>     at
>org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1048)
>     at
>org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1025)
>     at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:239)
>     at
>pl.mnlabs.superleague.page.registration.SuperLeagueRegistrationPage.onInitialize(SuperLeagueRegistrationPage.java:26)
>     at org.apache.wicket.Component.fireInitialize(Component.java:878)
>     at
>org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1048)
>     at org.apache.wicket.Page.isPageStateless(Page.java:459)
>     at
>org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:287)
>     at
>org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:333)
>     at
>org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:193)
>     at
>org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
>     at
>org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912)
>     at
>org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>     at
>org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283)
>     at
>org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>     at
>org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>     at
>org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:262)
>     at
>org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204)
>     at
>org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286)
>     at
>io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
>     at
>io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
>     at
>io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
>     at
>io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
>     at
>io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
>     at
>org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
>     at
>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>     at
>io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
>     at
>io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
>     at
>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>     at
>io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
>     at
>io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
>     at
>io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
>     at
>io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
>     at
>io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
>     at
>io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
>     at
>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>     at
>org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
>     at
>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>     at
>io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
>     at
>io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
>     at
>io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
>     at
>io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
>     at
>io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
>     at
>io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
>     at
>io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
>     at
>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>     at
>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>     at java.lang.Thread.run(Thread.java:748)
>
>
>
>--
>View this message in context:
>http://apache-wicket.1842946.n4.nabble.com/Problem-with-return-method-inside-validating-class-tp4678020.html
>Sent from the Users forum mailing list archive at Nabble.com.
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [email protected]
>For additional commands, e-mail: [email protected]

Reply via email to