Some proxy instance. It can't break the spec, cause it's only implemented in t:dataTable's findComponent method.
regards, Martin On 2/12/06, Jacob Hookom <[EMAIL PROTECTED]> wrote: > But doesn't that break spec? > > Are you returning the UIComponent itself or some proxy instance? > > Martin Marinschek wrote: > > >Yes - but I extended the findComponent concept for data table to allow > >scoped id's with a row-identifier included, so this is now much the > >same as a client-id, except if the renderer does a conversion. > > > >So what Dave wants ought to work. In the latest nightly build and > >several before them. > > > >regards, > > > >Martin > > > >On 2/12/06, Jacob Hookom <[EMAIL PROTECTED]> wrote: > > > > > >>findComponent has nothing to do with client ids. They work off of > >>different logic. > >> > >>Martin Marinschek (JIRA) wrote: > >> > >> > >> > >>> [ > >>> http://issues.apache.org/jira/browse/MYFACES-1110?page=comments#action_12366049 > >>> ] > >>> > >>>Martin Marinschek commented on MYFACES-1110: > >>>-------------------------------------------- > >>> > >>>Hmmm... > >>> > >>>yes, you should be able to search from the view-root no problem. > >>> > >>>Can you debug a little through find-component? > >>> > >>>I have a working test-case in tomahawks test source, plus we use the > >>>method successfully in the AJAX part. > >>> > >>>regards, > >>> > >>>Martin > >>> > >>> > >>> > >>> > >>> > >>>>findComponent return null for a valid clientId > >>>>---------------------------------------------- > >>>> > >>>> Key: MYFACES-1110 > >>>> URL: http://issues.apache.org/jira/browse/MYFACES-1110 > >>>> Project: MyFaces > >>>> Type: Bug > >>>> Components: Implementation > >>>> Versions: Nightly > >>>>Environment: JBoss 4.0.3, XP > >>>> Reporter: Dave > >>>> Assignee: Martin Marinschek > >>>> Priority: Critical > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >>> > >>>>In a PhaseListener, first get all the clientId(s) with queued messages, > >>>>then try to find the components. But ViewRoot.findComponent(clientId) > >>>>return null. > >>>> > >>>>public void beforePhase(PhaseEvent event) { > >>>> FacesContext context = event.getFacesContext(); > >>>> UIViewRoot root = context.getViewRoot(); > >>>> Iterator<String> itr = context.getClientIdsWithMessages(); > >>>> while (itr.hasNext()) { > >>>> String clientId = itr.next(); > >>>> UIComponent component = root.findComponent(clientId); > >>>> // ERROR: component is null > >>>> .... > >>>> } > >>>>} > >>>> > >>>> > >>>>From debugger, clientId is > >>> > >>> > >>>>emp:empForm:empTable:1:salary:_idJsp144 > >>>>The clientId is returned from context.getClientIdsWithMessages(); > >>>>It must be valid, but root.findComponent() returns NULL. > >>>>JSF should have the following API > >>>>FacesContext.getComponentsWithMessages(); > >>>>which is better than getClientIdsWithMessages(); > >>>> > >>>> > >>>> > >>>> > >>> > >>> > >>> > >>-- > >>Jacob Hookom - Minneapolis > >>---------------------------- > >>JSF-EG, JSF-RI, EL, Facelets > >> > >> > >> > >> > > > > > >-- > > > >http://www.irian.at > > > >Your JSF powerhouse - > >JSF Consulting, Development and > >Courses in English and German > > > >Professional Support for Apache MyFaces > > > > > > > > > -- > Jacob Hookom - Minneapolis > ---------------------------- > JSF-EG, JSF-RI, EL, Facelets > > -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
