public void afterPhase(PhaseEvent event) { if (JsfUtils.isFlowRequest()) { FacesContext context = event.getFacesContext(); if (context.getExternalContext().getRequestParameterMap().containsKey("_eventId")) { UICommand eventSource = new UICommand(); eventSource.setTransient(true); eventSource.setParent(context.getViewRoot()); eventSource.setId("_eventId"); String eventId = context.getExternalContext().getRequestParameterMap().get("_eventId"); eventSource.setActionExpression(convertEventIdToMethodExpression(context, eventId)); context.getViewRoot().queueEvent(new ActionEvent(eventSource)); } } }
public final void testProcessAction_NullOutcome() { String outcome = null; MethodExpression expression = new MethodExpressionStub(outcome); UICommand commandButton = new UICommand(); commandButton.setActionExpression(expression); ActionEvent event = new ActionEvent(commandButton); this.listener.processAction(event); assertFalse("An unexpected event was signaled", this.jsfMock.externalContext().getRequestMap().containsKey(JsfView.EVENT_KEY)); }
public final void testProcessAction() { String outcome = "foo"; MethodExpression expression = new MethodExpressionStub(outcome); UICommand commandButton = new UICommand(); commandButton.setActionExpression(expression); ActionEvent event = new ActionEvent(commandButton); this.listener.processAction(event); assertTrue("The event was not signaled", this.jsfMock.externalContext().getRequestMap().containsKey(JsfView.EVENT_KEY)); assertEquals("The event should be " + outcome, outcome, this.jsfMock.externalContext().getRequestMap().get(JsfView.EVENT_KEY)); }
public void testProcessActionWithUIRepeat() { UIRepeat uiRepeat = new UIRepeat(); uiRepeat.setValue(this.dataModel); UICommand commandButton = new UICommand(); uiRepeat.getChildren().add(commandButton); this.viewToTest.getChildren().add(uiRepeat); Method indexMutator = ReflectionUtils.findMethod(UIRepeat.class, "setIndex", FacesContext.class, int.class); indexMutator.setAccessible(true); ReflectionUtils.invokeMethod(indexMutator, uiRepeat, new MockFacesContext(), 1); ActionEvent event = new ActionEvent(commandButton); this.selectionTrackingListener.processAction(event); assertTrue(this.dataModel.isCurrentRowSelected()); assertSame(this.dataModel.getSelectedRow(), this.dataModel.getRowData()); assertTrue(this.delegateListener.processedEvent); ReflectionUtils.invokeMethod(indexMutator, uiRepeat, new MockFacesContext(), 2); assertFalse(this.dataModel.isCurrentRowSelected()); assertTrue(this.dataModel.getSelectedRow() != this.dataModel.getRowData()); }
public void testProcessActionWithUIData() { UIData dataTable = new UIData(); dataTable.setValue(this.dataModel); UIColumn column = new UIColumn(); UICommand commandButton = new UICommand(); column.getChildren().add(commandButton); dataTable.getChildren().add(column); this.viewToTest.getChildren().add(dataTable); dataTable.setRowIndex(1); ActionEvent event = new ActionEvent(commandButton); this.selectionTrackingListener.processAction(event); assertTrue(this.dataModel.isCurrentRowSelected()); assertSame(this.dataModel.getSelectedRow(), this.dataModel.getRowData()); assertTrue(this.delegateListener.processedEvent); this.dataModel.setRowIndex(2); assertFalse(this.dataModel.isCurrentRowSelected()); assertTrue(this.dataModel.getSelectedRow() != this.dataModel.getRowData()); }