Description
This is for a SimpleApp based application with the Secman extension installed
Steps to reproduce
1. Log in as user with administrator (role: isis-module-security-admin)
2. Go to the user view (for admin user or any other user)
3. Select "updateName" button
4. Enter text in "Family Name" field; tab off
5. Stacktrace shown
This can also be repeated by doing the same with the "Given Name" field
FYI
An update can be successfully made by entering the three name fields in this order (before clicking OK):
1. Known As
2. Given Name
3. Family Name
Screenshot - About to enter Family name and tab off
Screenshot - Tab off Family Name field
Stack trace:
- java.lang.NullPointerException
- java.util.Objects#requireNonNull(Objects.java:203)
- java.util.Optional#<init>(Optional.java:96)
- java.util.Optional#of(Optional.java:108)
- java.util.stream.FindOps$FindSink$OfRef#get(FindOps.java:193)
- java.util.stream.FindOps$FindSink$OfRef#get(FindOps.java:190)
- java.util.stream.FindOps$FindOp#evaluateSequential(FindOps.java:152)
- java.util.stream.AbstractPipeline#evaluate(AbstractPipeline.java:234)
- java.util.stream.ReferencePipeline#findFirst(ReferencePipeline.java:531)
- org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod#getDefault(ActionParameterDefaultsFacetViaMethod.java:101)
- org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionParameterAbstract#findDefault(ObjectActionParameterAbstract.java:298)
- org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionParameterAbstract#getDefault(ObjectActionParameterAbstract.java:288)
- org.apache.isis.viewer.wicket.model.models.ScalarModel$Kind$2#getDefault(ScalarModel.java:430)
- org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2#updateIfNecessary(ScalarPanelAbstract2.java:169)
- org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersForm#onUpdate(ActionParametersForm.java:178)
- org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2$ScalarUpdatingBehavior#onUpdate(ScalarPanelAbstract2.java:561)
- org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior#onEvent(AjaxFormComponentUpdatingBehavior.java:158)
- org.apache.wicket.ajax.AjaxEventBehavior#respond(AjaxEventBehavior.java:127)
- org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#onRequest(AbstractDefaultAjaxBehavior.java:598)
- org.apache.wicket.core.request.handler.ListenerRequestHandler#internalInvoke(ListenerRequestHandler.java:306)
- org.apache.wicket.core.request.handler.ListenerRequestHandler#invoke(ListenerRequestHandler.java:280)
- org.apache.wicket.core.request.handler.ListenerRequestHandler#invokeListener(ListenerRequestHandler.java:222)
- org.apache.wicket.core.request.handler.ListenerRequestHandler#respond(ListenerRequestHandler.java:208)
- org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:914)
- org.apache.wicket.request.RequestHandlerExecutor#execute(RequestHandlerExecutor.java:65)
- org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:282)
- org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:253)
- org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:221)
- org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:275)
- org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:206)
- org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:299)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.apache.isis.core.webapp.modules.logonlog.IsisLogOnExceptionFilter#doFilter(IsisLogOnExceptionFilter.java:60)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.apache.tomcat.websocket.server.WsFilter#doFilter(WsFilter.java:53)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.springframework.web.filter.RequestContextFilter#doFilterInternal(RequestContextFilter.java:100)
- org.springframework.web.filter.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:119)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.springframework.web.filter.FormContentFilter#doFilterInternal(FormContentFilter.java:93)
- org.springframework.web.filter.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:119)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.springframework.boot.web.servlet.support.ErrorPageFilter#doFilter(ErrorPageFilter.java:128)
- org.springframework.boot.web.servlet.support.ErrorPageFilter#access$000(ErrorPageFilter.java:66)
- org.springframework.boot.web.servlet.support.ErrorPageFilter$1#doFilterInternal(ErrorPageFilter.java:103)
- org.springframework.web.filter.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:119)
- org.springframework.boot.web.servlet.support.ErrorPageFilter#doFilter(ErrorPageFilter.java:121)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.springframework.web.filter.CharacterEncodingFilter#doFilterInternal(CharacterEncodingFilter.java:201)
- org.springframework.web.filter.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:119)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)
- org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)
- org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)
- org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)
- org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:387)
- org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)
- org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)
- org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:193)
- org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:166)
- org.apache.catalina.core.StandardWrapperValve#invoke(StandardWrapperValve.java:202)
- org.apache.catalina.core.StandardContextValve#invoke(StandardContextValve.java:96)
- org.apache.catalina.authenticator.AuthenticatorBase#invoke(AuthenticatorBase.java:541)
- org.apache.catalina.core.StandardHostValve#invoke(StandardHostValve.java:139)
- org.apache.catalina.valves.ErrorReportValve#invoke(ErrorReportValve.java:92)
- org.apache.catalina.valves.AbstractAccessLogValve#invoke(AbstractAccessLogValve.java:690)
- org.apache.catalina.core.StandardEngineValve#invoke(StandardEngineValve.java:74)
- org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAdapter.java:343)
- org.apache.coyote.http11.Http11Processor#service(Http11Processor.java:373)
- org.apache.coyote.AbstractProcessorLight#process(AbstractProcessorLight.java:65)
- org.apache.coyote.AbstractProtocol$ConnectionHandler#process(AbstractProtocol.java:868)
- org.apache.tomcat.util.net.NioEndpoint$SocketProcessor#doRun(NioEndpoint.java:1589)
- org.apache.tomcat.util.net.SocketProcessorBase#run(SocketProcessorBase.java:49)
- java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPoolExecutor.java:1149)
- java.util.concurrent.ThreadPoolExecutor$Worker#run(ThreadPoolExecutor.java:624)
- org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#run(TaskThread.java:61)
- java.lang.Thread#run(Thread.java:748)