/** * Finds a component by its id. * <p> * Searches visible and not visible components. * </p> * * @param id the id of the component to search for. * @return the component and context for the given id, or null if not found. */ public static ComponentWithContext getComponentById(final String id) { return getComponentById(id, false); }
/** * {@inheritDoc} */ @Override public void preparePaint(final Request request) { ComponentWithContext target = WebUtilities.getComponentById(targetId, true); if (target == null) { throw new SystemException("No target component found for id " + targetId); } UIContextHolder.pushContext(target.getContext()); try { super.preparePaint(request); } finally { UIContextHolder.popContext(); } }
/** * {@inheritDoc} */ @Override public void paint(final RenderContext renderContext) { ComponentWithContext target = WebUtilities.getComponentById(targetId, true); if (target == null) { throw new SystemException("No target component found for id " + targetId); } UIContextHolder.pushContext(target.getContext()); try { super.paint(renderContext); } finally { UIContextHolder.popContext(); } }
ComponentWithContext controlWithContext = WebUtilities.getComponentById(controlId, true); if (controlWithContext == null) {
/** * Retrieves the application title for the given context. This mess is required due to WWindow essentially existing * as a separate UI root. If WWindow is eventually removed, then we can just retrieve the title from the root * WApplication. * * @param uic the context to check. * @return the current application title. */ private String getApplicationTitle(final UIContext uic) { WComponent root = uic.getUI(); String title = root instanceof WApplication ? ((WApplication) root).getTitle() : null; Map<String, String> params = uic.getEnvironment().getHiddenParameters(); String target = params.get(WWindow.WWINDOW_REQUEST_PARAM_KEY); if (target != null) { ComponentWithContext targetComp = WebUtilities.getComponentById(target, true); if (targetComp != null && targetComp.getComponent() instanceof WWindow) { try { UIContextHolder.pushContext(targetComp.getContext()); title = ((WWindow) targetComp.getComponent()).getTitle(); } finally { UIContextHolder.popContext(); } } } return title == null ? "" : title; }
/** * {@inheritDoc} */ @Override public void serviceRequest(final Request request) { // Check if this is a targeted request targetId = request.getParameter(Environment.TARGET_ID); if (targetId == null) { throw new SystemException("No target id request parameter"); } ComponentWithContext target = WebUtilities.getComponentById(targetId, true); if (target == null) { throw new SystemException("No target component found for id " + targetId); } // go straight to the target component. attachUI(target.getComponent()); UIContextHolder.pushContext(target.getContext()); try { super.serviceRequest(request); } finally { UIContextHolder.popContext(); } }
Assert.assertSame("Incorrect component for root", root, WebUtilities.getComponentById(root. getId()) .getComponent()); Assert.assertSame("Incorrect context for root", uic1, WebUtilities.getComponentById(root. getId()).getContext()); Assert.assertSame("Incorrect component for static child", staticChild, WebUtilities.getComponentById(staticChildId).getComponent()); Assert.assertSame("Incorrect context for static child", uic1, WebUtilities.getComponentById( root.getId()) .getContext()); root.remove(staticChild); Assert.assertSame("Incorrect component for root", root, WebUtilities.getComponentById(root. getId()) .getComponent()); Assert.assertSame("Incorrect context for root", uic2, WebUtilities.getComponentById(root. getId()).getContext()); Assert.assertNull("Incorrect component for removed child", WebUtilities.getComponentById( staticChildId));
target = trigger; } else { target = WebUtilities.getComponentById(targetId, true); if (target == null) { LOG.warn("Could not find ajax target to render [" + targetId + "]");
repeater.setData(data); Assert.assertSame("Incorrect component for root", root, WebUtilities.getComponentById(root. getId()) .getComponent()); Assert .assertSame("Incorrect context1 for root", uic1, WebUtilities.getComponentById(root. getId()).getContext()); Assert.assertSame("Incorrect component for root", root, WebUtilities.getComponentById(root. getId()) .getComponent()); Assert .assertSame("Incorrect context2 for root", uic2, WebUtilities.getComponentById(root. getId()).getContext()); WebUtilities.getComponentById(repeatedId).getComponent()); Assert.assertSame("Incorrect context for repeated row", rowContext, WebUtilities. getComponentById(repeatedId) .getContext()); Assert.assertNull("Incorrect component for deleted row", WebUtilities.getComponentById( repeatedId));
/** * Temporarily replaces the environment while the UI is being rendered. * * @param renderContext the context to render to. */ @Override public void paint(final RenderContext renderContext) { if (windowId == null) { super.paint(renderContext); } else { // Get the window component ComponentWithContext target = WebUtilities.getComponentById(windowId, true); if (target == null) { throw new SystemException("No window component for id " + windowId); } UIContext uic = UIContextHolder.getCurrentPrimaryUIContext(); Environment originalEnvironment = uic.getEnvironment(); uic.setEnvironment(new EnvironmentDelegate(originalEnvironment, windowId, target)); UIContextHolder.pushContext(target.getContext()); try { super.paint(renderContext); } finally { uic.setEnvironment(originalEnvironment); UIContextHolder.popContext(); } } }
target = trigger; } else { target = WebUtilities.getComponentById(targetId, true); if (target == null) { LOG.warn("Could not find ajax target to render [" + targetId + "]");
/** * Temporarily replaces the environment while the UI prepares to render. * * @param request the request being responded to. */ @Override public void preparePaint(final Request request) { if (windowId == null) { super.preparePaint(request); } else { // Get the window component ComponentWithContext target = WebUtilities.getComponentById(windowId, true); if (target == null) { throw new SystemException("No window component for id " + windowId); } UIContext uic = UIContextHolder.getCurrentPrimaryUIContext(); Environment originalEnvironment = uic.getEnvironment(); uic.setEnvironment(new EnvironmentDelegate(originalEnvironment, windowId, target)); UIContextHolder.pushContext(target.getContext()); try { super.preparePaint(request); } finally { uic.setEnvironment(originalEnvironment); UIContextHolder.popContext(); } } }
ComponentWithContext targetWithContext = WebUtilities.getComponentById(targetId, true); if (targetWithContext == null) { return false;
ComponentWithContext trigger = WebUtilities.getComponentById(triggerId, true); if (trigger == null) {
ComponentWithContext target = WebUtilities.getComponentById(targetId, true); if (target != null) { writeDebugInfo(target.getComponent(), xml);
} else { ComponentWithContext target = WebUtilities.getComponentById(windowId, true); if (target == null) { throw new SystemException("No window component for id " + windowId);