We are attempting to control whether the icon next to a title is visible or not through a property of an entity. We couldn't figure out a simple way to do it by reading the documentation or looking through the list of possible annotations, and so we proceeded to try and override the addOrReplaceLinkWrapper method of the EntityIconAndTitlePanel container.
We first tried to subclass it, but the needed method was private so we just copied the entire class, created a ComponentFactory for it, and did a componentFactories.replace(EntityIconAndTitlePanelFactory.class, new EntityIconAndTitlePanelFactoryImproved()) inside of addComponentFactories of ComponentFactoryRegistrarForQuickStart. This failed when we went to list our entities, so we took out our changes so that the new class (EntityIconAndTitleImproved) was exactly the same as the old (EntityIconAndTitle). It was still being constructed by our new Factory, and our new factory is exactly the same as the old with the exception that it constructs the "Improved" class instead of the original inside of createComponent. But it still had the same error. So then we had our new factory construct the old component instead (EntityIconAndTitlePanel), and it worked perfectly fine. So apparently replacing the old component with the new creates this error, even though the new class is identical to the old (except for the class name and package). So I have two questions. First, is there an easier way to disable the rendering of an icon next to the title of an entity? Second, how do we correctly override a component factory? As a side note, we did succeed in removing the annoying (to us anyway ;) ) bookmark slide out panel by doing a componentFactories.replace using a subclassed BookmarkedPagesPanelFactory, where createComponent just returns a dummy component. There's probably an easier way to do this too. We are running the latest git code on the master branch using a project based on the example/application/quickstart_wicket_restful_jdo/. Here's the stack trace that results from listing our entities: org.apache.wicket.markup.MarkupNotFoundException Failed to find markup file associated. EntityIconAndTitlePanelImprovedIcon: [EntityIconAndTitlePanelImprovedIcon [Component id = entityIconAndTitle]] org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy#getMarkup(AssociatedMarkupSourcingStrategy.java:97) org.apache.wicket.MarkupContainer#getMarkup(MarkupContainer.java:451) org.apache.wicket.MarkupContainer#renderAssociatedMarkup(MarkupContainer.java:654) org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy#renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76) org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy#onComponentTagBody(PanelMarkupSourcingStrategy.java:112) org.apache.wicket.Component#internalRenderComponent(Component.java:2549) org.apache.wicket.MarkupContainer#onRender(MarkupContainer.java:1493) org.apache.wicket.Component#internalRender(Component.java:2379) org.apache.wicket.Component#render(Component.java:2307) org.apache.wicket.MarkupContainer#renderNext(MarkupContainer.java:1390) org.apache.wicket.MarkupContainer#renderAll(MarkupContainer.java:1554) org.apache.wicket.MarkupContainer#renderComponentTagBody(MarkupContainer.java:1529) org.apache.wicket.MarkupContainer#renderAssociatedMarkup(MarkupContainer.java:689) org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy#renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:76) org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy#onComponentTagBody(PanelMarkupSourcingStrategy.java:112) org.apache.wicket.Component#internalRenderComponent(Component.java:2549) org.apache.wicket.MarkupContainer#onRender(MarkupContainer.java:1493) org.apache.wicket.Component#internalRender(Component.java:2379) org.apache.wicket.Component#render(Component.java:2307) org.apache.wicket.MarkupContainer#renderNext(MarkupContainer.java:1390) org.apache.wicket.MarkupContainer#renderAll(MarkupContainer.java:1554) org.apache.wicket.MarkupContainer#renderComponentTagBody(MarkupContainer.java:1529) org.apache.wicket.MarkupContainer#onComponentTagBody(MarkupContainer.java:1484) thank you for your time, Jeremy