0

Combobox throws unusual exception

asked 2014-10-14 08:21:30 +0800

tugrulaslan gravatar image tugrulaslan
1

updated 2014-10-14 08:22:24 +0800

Hello Guys

I have been having this issue with combobox throwing unusual exception out of no where, it worked flawlessly still does, when a user chooses something out of combobox, it throws an exception. When I used to face this issue before, I just removed the ZK libraries and readded then it worked without this issue. The zul page, controller and thrown exception located below. I need your assistance in this issue. P.S. I Use zk 7.0.2 EE and tomcat ibm websphere servers

Thanks

Screenshot imagesup.net/?di=214132710474

.zul page

<?page title="Izleme Ekrani" contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<zk>
    <include src="/layout/banner.zul" />
        <window title="Izleme Ekrani"
            apply="com.akbank.controller.TracingController" border="normal"
            width="800px">
            <grid id="form" height="135px">
            <columns>
            <column width="150px" />
            <column width="600px" />
            </columns>
                <rows>
                    <row>
                        <label value="Sicile Gore" />
                        <textbox id="sicil"/>
                    </row>
                    <row>
                        <label value="Yetki Grubuna Gore"></label>
                        <combobox id="authGroup" model="${$composer.userAuthList()}" autocomplete="true" width="580px" autodrop="true" instant="true">
                        <comboitem label="${each}" value="${each}" />
                        </combobox>
                    </row>
                    <row>
                        <label value="Universe Gore" />
                        <combobox id="universeGrubu" model="${$composer.userUniverseList()}" autocomplete="true" width="580px" autodrop="true" instant="true">
                        <comboitem label="${each}" value="${each}"></comboitem>
                        </combobox>
                    </row>
                </rows>
            </grid>
        </window>
</zk>

controller

@VariableResolver(org.zkoss.zkplus.spring.DelegatingVariableResolver.class)
public class TracingController extends SelectorComposer<Component> {

    @WireVariable
    private BusinessObjectsService businessObjectsService;

    @WireVariable
    private DatabaseService databaseService;

    @Wire
    Textbox sicil;
    @Wire
    Combobox authGroup;
    @Wire
    Combobox universeGrubu;

    /*
     * This listener stands for acquiring textbox value and listening key event
     */
    @Listen("onOK = #sicil")
    public void sicilProcess(KeyEvent keyEvent) {

        List personnelList;
        /*
         * get the user search value check user existence
         */

        if (businessObjectsService.checkUserExistence(sicil.getValue())) {
            /*
             * the user has been registered Clear the sicil value
             */
            Clients.showBusy("");
            Sessions.getCurrent().setAttribute("sicil", sicil.getValue());
            Executions.sendRedirect("traceUser.zul");
        } else {
            /*
             * create the user fetch the user data
             */
            personnelList = databaseService.getUserData(sicil
                    .getValue());
            // check the user is available on database
            if (personnelList.size() == 0 || personnelList == null) {
                /*
                 * print the error message that the user is not found on HR
                 * database display message box and display the error message
                 */
                Clients.showNotification(sicil.getValue()
                        + " sicili veri tabaninda kayitli degil", "error",
                        sicil, "bottom_center", 3000);
                sicil.setValue("");
            } else {
                Clients.showNotification(sicil.getValue()
                        + " sicili kayitli degil", "warning", sicil,
                        "bottom_center", 3000);
            }
        }
    }

    /*
     * This listener stands for acquiring combobox value and listening key event
     */
    @Listen("onOK = #authGroup")
    public void authGroupProcess() {
        if (businessObjectsService.checkGroupExistence(authGroup.getValue())) {
            /*
             * the group exists
             */
            /*Clients.showNotification("yonlendiriliyorsunuz...", "info", authGroup,
                    "bottom_center", 11000);*/
            Clients.showBusy("");
            Sessions.getCurrent().setAttribute("authGroup", authGroup.getValue());
            Executions.sendRedirect("traceAuthGroup.zul");
        } else {
            Clients.showNotification(authGroup.getValue() + " yetki grubu mevcut degil",
                    "warning", authGroup, "bottom_center", 3000);
        }
    }

    @Listen("onOK = #universeGrubu")
    public void universeProcess() {
        if (businessObjectsService.checkGroupExistence(universeGrubu.getValue())) {
            /*
             * the group exists
             */
            /*Clients.showNotification("yonlendiriliyorsunuz...", "info", authGroup,
                    "bottom_center", 11000);*/
            Clients.showBusy("");
            Sessions.getCurrent().setAttribute("universe", universeGrubu.getValue());
            Executions.sendRedirect("traceUniverse.zul");
        } else {
            Clients.showNotification(universeGrubu.getValue() + " universe mevcut degil",
                    "warning", universeGrubu, "bottom_center", 3000);
        }
    }

    /*
     * This function collects the auth groups under GRP_PAX_STANDARD_USER
     * Universe on Business Objects Server and returns a SimpleListModel to be
     * obtained by a Listbox in View
     */
    public ListModelList<String> userAuthList() {
        ArrayList<String> userAuthListString = new ArrayList<String>();
        userAuthListString = businessObjectsService
                .collectAuthorizationGroups();
        ListModelList<String> authList = new ListModelList<String>(
                userAuthListString);
        return authList;
    }

    /*
     * This function collects exist Universes under GRP_UNI_ALL Universe on
     * Business Objects Server and returns a ListModelList to be obtained by a
     * Listbox in View
     */
    public ListModelList<String> userUniverseList() {
        ArrayList<String> userUniverseListString = new ArrayList<String>();
        userUniverseListString = businessObjectsService.collectUniverses();
        ListModelList<String> universeList = new ListModelList<String>(
                userUniverseListString);
        return universeList;
    }

}

Thrown Exception 10:19:36.770 [http-8080-2] ERROR org.zkoss.zk.ui.impl.UiEngineImpl - java.lang.AbstractMethodError: org.zkoss.zul.Combobox$4.getUnselectedItems()Ljava/util/Set; at org.zkoss.zk.ui.event.SelectEvent.getSelectEvent(SelectEvent.java:80) at org.zkoss.zul.Combobox.service(Combobox.java:765) at org.zkoss.zk.ui.impl.DesktopImpl.service(DesktopImpl.java:710) at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1249) at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:603) at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:485) at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:494) at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662)

delete flag offensive retag edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2014-10-14 10:24:49 +0800

chillworld gravatar image chillworld flag of Belgium
5322 4 9
https://github.com/chillw...

Well, reading the error is very usefull :

java.lang.AbstractMethodError: org.zkoss.zul.Combobox$4.getUnselectedItems()Ljava/util/Set

What means, you call the getUnselectedItems but this method isn't implemented.

Further investigation will tell you that you are in a subclass of Combobox (the $4)

The first line I should check is this one :

org.zkoss.zk.ui.event.SelectEvent.getSelectEvent(SelectEvent.java:80)

and investigate further from there.

Greetz chill.

link publish delete flag offensive edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
1 follower

RSS

Stats

Asked: 2014-10-14 08:21:30 +0800

Seen: 5 times

Last updated: Oct 14 '14

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More