Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-6197

NPE when a field is not mandatory but have a validator

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Trivial Trivial
    • None
    • 5.3.8
    • templating
    • None

      Please delete

      Sometimes a field is not mandatory (e.g. Phone Number), but still has to be checked and validated with a custom validator.

      When this field is not mandatory, a NPE is thrown. See Stacktrace.

      May 07, 2015 11:04:59 AM com.vaadin.server.DefaultErrorHandler doDefault
      SEVERE:
      java.lang.NullPointerException
      at ch.esense.test.validators.anchor.AnchorValidator.isValidValue(AnchorValidator.java:64)
      at ch.esense.test.validators.anchor.AnchorValidator.isValidValue(AnchorValidator.java:1)
      at com.vaadin.data.validator.AbstractValidator.validate(AbstractValidator.java:100)
      at com.vaadin.ui.AbstractField.validate(AbstractField.java:962)
      at com.vaadin.ui.AbstractField.validate(AbstractField.java:927)
      at com.vaadin.ui.AbstractField.getErrorMessage(AbstractField.java:1036)
      at com.vaadin.ui.AbstractComponent.beforeClientResponse(AbstractComponent.java:671)
      at com.vaadin.ui.AbstractField.beforeClientResponse(AbstractField.java:1694)
      at com.vaadin.ui.AbstractTextField.beforeClientResponse(AbstractTextField.java:100)
      at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:96)
      at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:149)
      at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:97)
      at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
      at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371)
      at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
      at info.magnolia.ui.admincentral.AdmincentralVaadinServlet.service(AdmincentralVaadinServlet.java:136)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:148)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:68)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58)
      at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:66)
      at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:152)
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:73)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:84)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:83)
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94)
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.module.templatingkit.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:112)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:73)
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
      at info.magnolia.module.devicedetection.filter.DeviceDetectionFilter.doFilter(DeviceDetectionFilter.java:71)
      at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:58)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:112)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:129)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:80)
      at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
      at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
      at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:106)
      at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:66)
      at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:107)
      at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:93)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
      at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:122)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
      at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:171)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:745)

        Acceptance criteria

              Unassigned Unassigned
              tomwespi Tom Wespi
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD