Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-3348

Form databinding Not working for Map

    Details

    • Type: Bug
    • Status: Open
    • Priority: Blocker
    • Resolution: Unresolved
    • Affects Version/s: 8.0.1
    • Fix Version/s: None
    • Component/s: Databind 2
    • Labels:

      Description

      i'm trying to use http://books.zkoss.org/zk-mvvm-book/8.0/data_binding/form_binding.html on a List<Map> for implement an editable listbox;

      I try several variants but with ZK 8 the proxy mechanism for Map it's broken!

      i try to do the same with ZK 7 and it works!

      1. zk8bug.txt
        9 kB
        icecuber
      1. zk8bug.png
        15 kB

        Activity

        Hide
        icecuber icecuber added a comment -

        Same sample project, the ZK7 version is working, the other one throws exception

        Show
        icecuber icecuber added a comment - Same sample project, the ZK7 version is working, the other one throws exception
        Hide
        icecuber icecuber added a comment -

        Screen shot of the problem stacktrace

        java.lang.StringIndexOutOfBoundsException: String index out of range: 0
        at java.lang.String.charAt(String.java:658) ~[na:1.7.0_80]
        at org.zkoss.bind.proxy.BeanProxyHandler.toAttrName(BeanProxyHandler.java:243) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.proxy.BeanProxyHandler.toAttrName(BeanProxyHandler.java:248) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.proxy.BeanProxyHandler.invoke(BeanProxyHandler.java:181) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.proxy.FormProxyHandler.invoke(FormProxyHandler.java:191) ~[zkbind-8.0.3.jar:8.0.3]
        at org.springframework.util.LinkedCaseInsensitiveMap_$$jvst90b_0.get(LinkedCaseInsensitiveMap$$_jvst90b_0.java) ~[spring-core-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.zkoss.zel.MapELResolver.getValue(MapELResolver.java:66) ~[zel-8.0.3.jar:8.0.3]
        at org.zkoss.zel.CompositeELResolver.getValue(CompositeELResolver.java:66) ~[zel-8.0.3.jar:8.0.3]
        at org.zkoss.zel.CompositeELResolver.getValue(CompositeELResolver.java:66) ~[zel-8.0.3.jar:8.0.3]
        at org.zkoss.xel.zel.XelELResolver.getValue(XelELResolver.java:99) ~[zcommon-8.0.3.jar:8.0.3]
        at org.zkoss.bind.xel.zel.BindELResolver.getValue(BindELResolver.java:121) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.zel.impl.parser.AstValue.getValue(AstValue.java:188) ~[zel-8.0.3.jar:8.0.3]
        at org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) ~[zel-8.0.3.jar:8.0.3]
        at org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:41) ~[zcommon-8.0.3.jar:8.0.3]
        at org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:46) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.impl.LoadPropertyBindingImpl.load(LoadPropertyBindingImpl.java:58) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.impl.BinderImpl.doPropertyChange0(BinderImpl.java:452) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.impl.BinderImpl.doPropertyChange(BinderImpl.java:427) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.impl.BinderImpl.access$300(BinderImpl.java:129) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.bind.impl.BinderImpl$QueueListener.onEvent(BinderImpl.java:386) ~[zkbind-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.event.impl.DesktopEventQueue$QueueListener.onEvent(DesktopEventQueue.java:168) ~[zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3163) ~[zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3133) ~[zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3075) ~[zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138) ~[zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1853) [zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1625) [zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:548) [zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:369) [zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:211) [zk-8.0.3.jar:8.0.3]
        at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:137) [zk-8.0.3.jar:8.0.3]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:105) [spring-boot-actuator-1.4.0.RELEASE.jar:1.4.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77) [grails-web-mvc-3.2.0.jar:3.2.0]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67) [grails-web-mvc-3.2.0.jar:3.2.0]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:107) [spring-boot-actuator-1.4.0.RELEASE.jar:1.4.0.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_80]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_80]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-7.0.70.jar:7.0.70]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]

        Show
        icecuber icecuber added a comment - Screen shot of the problem stacktrace java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(String.java:658) ~ [na:1.7.0_80] at org.zkoss.bind.proxy.BeanProxyHandler.toAttrName(BeanProxyHandler.java:243) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.proxy.BeanProxyHandler.toAttrName(BeanProxyHandler.java:248) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.proxy.BeanProxyHandler.invoke(BeanProxyHandler.java:181) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.proxy.FormProxyHandler.invoke(FormProxyHandler.java:191) ~ [zkbind-8.0.3.jar:8.0.3] at org.springframework.util.LinkedCaseInsensitiveMap_$$ jvst90b_0.get(LinkedCaseInsensitiveMap $$_jvst90b_0.java) ~ [spring-core-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.zkoss.zel.MapELResolver.getValue(MapELResolver.java:66) ~ [zel-8.0.3.jar:8.0.3] at org.zkoss.zel.CompositeELResolver.getValue(CompositeELResolver.java:66) ~ [zel-8.0.3.jar:8.0.3] at org.zkoss.zel.CompositeELResolver.getValue(CompositeELResolver.java:66) ~ [zel-8.0.3.jar:8.0.3] at org.zkoss.xel.zel.XelELResolver.getValue(XelELResolver.java:99) ~ [zcommon-8.0.3.jar:8.0.3] at org.zkoss.bind.xel.zel.BindELResolver.getValue(BindELResolver.java:121) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.zel.impl.parser.AstValue.getValue(AstValue.java:188) ~ [zel-8.0.3.jar:8.0.3] at org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) ~ [zel-8.0.3.jar:8.0.3] at org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:41) ~ [zcommon-8.0.3.jar:8.0.3] at org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:46) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.impl.LoadPropertyBindingImpl.load(LoadPropertyBindingImpl.java:58) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.impl.BinderImpl.doPropertyChange0(BinderImpl.java:452) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.impl.BinderImpl.doPropertyChange(BinderImpl.java:427) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.impl.BinderImpl.access$300(BinderImpl.java:129) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.bind.impl.BinderImpl$QueueListener.onEvent(BinderImpl.java:386) ~ [zkbind-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.event.impl.DesktopEventQueue$QueueListener.onEvent(DesktopEventQueue.java:168) ~ [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3163) ~ [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3133) ~ [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3075) ~ [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138) ~ [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1853) [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1625) [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:548) [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:369) [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:211) [zk-8.0.3.jar:8.0.3] at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:137) [zk-8.0.3.jar:8.0.3] at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) [tomcat-embed-core-7.0.70.jar:7.0.70] at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) [spring-boot-1.4.0.RELEASE.jar:1.4.0.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:105) [spring-boot-actuator-1.4.0.RELEASE.jar:1.4.0.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77) [grails-web-mvc-3.2.0.jar:3.2.0] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67) [grails-web-mvc-3.2.0.jar:3.2.0] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:107) [spring-boot-actuator-1.4.0.RELEASE.jar:1.4.0.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756) [tomcat-embed-core-7.0.70.jar:7.0.70] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715) [tomcat-embed-core-7.0.70.jar:7.0.70] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_80] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_80] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-7.0.70.jar:7.0.70] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]
        Hide
        fse fse added a comment -

        issue seems to be that map is used as root form (proxy) object. as work around you could wrap the map with a bean.

        Show
        fse fse added a comment - issue seems to be that map is used as root form (proxy) object. as work around you could wrap the map with a bean.
        Hide
        icecuber icecuber added a comment -

        new ZK8 proxy mechanisms claims to support Maps while in fact support only bean,

        can't wait no more, didn't like to wrap in bean (we are working with result-set from db, no bean)
        i've implemented a work around using
        http://docs.groovy-lang.org/latest/html/api/groovy/util/ObservableMap.html
        and i like it!

        Show
        icecuber icecuber added a comment - new ZK8 proxy mechanisms claims to support Maps while in fact support only bean, can't wait no more, didn't like to wrap in bean (we are working with result-set from db, no bean) i've implemented a work around using http://docs.groovy-lang.org/latest/html/api/groovy/util/ObservableMap.html and i like it!
        Hide
        fse fse added a comment -

        FormProxyHandler extends BeanProxyHandler and therefore root proxy object can only be bean.

        My problem is even worse because I have a mixture of map and bean (bean extends map).
        Thus, both MapProxyHandler AND BeanProxyHandler should be applied on a proxy object.

        Show
        fse fse added a comment - FormProxyHandler extends BeanProxyHandler and therefore root proxy object can only be bean. My problem is even worse because I have a mixture of map and bean (bean extends map). Thus, both MapProxyHandler AND BeanProxyHandler should be applied on a proxy object.

          People

          • Assignee:
            DevChu DevChu
            Reporter:
            icecuber icecuber
          • Votes:
            4 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated: