If it helps here is the full ClassificationPanel class: ------------- class ClassificationsPanel extends FormComponentPanel<SimpleImageSearchCriteria> {
private static final long serialVersionUID = 1L; private static final String TOGGLE_CLASS = "list-group-item-warning"; public ClassificationsPanel(String id, IModel<SimpleImageSearchCriteria> model, BootstrapForm<SimpleImageSearchCriteria>form) { // super(id, model, Model.of("Classifications"), PanelType.Info); super(id, model); final CheckGroup<DocumentCategory> documentCategoryCodes = new CheckGroup<DocumentCategory>("documentCategoryCodes", new PropertyModel<List<DocumentCategory>>(getModel(), "documentCategories")); add(documentCategoryCodes); ListView<DocumentCategory> documentCategoryCode = new ListView<DocumentCategory>("documentCategoryCode", IRISAuthenticatedWebSession.get().getDocumentCategoryforProcessingArea(getModelObject().getProcessingArea())) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<DocumentCategory> item) { item.setOutputMarkupId(true); Check<DocumentCategory> check = new Check<DocumentCategory>("check", item.getModel()); check.setMarkupId("check" + item.getMarkupId()); check.setOutputMarkupId(true); check.setLabel(Model.of(item.getModelObject().getDocumentCategoryDescription())); item.add(check); item.add(new Label("label", item.getModelObject().getDocumentCategoryDescription())); if(documentCategoryCodes.getModelObject().contains(item.getModelObject())){ item.add(new CssClassNameAppender(TOGGLE_CLASS)); } } }; // documentCategoryCode.setReuseItems(true); documentCategoryCodes.add(documentCategoryCode); } @Override protected void convertInput() { setConvertedInput(getModelObject()); } @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); String javascript ="$(function(){$(\"input[type=checkbox]\").on(\"change\", function() {var $chk = $(this),num = $chk.attr(\"id\").substring(7),$row = $(\"#id\" + num);$row.toggleClass(\"" + TOGGLE_CLASS+ "\");});});"; response.render(OnDomReadyHeaderItem.forScript(javascript)); } } > On Jan 23, 2023, at 10:31 AM, Eric Hamel <eric.ha...@albanyitg.com> wrote: > > The hierarchy is DocumentSearchPanel extends BootstrapGenericPanel -> > BodyPanel extends GenericPanel -> BootstrapForm -> FormGroup -> > ClassificationPanel. > > > ClassificationPanel is an anonymous class of DocumentSearchPanel. > >> On Jan 23, 2023, at 10:19 AM, Martin Grigorov <mgrigo...@apache.org> wrote: >> >> Hi, >> >> On Mon, Jan 23, 2023 at 5:09 PM Eric Hamel <eric.ha...@albanyitg.com> wrote: >> >>> Good morning, >>> >>> We are running into intermittent issues on our WebSphere 8.5 environment. >>> The server keeps crashing and we see no cause in our logs. With that said, >>> admins have seen the following error in our logs and I can’t make sense out >>> of it. >>> >>> 07:48:51.632 ERROR [CVIENS | 10.79.49.41 | 5uRaDK6Hu4gj0ABIXyNTo76] >>> o.a.wicket.DefaultExceptionMapper [DefaultExceptionMapper.java:170] - >>> Unexpected error occurred >>> java.lang.ClassCastException: >>> gov.osc.ouf.web.components.document.search.DocumentSearchPanel$ClassificationsPanel$1 >>> incompatible with org.apache.wicket.markup.html.form.FormComponent >>> at >>> de.agilecoders.wicket.core.markup.html.bootstrap.form.FormGroup.findFormComponents(FormGroup.java:255) >>> ~[wicket-bootstrap-core-0.9.22.jar:0.9.22] >>> at >>> de.agilecoders.wicket.core.markup.html.bootstrap.form.FormGroup.onInitialize(FormGroup.java:175) >>> ~[wicket-bootstrap-core-0.9.22.jar:0.9.22] >>> at >>> org.apache.wicket.Component.fireInitialize(Component.java:877) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:967) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:963) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) >>> ~[wicket-util-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) >>> ~[wicket-util-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) >>> ~[wicket-util-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) >>> ~[wicket-util-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) >>> ~[wicket-util-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192) >>> ~[wicket-util-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:875) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:962) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at org.apache.wicket.Page.isPageStateless(Page.java:463) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:465) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:409) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.core.request.mapper.MountedMapper.mapHandler(MountedMapper.java:395) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:215) >>> ~[wicket-request-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:429) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:281) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890) >>> ~[wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) >>> ~[wicket-request-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) >>> [wicket-core-6.24.0.jar:6.24.0] >>> at >>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4075) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1019) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:213) >>> [com.ibm.ws.webcontainer.jar:na] >>> at >>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) >>> [com.ibm.ws.runtime.jar:na] >>> at >>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) >>> [com.ibm.ws.runtime.jar:na] >>> at >>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) >>> [com.ibm.ws.runtime.jar:na] >>> at >>> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88) >>> [com.ibm.ws.runtime.jar:na] >>> at >>> com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833) >>> [com.ibm.ws.runtime.jar:na] >>> at >>> com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:558) >>> [na:CCX.CF [o1800.01]] >>> at >>> com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:608) >>> [na:CCX.CF [o1800.01]] >>> at >>> com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:985) >>> [na:CCX.CF [o1800.01]] >>> at >>> com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1074) >>> [na:CCX.CF [o1800.01]] >>> at >>> com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892) >>> [com.ibm.ws.runtime.jar:na] >>> >>> We are getting a ClassCastException on ClassificationPanel being >>> incompatible with FormComponent, however ClassificationPanel extends >>> FormComponentPanel >>> >> >> ClassificationsPanel$1 is the first anonymous class defined inside >> ClassificationPanel! >> >> >>> >>> class ClassificationsPanel extends >>> FormComponentPanel<SimpleImageSearchCriteria> { >>> >>> ... >>> >>> } >>> >>> I’m sure there’s a simple answer here but I’m not seeing it. It’s only >>> happening on WebSphere and are not seeing this behavior on test Jetty >>> environment. We are using Apache Wicket 6.24.0 and Wicket-Bootstrap 0.9.22. >>> Any insight would be appreciated. >>> >>> Thank you >>> Eric H. >>> >