package cucumber.examples.java.wicket.view;
import cucumber.examples.java.wicket.Application;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.util.value.ValueMap;
public class Create extends WebPage {
private Application application;
private int numberOfCars;
public Create() {
CreateCarsForm createCarsForm = new CreateCarsForm("createCarsForm");
add(createCarsForm);
application = (Application) getApplication();
}
public void setNumberOfCars(int initialNumberOfCars) {
numberOfCars = initialNumberOfCars;
}
public void create() {
for (int i = 0; i < numberOfCars; i++) {
application.createCar();
}
}
private class CreateCarsForm extends Form<ValueMap> {
public CreateCarsForm(String id) {
super(id, new CompoundPropertyModel<ValueMap>(new ValueMap()));
FormComponent<Integer> textField = new TextField<Integer>("numberOfCarsField");
textField.setType(String.class);
add(textField);
}
@Override
public final void onSubmit() {
ValueMap values = getModelObject();
String addedCars = (String) values.get("numberOfCarsField");
numberOfCars = Integer.parseInt(addedCars);
create();
setResponsePage(Available.class);
}
}
}