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.
>> 
>> 

Reply via email to