repeater.setBeanList(Arrays.asList(ROW_DATA)); SubUIContext lastRowContext = (SubUIContext) repeater.getRowContexts().get( ROW_DATA.length - 1); setActiveContext(lastRowContext); repeater.setBeanList(Arrays.asList(ROW_DATA[ROW_DATA.length - 1], ROW_DATA[0])); setActiveContext(repeater.getRowContexts().get(0)); Assert.assertEquals("Row 1 should have previous user text", text2, textField.getText()); Assert.assertTrue("Row 1 id should not have changed", lastRowId.equals(textField.getId())); setActiveContext(repeater.getRowContexts().get(1)); Assert.assertEquals("Row 2 should have bean text", ROW_DATA[0], textField.getText()); repeater.setBeanList(Arrays.asList(ROW_DATA)); setActiveContext(repeater.getRowContexts().get(0)); Assert.assertEquals("Row 0 should have bean text", ROW_DATA[0], textField.getText()); setActiveContext(repeater.getRowContexts().get(1)); Assert.assertEquals("Row 1 should have bean text", null, textField.getText()); setActiveContext(repeater.getRowContexts().get(2)); Assert.assertEquals("Row 2 should have bean text", ROW_DATA[2], textField.getText());
List<UIContext> contexts = repeater.getRowContexts();
SubUIContext lastRowContext = (SubUIContext) repeater.getRowContexts().get(data.size() - 1);
@Test public void testValidationMandatoryInRepeater() { WFieldSet fieldSet = new WFieldSet(""); WContainer container = new WContainer(); WTextField textField = new WTextField(); container.add(textField); WRepeater repeater = new WRepeater(container); repeater.setBeanList(Arrays.asList("A", "B", "C")); fieldSet.add(repeater); fieldSet.setMandatory(true); fieldSet.setLocked(true); setActiveContext(createUIContext()); List<Diagnostic> diags = new ArrayList<>(); fieldSet.validate(diags); Assert.assertFalse("Should have validation errors", diags.isEmpty()); // Set a value UIContext suic = repeater.getRowContexts().get(0); UIContextHolder.pushContext(suic); try { textField.setText("value"); } finally { UIContextHolder.popContext(); } diags = new ArrayList<>(); fieldSet.validate(diags); Assert.assertTrue("Should have no validation errors with value on row", diags.isEmpty()); }
@Test public void testHandleRequest() { WRepeater repeater = new WRepeater(); repeater.setRepeatedComponent(new WTextField()); repeater.setLocked(true); UIContext uic = createUIContext(); setActiveContext(uic); MockRequest request = new MockRequest(); repeater.setBeanList(Arrays.asList(ROW_DATA)); repeater.preparePaint(request); Assert.assertEquals("Incorrect row value before request", ROW_DATA[0], repeater. getBeanList().get(0)); UIContext rowContext = repeater.getRowContexts().get(0); setActiveContext(rowContext); String name = repeater.getRepeatedComponent().getId(); String newValue = ROW_DATA[0] + ".new"; request.setParameter(name, newValue); setActiveContext(uic); repeater.handleRequest(request); DataBound component = (DataBound) repeater.getRepeatedComponent(); setActiveContext(rowContext); Assert.assertEquals("Incorrect row value after request", newValue, component.getData()); }
List<UIContext> rowContextList = repeater.getRowContexts(); WComponent repeatedComponent = repeater.getRepeatedComponent();
for (UIContext uic : repeater.getRowContexts()) {
for (UIContext uic : repeater.getRowContexts()) {
for (UIContext uic : repeater.getRowContexts()) {
List<UIContext> rowContextList = repeater.getRowContexts(); WRepeatRoot repeatRoot = (WRepeatRoot) repeater.getRepeatedComponent().getParent();
for (UIContext uic : table.getRepeater().getRowContexts()) {
for (UIContext uic : table.getRepeater().getRowContexts()) {
for (UIContext uic : table.getRepeater().getRowContexts()) {
UIContext rowContext = repeater.getRowContexts().get(0); setActiveContext(rowContext); String repeatedId = repeatedComponent.getId();
UIContext rowContext = repeater.getRowContexts().get(0); String repeatedId = getComponentId(repeatedComponent, rowContext);