[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3029) SeamPhaseListener swallowing NullPointerException

asookazian (JIRA) jira-events at lists.jboss.org
Fri May 23 16:14:42 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBSEAM-3029?page=comments#action_12414115 ] 
            
asookazian commented on JBSEAM-3029:
------------------------------------

Well if that's it, then the root cause in this SFSB (if this particular one was having the exception posted, not even sure there are currently 4 in this app) may be in the following code validation.  I have done extensive refactoring on this project and using Hibernate Validator annotations on SFSB methods and entity class methods as much as possible.  If it happens any time soon I will try to capture the code/files that are causing the exception to happen.

//TO DO: refactor this method (it is duplicated in AssignToStorageAction)
	public void validateBarCode(ValueChangeEvent event) throws AbortProcessingException {
		
		
		myInput = (HtmlInputText)event.getComponent();
		String localBarCode = "";
		fc = FacesContext.getCurrentInstance();
		fc.getExternalContext().getRequestMap().put("focusId",(event.getComponent().getClientId(FacesContext.getCurrentInstance())));	
		
		boolean invalidFormat				= false;
		boolean invalidRangeChk				= false;
		boolean invalidLengthChk			= false;
		boolean notInInvChk					= false;
		boolean notDuplicateOnScreenChk		= false;		
		boolean alreadyAssignedOrDepToUser 	= false;
		
		try {
			if (myInput.getValue() != null) {
				localBarCode = myInput.getValue().toString().trim();

				if (localBarCode.length()>0) {	
				  int len=	localBarCode.length() ;
				  int s_charcode = 0;
				  for (int i=0;i<len;i++)  {
			    	s_charcode = localBarCode.charAt(i);
			    	if(!((s_charcode>=48 && s_charcode<=57))) {
			    	 	msg = localBarCode+ " HAS INVALID FORMAT - PLEASE ENTER A NUMERIC BARCODE (EX: 01234)";
						msgConfirm = "YES";
						myInput.setStyle("border-right-color: Red; border-bottom-color: Red; border-top-width: medium; border-top-color: Red; border-right-width: medium; border-left-width: medium; border-left-color: Red; border-bottom-width: medium");
						setCompId(fc.getExternalContext().getRequestMap().get("focusId").toString());
						setCompMsg(msgConfirm);
						setMsg(msg);
						setMyImg("/error.gif");
						invalidFormat = true;				    	 
			    	}
				  }
				}	
				if (invalidFormat== false && invalidRangeChk== false && (localBarCode.length() > 0 && localBarCode.length() < 5)) {
					msg = localBarCode+" INVALID "+" - PERMITTED BARCODE LENGTH MUST BE 5.";	
					msgConfirm = "YES";
					myInput.setStyle("border-right-color: Red; border-bottom-color: Red; border-top-width: medium; border-top-color: Red; border-right-width: medium; border-left-width: medium; border-left-color: Red; border-bottom-width: medium");
					setCompId(fc.getExternalContext().getRequestMap().get("focusId").toString());
					setCompMsg(msgConfirm);
					setMsg(msg);	
					setMyImg("/error.gif");
					invalidLengthChk = true;
				}

				if (invalidFormat== false && invalidRangeChk == false && invalidLengthChk == false && localBarCode.length() == 5) {

					int total = findBarCode(localBarCode);
					if(total == 0) {
						msg = localBarCode+ " -  NOT AVAILABLE IN INVENTORY.";
						msgConfirm = "YES";
						myInput.setStyle("border-right-color: Red; border-bottom-color: Red; border-top-width: medium; border-top-color: Red; border-right-width: medium; border-left-width: medium; border-left-color: Red; border-bottom-width: medium");
						setCompId(fc.getExternalContext().getRequestMap().get("focusId").toString());
						setCompMsg(msgConfirm);
						setMsg(msg);
						setMyImg("/error.gif");
						notInInvChk = true;
					}
					else if (hardwareList != null) {
						for (int i=0;i<hardwareList.size();i++) {
							
							log.info("CoxBarCode = "+hardwareList.get(i).getCoxBarcode()+" | Historical Status = "+hardwareList.get(i).getTrHardwareStatus().getHardwareStatus().trim());
							if (hardwareList.get(i).getTrHardwareStatus().getHardwareStatus().trim().equalsIgnoreCase(SHIMSConstants.ASSIGN_TO_TECH_STATUS_ID.trim())) {
								msg = localBarCode+ " - ALREADY ASSIGNED TO TECHNICIAN.";
								msgConfirm = "YES";
								myInput.setStyle("border-right-color: Red; border-bottom-color: Red; border-top-width: medium; border-top-color: Red; border-right-width: medium; border-left-width: medium; border-left-color: Red; border-bottom-width: medium");
								setCompId(fc.getExternalContext().getRequestMap().get("focusId").toString());
								setCompMsg(msgConfirm);
								setMsg(msg);
								setMyImg("/error.gif");
								alreadyAssignedOrDepToUser = true;									
								break;
							}
							if (hardwareList.get(i).getTrHardwareStatus().getHardwareStatus().trim().equalsIgnoreCase(SHIMSConstants.DEPLOYED_TO_USER_STATUS_ID.trim())) {
								msg = localBarCode+ " - DEPLOYED TO USER.";
								msgConfirm = "YES";
								myInput.setStyle("border-right-color: Red; border-bottom-color: Red; border-top-width: medium; border-top-color: Red; border-right-width: medium; border-left-width: medium; border-left-color: Red; border-bottom-width: medium");
								setCompId(fc.getExternalContext().getRequestMap().get("focusId").toString());
								setCompMsg(msgConfirm);
								setMsg(msg);
								setMyImg("/error.gif");
								alreadyAssignedOrDepToUser = true;									
								break;
							}
						}
					}	
				}
				if (notInInvChk == false && alreadyAssignedOrDepToUser == false && hardwareTableList != null && localBarCode.length() == 5) {	
					for (int j=0;j<hardwareTableList.size();j++) {
						Object[] obj = (Object[])hardwareTableList.get(j);						
						TbHardware tbHardware = (TbHardware)obj[0];	
						
						if (localBarCode.equalsIgnoreCase(tbHardware.getCoxBarcode())) {
							msg = localBarCode+ " - DUPLICATE ASSIGNMENT TO TECHNICIAN.";	
							msgConfirm = "YES";
							myInput.setStyle("border-right-color: Red; border-bottom-color: Red; border-top-width: medium; border-top-color: Red; border-right-width: medium; border-left-width: medium; border-left-color: Red; border-bottom-width: medium");
							setCompId(fc.getExternalContext().getRequestMap().get("focusId").toString());
							setCompMsg(msgConfirm);
							setMsg(msg);
							setMyImg("/error.gif");
							notDuplicateOnScreenChk = true;
						}
					}
				}		
				getBarCodeDetails(localBarCode);
			}	
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		
	}

> SeamPhaseListener swallowing NullPointerException
> -------------------------------------------------
>
>                 Key: JBSEAM-3029
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-3029
>             Project: Seam
>          Issue Type: Bug
>    Affects Versions: 2.0.1.GA
>         Environment: Seam 2.0.1.GA
> JBoss 4.2.1.GA
> RF3.2.0.SR1
> Windows XP 5.1 SP2
>            Reporter: asookazian
>
> Not sure what the root cause of this is, how to reproduce it, or what damage it may cause while executing use cases in the app.  As directed by Dan Allen, posting stack trace here:
> 11:42:10,468 ERROR [SeamPhaseListener] uncaught exception
> java.lang.NullPointerException
> 	at org.apache.catalina.connector.Request.parseParameters(Request.java:2409)
> 	at org.apache.catalina.connector.Request.getParameterNames(Request.java:1073)
> 	at org.apache.catalina.connector.RequestFacade.getParameterNames(RequestFacade.java:371)
> 	at javax.servlet.ServletRequestWrapper.getParameterNames(ServletRequestWrapper.java:178)
> 	at com.sun.faces.context.RequestParameterMap.getEntryIterator(ExternalContextImpl.java:1174)
> 	at com.sun.faces.context.BaseContextMap$EntrySet.iterator(ExternalContextImpl.java:575)
> 	at com.sun.faces.context.BaseContextMap$BaseSet.size(ExternalContextImpl.java:563)
> 	at java.util.Collections$UnmodifiableCollection.size(Unknown Source)
> 	at java.util.AbstractMap.size(Unknown Source)
> 	at java.util.Collections$UnmodifiableMap.size(Unknown Source)
> 	at org.jboss.seam.contexts.EntityBeanMap.passivateAll(EntityBeanMap.java:65)
> 	at org.jboss.seam.contexts.AbstractEntityBeanCollection.passivate(AbstractEntityBeanCollection.java:43)
> 	at org.jboss.seam.contexts.ServerConversationContext.isAttributeDirty(ServerConversationContext.java:307)
> 	at org.jboss.seam.contexts.ServerConversationContext.flush(ServerConversationContext.java:280)
> 	at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:371)
> 	at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:502)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:235)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:182)
> 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> 	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
> 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
> 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	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:230)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Unknown Source)
> 11:42:10,468 ERROR [SeamPhaseListener] swallowing exception
> java.lang.NullPointerException
> 	at org.apache.catalina.connector.Request.parseParameters(Request.java:2409)
> 	at org.apache.catalina.connector.Request.getParameterNames(Request.java:1073)
> 	at org.apache.catalina.connector.RequestFacade.getParameterNames(RequestFacade.java:371)
> 	at javax.servlet.ServletRequestWrapper.getParameterNames(ServletRequestWrapper.java:178)
> 	at com.sun.faces.context.RequestParameterMap.getEntryIterator(ExternalContextImpl.java:1174)
> 	at com.sun.faces.context.BaseContextMap$EntrySet.iterator(ExternalContextImpl.java:575)
> 	at com.sun.faces.context.BaseContextMap$BaseSet.size(ExternalContextImpl.java:563)
> 	at java.util.Collections$UnmodifiableCollection.size(Unknown Source)
> 	at java.util.AbstractMap.size(Unknown Source)
> 	at java.util.Collections$UnmodifiableMap.size(Unknown Source)
> 	at org.jboss.seam.contexts.EntityBeanMap.passivateAll(EntityBeanMap.java:65)
> 	at org.jboss.seam.contexts.AbstractEntityBeanCollection.passivate(AbstractEntityBeanCollection.java:43)
> 	at org.jboss.seam.contexts.ServerConversationContext.isAttributeDirty(ServerConversationContext.java:307)
> 	at org.jboss.seam.contexts.ServerConversationContext.flush(ServerConversationContext.java:280)
> 	at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:371)
> 	at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:502)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:235)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:182)
> 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> 	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
> 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
> 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	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:230)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list