Ошибка после обновления платформы с 6.10.2 на 6.10.4 и более (до 6.10.15), по редактированию пользователей

Привет, пытаюсь понять в чем проблема, после установки обновления платформы, пытаюсь редактировать пользователей, ругается на
activeField.setEnabled(!userManagementService.isAnonymousUser(getItem().getLogin()));
где activeField = null, в UserEditor, и выдаёт следующий exception: (см ниже), возможно это как то связанно с появлением “isAnonymousUser” после выполнения LocalServiceInvocationResult, result.setData(SerializationSupport.serialize(data)); возвращается False, как мне это исправить ведь весь цикл выполнения проходит через исходники (и они являются не редактируемыми да их и не надо по идее редактировать)? Может у вас было что то похожее? в какую сторону копать? Как я могу передать, параметры если все эти вещи внутри исходников отрабатывают?
Единственное что нашел на форумах, это


предположение что пароль надо шифровать? тогда на каком этапе?

Спасибо!

Лог:
11:19:37.098 WARN c.h.c.g.ControllerDependencyInjector - CDI - Unable to find an instance of type ‘interface com.haulmont.cuba.gui.components.CheckBox’ named ‘fieldGroupRight.active’ declared in ‘com.haulmont.cuba.gui.app.security.user.edit.UserEditor’ for instance of ‘com.groupstp.supply.web.user.ExtUserEditor’
11:19:37.626 ERROR com.haulmont.cuba.web.log.AppLog - Exception in com.haulmont.cuba.web.toolkit.ui.CubaButton:
com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method click in com.vaadin.shared.ui.button.ButtonServerRpc
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:160) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:444) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:409) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1435) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:361) [vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.haulmont.cuba.web.sys.CubaApplicationServlet.serviceAppRequest(CubaApplicationServlet.java:324) [cuba-web-6.10.15.jar:6.10.15]
at com.haulmont.cuba.web.sys.CubaApplicationServlet.service(CubaApplicationServlet.java:210) [cuba-web-6.10.15.jar:6.10.15]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.33]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.33]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.33]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:107) [spring-web-4.3.23.RELEASE.jar:4.3.23.RELEASE]
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:73) [spring-web-4.3.23.RELEASE.jar:4.3.23.RELEASE]
at com.haulmont.cuba.web.sys.CubaHttpFilter.doFilter(CubaHttpFilter.java:107) [cuba-web-6.10.15.jar:6.10.15]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.33]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [catalina.jar:8.5.33]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.33]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) [catalina.jar:8.5.33]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.33]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.33]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) [catalina.jar:8.5.33]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.33]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [catalina.jar:8.5.33]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) [tomcat-coyote.jar:8.5.33]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.33]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) [tomcat-coyote.jar:8.5.33]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) [tomcat-coyote.jar:8.5.33]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.33]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_241]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.33]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_241]
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_241]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_241]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_241]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_241]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
… 38 common frames omitted
Caused by: com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in com.haulmont.cuba.web.gui.components.WebButton$$Lambda$148/508349829 failed.
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:530) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1037) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.vaadin.ui.Button.fireClick(Button.java:377) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
at com.haulmont.cuba.web.toolkit.ui.CubaButton.fireClick(CubaButton.java:69) ~[cuba-web-6.10.15.jar:6.10.15]
at com.vaadin.ui.Button$1.click(Button.java:54) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
… 43 common frames omitted
Caused by: java.lang.NullPointerException: null
at com.haulmont.cuba.gui.app.security.user.edit.UserEditor.postInit(UserEditor.java:214) ~[cuba-gui-6.10.15.jar:6.10.15]
at com.haulmont.cuba.gui.components.AbstractEditor.setItem(AbstractEditor.java:72) ~[cuba-gui-6.10.15.jar:6.10.15]
at com.haulmont.cuba.gui.WindowManager.openEditor(WindowManager.java:893) ~[cuba-gui-6.10.15.jar:6.10.15]
at com.haulmont.cuba.web.WebWindowManager.openEditor(WebWindowManager.java:178) ~[cuba-web-6.10.15.jar:6.10.15]
at com.haulmont.cuba.gui.components.WindowDelegate.openEditor(WindowDelegate.java:260) ~[cuba-gui-6.10.15.jar:6.10.15]
at com.haulmont.cuba.web.gui.WebWindow.openEditor(WebWindow.java:497) ~[cuba-web-6.10.15.jar:6.10.15]
at com.haulmont.cuba.gui.components.actions.EditAction.internalOpenEditor(EditAction.java:274) ~[cuba-gui-6.10.15.jar:6.10.15]
at com.haulmont.cuba.gui.components.actions.EditAction.actionPerform(EditAction.java:223) ~[cuba-gui-6.10.15.jar:6.10.15]
at com.haulmont.cuba.web.gui.components.WebButton.performAction(WebButton.java:46) ~[cuba-web-6.10.15.jar:6.10.15]
at com.haulmont.cuba.web.gui.components.WebButton.lambda$new$61446b05$1(WebButton.java:38) ~[cuba-web-6.10.15.jar:6.10.15]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_241]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_241]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_241]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_241]
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510) ~[vaadin-server-7.7.15.cuba.11.jar:7.7.15.cuba.11]
… 49 common frames omitted

p.s. я новичек строго не судите, спасибо.

Добрый день,
Судя по стектрейсу ошибки, у вас в проекте переопределен экран UserEditor - это класс com.groupstp.supply.web.user.ExtUserEditor.

Кроме того, видимо у вас там поменяна верстка экрана, и поле “active” из fieldgroup “fieldGroupRight” отсутствует.
Об этом нам и говорит это сообщение:

11:19:37.098 WARN c.h.c.g.ControllerDependencyInjector - CDI - Unable to find an instance of type ‘interface com.haulmont.cuba.gui.components.CheckBox’ named ‘fieldGroupRight.active’ declared in ‘com.haulmont.cuba.gui.app.security.user.edit.UserEditor’ for instance of ‘com.groupstp.supply.web.user.ExtUserEditor’

Так как код в UserEditor рассчитан на то, что данное поле должно присутствовать в верстке, он падает с NullPointerException.

Вам нужно доработать код в ExtUserEditor или его верстку:
а) поправить верстку, чтобы чек-бокс active был там где он должен быть
б) или в коде ExtUserEditor, где-нибудь в postInit() просто присвоить новое значение переменной activeField. Как я вижу, это приватное поле, но с помощью Java Reflection значение переменной все равно можно поменять.

В такой поломке нет ничего необычного. Если вы переопределяете или расширяете классы CUBA для своих целей, то вы привязываетесь к внутренним деталям реализации. Будьте готовы к тому, что обновление на новую версию платформы может принести вам определенную головную боль из-за изменений в коде CUBA.

2 симпатии