@Override protected void assignValueToFormComponent(FormComponent<?> formComponent, String value) { // single selectable should overwrite already selected option setFormComponentValue(formComponent, value); } }
setFormComponentValue((FormComponent<?>)component, value);
/** * Adds an additional <code>FormComponent</code>'s value into request parameter -- this method * retains existing parameters but removes any duplicate parameters. * * @param formComponent * a <code>FormComponent</code> * @param value * a value to add */ private void addFormComponentValue(FormComponent<?> formComponent, String value) { if (parameterExist(formComponent)) { String[] values = baseWicketTester.getServletRequest().getParameterValues( formComponent.getInputName()); // remove duplicated HashSet<String> all = new HashSet<String>(Arrays.asList(values)); all.add(value); Map<String, String[]> newParameters = new HashMap<String, String[]>(); newParameters.put(formComponent.getInputName(), all.toArray(new String[all.size()])); baseWicketTester.getServletRequest().setParameters(newParameters); } else { setFormComponentValue(formComponent, value); } }
/** * Adds an additional <code>FormComponent</code>'s value into request parameter -- this * method retains existing parameters but removes any duplicate parameters. * * @param formComponent * a <code>FormComponent</code> * @param value * a value to add */ private void addFormComponentValue(FormComponent formComponent, String value) { if (parameterExist(formComponent)) { String[] values = baseWicketTester.getServletRequest().getParameterValues( formComponent.getInputName()); // remove duplicated HashSet all = new HashSet(Arrays.asList(values)); all.add(value); Map newParameters = new HashMap(); newParameters.put(formComponent.getInputName(), all.toArray(new String[all.size()])); baseWicketTester.getServletRequest().setParameters(newParameters); } else { setFormComponentValue(formComponent, value); } }
/** * Simulates filling in a field on a <code>Form</code>. * * @param formComponentId * relative path (from <code>Form</code>) to the selectable * <code>FormComponent</code> or <code>IFormSubmittingComponent</code> * @param value * the field value */ public void setValue(final String formComponentId, final String value) { checkClosed(); Component component = workingForm.get(formComponentId); if (component instanceof IFormSubmittingComponent) { setFormSubmittingComponentValue((IFormSubmittingComponent)component, value); } else if (component instanceof FormComponent) { setFormComponentValue((FormComponent)component, value); } }
@Override public void component(final FormComponent<?> formComponent, final IVisit<Void> visit) { // do nothing for invisible or disabled component -- the browser would not send any // parameter for a disabled component if (!(formComponent.isVisibleInHierarchy() && formComponent.isEnabledInHierarchy())) { return; } String[] values = getInputValue(formComponent); if (formComponent instanceof AbstractTextComponent<?>) { if (values.length == 0 && fillBlankString) { setFormComponentValue(formComponent, ""); } } for (String value : values) { addFormComponentValue(formComponent, value); } } });
setFormComponentValue(formComponent, value);
setFormComponentValue(formComponent, value);
/** * Simulates filling in a field on a <code>Form</code>. * * @param formComponent * relative path (from <code>Form</code>) to the selectable * <code>FormComponent</code> or <code>IFormSubmittingComponent</code> * @param value * the field value * @return This */ public FormTester setValue(final Component formComponent, final String value) { Args.notNull(formComponent, "formComponent"); checkClosed(); if (formComponent instanceof IFormSubmittingComponent) { setFormSubmittingComponentValue((IFormSubmittingComponent)formComponent, value); } else if (formComponent instanceof FormComponent) { setFormComponentValue((FormComponent<?>)formComponent, value); } else { fail("Component with id: " + formComponent.getId() + " is not a FormComponent"); } return this; }
/** * Simulates filling in a field on a <code>Form</code>. * * @param formComponent * relative path (from <code>Form</code>) to the selectable * <code>FormComponent</code> or <code>IFormSubmittingComponent</code> * @param value * the field value * @return This */ public FormTester setValue(final Component formComponent, final String value) { Args.notNull(formComponent, "formComponent"); checkClosed(); if (formComponent instanceof IFormSubmittingComponent) { setFormSubmittingComponentValue((IFormSubmittingComponent)formComponent, value); } else if (formComponent instanceof FormComponent) { setFormComponentValue((FormComponent<?>)formComponent, value); } else { fail("Component with id: " + formComponent.getId() + " is not a FormComponent"); } return this; }