OIM UI Customization - Code Snippet to get Object of any UI Component.

public UIComponent findComponentFromRoot(String id) {
            UIComponent component = null;
            FacesContext facesContext = FacesContext.getCurrentInstance();
           
            if (facesContext != null) {
                UIComponent root = facesContext.getViewRoot();
                component = findComponent(root, id);
            }

            return component;
     }
   
    public UIComponent findComponent(UIComponent base, String id) {
            if (id.equals(base.getId()))
                return base;

            UIComponent kid = null;
            UIComponent result = null;
            Iterator kids = base.getFacetsAndChildren();
            while (kids.hasNext() && (result == null)) {
                kid = (UIComponent)kids.next();
                if (id.equals(kid.getId())) {
                    result = kid;
                    break;
                }
                result = findComponent(kid, id);
                if (result != null) {
                    break;
                }
            }
            return result;
        }

No comments:

Post a Comment