package fr.openwide.maven.artifact.notifier.web.application.project.component; import org.apache.wicket.markup.html.form.ChoiceRenderer; import org.apache.wicket.markup.html.form.IChoiceRenderer; import org.apache.wicket.model.IModel; import org.retzlaff.select2.ISelect2AjaxAdapter; import fr.openwide.core.wicket.more.markup.html.select2.GenericSelect2AjaxDropDownSingleChoice; import fr.openwide.maven.artifact.notifier.core.business.project.model.Project; public class ProjectDropDownChoice extends GenericSelect2AjaxDropDownSingleChoice<Project> { private static final long serialVersionUID = -6782229493391720861L; public static final IChoiceRenderer<Project> CHOICE_RENDERER = new ProjectChoiceRenderer(); public ProjectDropDownChoice(String id, IModel<Project> model) { this(id, model, new ProjectSelect2AjaxAdapter(CHOICE_RENDERER)); } public ProjectDropDownChoice(String id, IModel<Project> model, ISelect2AjaxAdapter<Project> adapter) { super(id, model, adapter); } private static class ProjectChoiceRenderer extends ChoiceRenderer<Project> { private static final long serialVersionUID = -489354478759279358L; @Override public Object getDisplayValue(Project project) { return project != null ? project.getName() : null; } @Override public String getIdValue(Project project, int index) { if (project != null) { return String.valueOf(project.getId()); } return null; } } }