@Override public void beforePhase(PhaseEvent event) { for (PhaseListener listener : getDelegates(event.getFacesContext())) { listener.beforePhase(event); } }
@Override public void afterPhase(PhaseEvent event) { for (PhaseListener listener : getDelegates(event.getFacesContext())) { listener.afterPhase(event); } }
@Override public void processListener(FacesListener facesListener) { if (facesListener instanceof AjaxBehaviorListener) { ((AjaxBehaviorListener) facesListener).processAjaxBehavior(this); } } }
@Override public void processAction(ActionEvent event) throws AbortProcessingException { UIComponent source = event.getComponent(); // don't use event#getFacesContext() - it's only available in JSF 2.3 Map<Object, Object> attrs = FacesContext.getCurrentInstance().getAttributes(); if (source instanceof Widget) { attrs.put(Constants.DIALOG_FRAMEWORK.SOURCE_WIDGET, ((Widget) source).resolveWidgetVar()); } attrs.put(Constants.DIALOG_FRAMEWORK.SOURCE_COMPONENT, source.getClientId()); base.processAction(event); }
@Override public void setPhaseId(PhaseId phaseId) { _target.setPhaseId(phaseId); }
@Override public PhaseId getPhaseId() { return (event.getPhaseId()); }
@Test public void beforeAndAfterPhaseWithSingleTarget() { TestListener target = new TestListener(); beanFactory.addBean("testListener", target); assertEquals(PhaseId.ANY_PHASE, delPhaseListener.getPhaseId()); PhaseEvent event = new PhaseEvent(facesContext, PhaseId.INVOKE_APPLICATION, new MockLifecycle()); delPhaseListener.beforePhase(event); assertTrue(target.beforeCalled); delPhaseListener.afterPhase(event); assertTrue(target.afterCalled); }
@Override public void processEvent(ComponentSystemEvent event) throws AbortProcessingException { super.processEvent(event); if (!isLazy() && event instanceof PostRestoreStateEvent && (this == event.getComponent())) { Object filteredValue = getFilteredValue(); if (filteredValue != null) { updateValue(filteredValue); } } }
@Override public boolean isAppropriateListener(FacesListener listener) { return _target.isAppropriateListener(listener); }
@Override public void processListener(FacesListener listener) { UIRepeat owner = (UIRepeat) getComponent(); int prevIndex = owner.index; FacesContext ctx = FacesContext.getCurrentInstance(); try { owner.setIndex(ctx, index); if (owner.isIndexAvailable()) { target.processListener(listener); } } finally { owner.setIndex(ctx, prevIndex); } }
@Override public void processEvent(SystemEvent event) throws AbortProcessingException { Columns columns = (Columns) event.getSource(); UIComponent parent = columns.getParent(); if (parent instanceof DataTable) { ((DataTable) parent).setDynamicColumns(columns); } else if (parent instanceof TreeTable) { ((TreeTable) parent).setDynamicColumns(columns); } }
@Override public void queueEvent(FacesEvent event) { FacesContext context = getFacesContext(); if (ComponentUtils.isRequestSource(this, context)) { AjaxBehaviorEvent behaviorEvent = (AjaxBehaviorEvent) event; behaviorEvent.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); super.queueEvent(behaviorEvent); } else { super.queueEvent(event); } }
@Override public void beforePhase(PhaseEvent event) { for (PhaseListener listener : getDelegates(event.getFacesContext())) { listener.beforePhase(event); } }
@Override public void afterPhase(PhaseEvent event) { for (PhaseListener listener : getDelegates(event.getFacesContext())) { listener.afterPhase(event); } }
@Override public void setPhaseId(PhaseId phaseId) { event.setPhaseId(phaseId); }
@Override public PhaseId getPhaseId() { return (target.getPhaseId()); }
@Test public void beforeAndAfterPhaseWithMultipleTargets() { TestListener target1 = new TestListener(); TestListener target2 = new TestListener(); beanFactory.addBean("testListener1", target1); beanFactory.addBean("testListener2", target2); assertEquals(PhaseId.ANY_PHASE, delPhaseListener.getPhaseId()); PhaseEvent event = new PhaseEvent(facesContext, PhaseId.INVOKE_APPLICATION, new MockLifecycle()); delPhaseListener.beforePhase(event); assertTrue(target1.beforeCalled); assertTrue(target2.beforeCalled); delPhaseListener.afterPhase(event); assertTrue(target1.afterCalled); assertTrue(target2.afterCalled); }
@Override public boolean isAppropriateListener(FacesListener listener) { return target.isAppropriateListener(listener); }
@Override public void setPhaseId(PhaseId phaseId) { target.setPhaseId(phaseId); }
@Override public PhaseId getPhaseId() { return _target.getPhaseId(); }