[richfaces-issues] [JBoss JIRA] Resolved: (RF-10784) AjaxViewRoot swallows NoSuchElementException from by the application code

Nick Belaevski (JIRA) jira-events at lists.jboss.org
Fri Mar 18 14:06:45 EDT 2011


     [ https://issues.jboss.org/browse/RF-10784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Belaevski resolved RF-10784.
---------------------------------

      Assignee: Nick Belaevski
    Resolution: Won't Fix


JSF itself does exactly the same (Mojarra 1.2, UIViewRoot#broadcastEvents(FacesContext, PhaseId)): http://pastebin.com/z9EwJfBq

Unfortunately, this is how JSF 1.2 specification requires to handle exceptions. MyFaces implementation extends this by providing custom exception handler functionality, however this is too big enhancement for the branch in maintenance mode, unless somebody provides a patch. 

JSF 2/RF 4 doesn't have such issue.

> AjaxViewRoot swallows NoSuchElementException from by the application code
> -------------------------------------------------------------------------
>
>                 Key: RF-10784
>                 URL: https://issues.jboss.org/browse/RF-10784
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 3.3.2.SR1
>            Reporter: Vladimir Kravchenko
>            Assignee: Nick Belaevski
>
> AjaxViewRoot.processEvents() swallows NoSuchElemntException thrown by an apllication code, due to too wide catch block:
> {code}
> 	public void processEvents(FacesContext context,
> 			EventsQueue phaseEventsQueue, boolean havePhaseEvents) {
> 		FacesEvent event;
> 		while (havePhaseEvents) {
> 			try {
> 				event = (FacesEvent) phaseEventsQueue.remove();
> 				UIComponent source = event.getComponent();
> 				try {
> 					source.broadcast(event);
> 				} catch (AbortProcessingException e) {
> 					if (_log.isErrorEnabled()) {
> 						UIComponent component = event.getComponent();
> 						String id = null != component ? component
> 								.getClientId(context) : "";
> 						_log.error(
> 								"Error processing faces event for the component "
> 										+ id, e);
> 					}
> 				}
> 			} catch (NoSuchElementException e) {
> 				havePhaseEvents = false;
> 			}
> 		}
> 	}
> {code}
> http://anonsvn.jboss.org/repos/richfaces/tags/3.3.3.Final/framework/impl/src/main/java/org/ajax4jsf/component/AjaxViewRoot.java
> A NoSuchElemtException thrown inside "source.broadcast(event);" will be swallowed by the catch block.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the richfaces-issues mailing list