Following are AbcUserSearchTO and AbcUser classes with DomainObject implementation.
public interface DomainObject extends Serializable { Long getId(); } public class AbcUserSearchTO implements DomainObject { /** * */ private static final long serialVersionUID = 1L; /* (non-Javadoc) * @see gov.fdle.fpp.domain.DomainObject#getId() */ @Override public Long getId() { return null; } private String searchName; private String searchDealer; /** * @return the lastName */ public String getSearchName() { return searchName; } /** * @param name the lastName to set */ public void setSearchName(String name) { if (name == null){ name = FppConstants.EMPTY_STRING; } this.searchName = name; } /** * @return the searchDealer */ public String getSearchDealer() { return searchDealer; } /** * @param searchDealer the searchDealer to set */ public void setSearchDealer(String searchDealer) { this.searchDealer = searchDealer; } } public class AbcUser implements DomainObject { private static final long serialVersionUID = 1L; public Long getId() { return null; } //ASM fields private long userNbr; private String userName; private String password; private String firstName; private String lastName; ...setter ....getter } On Wed, Nov 18, 2015 at 11:43 AM, Francois Meillet < francois.meil...@gmail.com> wrote: > and the abcUserSearchTO ? > > > François > > > > > > > > > Le 18 nov. 2015 à 17:40, Mihir Chhaya <mihir.chh...@gmail.com> a écrit : > > > Here is SearchDealerPage. > > > > package gov.xyz.abc.view.asm; > > > > import gov.xyz.abc.business.AsmAdminService; > > import gov.xyz.abc.common.AppSession; > > import gov.xyz.abc.common.AuthenticatedPage; > > import gov.xyz.abc.common.DealerDetails; > > import gov.xyz.abc.common.abcException; > > import gov.xyz.abc.model.abcUser; > > import gov.xyz.abc.model.abcUserSearchTO; > > import gov.xyz.abc.util.DefaultFocusBehavior; > > import gov.xyz.abc.util.abcConstants; > > import gov.xyz.abc.util.abcErrConstant; > > import gov.xyz.abc.util.abcUtils; > > import gov.xyz.wktcommon.components.ErroringTextField; > > > > import org.apache.commons.lang3.StringUtils; > > import org.apache.wicket.ajax.AjaxRequestTarget; > > import org.apache.wicket.ajax.markup.html.form.AjaxButton; > > import org.apache.wicket.markup.html.basic.Label; > > import org.apache.wicket.markup.html.form.Form; > > import org.apache.wicket.model.CompoundPropertyModel; > > import org.apache.wicket.model.Model; > > import org.apache.wicket.request.mapper.parameter.PageParameters; > > import org.apache.wicket.spring.injection.annot.SpringBean; > > import org.apache.wicket.validation.validator.StringValidator; > > > > > > /** > > * Search Dealer Page. > > * > > * @author Pavankumar Appana > > * @since 08/05/2011 > > */ > > public class SearchDealerPage extends AuthenticatedPage { > > > > /** > > * > > */ > > private static final long serialVersionUID = 1L; > > @SpringBean > > private AsmAdminService adminService; > > private AbcUserSearchTO abcUserSearch; > > private AbcUser abcUser = null; > > > > //callingFromWhichScreen flag is to indicate whether this screen is > > called for dealer information or dealer update. > > //Set callingFromWhichScreen to "update" for dealer update, "search" > > for dealer information while calling. > > public SearchDealerPage(PageParameters pageParameters) { > > final String callingFromWhichScreen = > > pageParameters.get(abcConstants.PARAM_CALLING_SCREEN).toString(); > > > > abcUserSearch = new abcUserSearchTO(); > > > > //Search Form > > final Form<AbcUserSearchTO> searchForm = > > new Form<AbcUserSearchTO>("searchForm", new > > CompoundPropertyModel<AbcUserSearchTO>(abcUserSearch)); > > searchForm.setOutputMarkupId(true); > > searchForm.setMarkupId("searchFormId"); > > add(searchForm); > > final Label pagetitle = new Label("pageTitle", new > Model<String>()); > > > > if (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) { > > pagetitle.setDefaultModelObject("Search Dealer"); > > > > } else if > > (abcConstants.SEARCH_SCREEN.equals(callingFromWhichScreen)) { > > pagetitle.setDefaultModelObject("Dealer Inquiry"); > > } > > > > add(pagetitle); > > > > final ErroringTextField<String> dealerIDFld = new > > ErroringTextField<String>("searchDealer"); > > dealerIDFld.setOutputMarkupId(true); > > dealerIDFld.setMarkupId("searchDealer"); > > dealerIDFld.setRequired(true); > > dealerIDFld.add(StringValidator.minimumLength(2)); > > dealerIDFld.add(new DefaultFocusBehavior()); > > > > if (dealerIDFld.getSizeInBytes() < 5) { > > > > dealerIDFld.add(abcUtils.getIntegerPatternValidator()); > > } > > > > searchForm.add(dealerIDFld); > > > > > > final AjaxButton searchSubmitButton = new AjaxButton("search") { > > private static final long serialVersionUID = 1L; > > > > @Override > > protected void onSubmit(AjaxRequestTarget target, Form<?> > form) > > { > > sbpanel.saveState(); > > try { > > if (dealerIDFld.getValue().length() > 5) { > > abcUser = > > adminService.getDealerByDealerFFL(dealerIDFld.getInput()); > > > > } else if (abcUserSearch.getSearchDealer() != null && > > !"".equals(abcUserSearch.getSearchDealer())) { > > > > abcUser = > > > adminService.getDealerByDealerId(StringUtils.leftPad(abcUserSearch.getSearchDealer(), > > 5, '0')); > > //abcUser = > > adminService.getDealerByDealerId(dealerIDFld.getInput()); > > } > > > > if (abcUser == null) { > > if (dealerIDFld.getValue().length() <= 5) > > form.error("Dealer does not exist with entered > > Dealer ID, please search again with different Dealer ID."); > > else > > form.error("Dealer does not exist with entered > > FFL#, please search again with different FFL#."); > > target.add(form); > > } else { > > if > > (abcConstants.UPDATE_SCREEN.equals(callingFromWhichScreen)) { > > PageParameters pageParameters = new > > PageParameters(); > > > > pageParameters.set("abcUser", abcUser); > > > > DealerDetails dealerDetails = new > > DealerDetails(); > > > > dealerDetails.setFflNumber(abcUser.getFflNumber()); > > > > dealerDetails.setDealerNumber(abcUser.getDealerNumber()); > > ((AppSession) > > getSession()).setDealerDetails(dealerDetails); > > > > setResponsePage(new > ManageDealerPage(abcUser)); > > > > } else if > > (abcConstants.SEARCH_SCREEN.equals(callingFromWhichScreen)) { > > setResponsePage(new > > DealerInformationPage(abcUser)); > > } > > } > > > > } catch (abcException abcException) { > > if > > (abcException.getMessage().contains(abcErrConstant.INVALID_INPUT) || > > abcException.getMessage().contains(abcErrConstant.NONNUMERIC_INPUT)) { > > sbpanel.saveError(this, new abcException("Invalid > > Dealer ID entered. Only numbers are allowed.")); > > } else { > > sbpanel.saveError(this, new abcException("Error > > when searching Dealer. Make sure you have entered valid dealer Id.")); > > } > > } > > } > > > > @Override > > protected void onError(AjaxRequestTarget target, Form<?> > form) { > > super.onError(target, form); > > target.add(searchForm); > > target.add(sbpanel); > > } > > > > }; > > searchSubmitButton.setMarkupId("searchBtn"); > > searchForm.setDefaultButton(searchSubmitButton); > > searchForm.add(searchSubmitButton); > > > > //Reset Button > > searchForm.add(new AjaxButton("searchClear") { > > private static final long serialVersionUID = 1L; > > > > @Override > > protected void onSubmit(AjaxRequestTarget target, Form<?> > form) > > { > > sbpanel.saveState(); > > > > PageParameters pageParameters = new PageParameters(); > > pageParameters.set(abcConstants.PARAM_CALLING_SCREEN, > > callingFromWhichScreen); > > > > AbcUserSearchTO AbcUserSearchTO = > > searchForm.getModelObject(); > > AbcUserSearchTO.setSearchName(""); > > > > setResponsePage(new SearchDealerPage(pageParameters)); > > } > > }.setDefaultFormProcessing(false).setMarkupId("srchClearBtn")); > > } > > } > > > > On Wed, Nov 18, 2015 at 11:28 AM, Francois Meillet < > > francois.meil...@gmail.com> wrote: > > > >> Could you show us the SearchDealerPage code > >> > >> François > >> > >> > >> > >> > >> > >> > >> > >> > >> Le 18 nov. 2015 à 17:25, Mihir Chhaya <mihir.chh...@gmail.com> a écrit > : > >> > >>> Hello, > >>> > >>> I am using Wicket 7 + Spring 4.x + Hibernate 4.x (recently migrated > from > >>> Wicket 1.4). > >>> > >>> Since deployment of the app on JBOSS, the application is crashing with > >>> OutOfMemory error for PermGen. We are at the point of rolling back to > 1.4 > >>> as application was working fine without such issue; doesn't necessarily > >>> mean Wicket 7 is an issue. There is OutOfMemory error reported with > >>> Wicket+Spring for Wicket 6.20, but the issue status shows fixed. > >>> > >>> JBOSS application server PermGen is 512MB, so doesn't seem that be an > >> issue. > >>> > >>> Here is the stacktrace (First and Second). Second seems to be the > result > >> of > >>> First one. > >>> > >>> Could anybody shade some light? I ran with some load on my local > (tomcat > >> as > >>> well as on JBOSS) and monitored using VisualVM. PermGen is remaining > >>> between 20 and 100 MB. > >>> > >>> > >>> First > >>> ========= > >>> 16:29:19,808 ERROR > >>> > >> > [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/fes].[default]] > >>> (http-/162.143.93.98:8543-34) JBWEB000236: Servlet.service() for > servlet > >>> default threw exception: java.lang.OutOfMemoryError: PermGen space > >>> at sun.misc.Unsafe.defineClass(Native Method) [rt.jar:1.7.0_75] > >>> at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396) > >>> [rt.jar:1.7.0_75] > >>> at java.security.AccessController.doPrivileged(Native Method) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:113) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:331) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1376) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:72) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:493) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:468) > >>> [rt.jar:1.7.0_75] > >>> at java.security.AccessController.doPrivileged(Native Method) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:468) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:365) > >>> [rt.jar:1.7.0_75] > >>> at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1133) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) > >>> [rt.jar:1.7.0_75] > >>> at > >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) > >>> [rt.jar:1.7.0_75] > >>> at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1377) > >>> [rt.jar:1.7.0_75] > >>> at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) > >>> [rt.jar:1.7.0_75] > >>> at > >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) > >>> [rt.jar:1.7.0_75] > >>> at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) > >>> [rt.jar:1.7.0_75] > >>> at > >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) > >>> [rt.jar:1.7.0_75] > >>> at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) > >>> [rt.jar:1.7.0_75] > >>> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > org.apache.wicket.serialize.java.JavaSerializer$SerializationCheckerObjectOutputStream.writeObjectOverride(JavaSerializer.java:260) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> > >>> > >>> Second: > >>> ======= > >>> 16:24:22,674 ERROR [org.apache.wicket.DefaultExceptionMapper] > >>> (http-/162.143.93.97:8543-14) Unexpected error occurred: > >>> org.apache.wicket.WicketRuntimeException: Can't instantiate page using > >>> constructor 'public > >>> > >> > gov.xyz.abc.view.asm.SearchDealerPage(org.apache.wicket.request.mapper.parameter.PageParameters)' > >>> and argument 'callingFromWhichScreen=[search]'. An exception has been > >>> thrown during construction! > >>> at > >>> > >> > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:99) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:106) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:271) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:169) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.handler.render.WebPageRenderer.isPageStateless(WebPageRenderer.java:287) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.handler.render.WebPageRenderer.shouldRenderPageAndWriteResponse(WebPageRenderer.java:329) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:193) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.core.request.handler.RequestSettingRequestHandler.respond(RequestSettingRequestHandler.java:78) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:865) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) > >>> [wicket-request-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> at > >>> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91) > >>> at > >>> > >> > org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72) > >>> at > >>> > >> > org.jboss.as.web.session.ClusteredSessionValve.handleRequest(ClusteredSessionValve.java:134) > >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] > >>> at > >>> > >> > org.jboss.as.web.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:99) > >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] > >>> at org.jboss.as.web.session.JvmRouteValve.invoke(JvmRouteValve.java:92) > >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] > >>> at org.jboss.as.web.session.LockingValve.invoke(LockingValve.java:64) > >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] > >>> at > >>> > >> > org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) > >>> [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8] > >>> at > >>> > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:880) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >>> > >> > org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:607) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at > >> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036) > >>> [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1] > >>> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75] > >>> Caused by: java.lang.reflect.InvocationTargetException > >>> at sun.reflect.GeneratedConstructorAccessor281.newInstance(Unknown > >> Source) > >>> [:1.7.0_75] > >>> at > >>> > >> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > >>> [rt.jar:1.7.0_75] > >>> at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > >>> [rt.jar:1.7.0_75] > >>> at > >>> > >> > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:171) > >>> [wicket-core-7.0.0.jar:7.0.0] > >>> Thanks, > >>> -Mihir. > >> > >> > >