for (XMLGridSubset gs : model.getObject()) {
gridSetNames.remove(gs.getGridSetName());
}
Collections.sort(gridSetNames);
GeoServerAjaxFormLink addGridsubsetLink = new GeoServerAjaxFormLink("addGridSubset") {
private static final long serialVersionUID = 1L;
@Override
protected void onClick(AjaxRequestTarget target, Form form) {
availableGridSets.processInput();
final String selectedGridset = availableGridSets.getModelObject();
if (null == selectedGridset) {
return;
}
List<String> choices = new ArrayList<String>(availableGridSets.getChoices());
choices.remove(selectedGridset);
availableGridSets.setChoices(choices);
availableGridSets.setEnabled(!choices.isEmpty());
XMLGridSubset newSubset = new XMLGridSubset();
newSubset.setGridSetName(selectedGridset);
grids.getModelObject().add(newSubset);
target.addComponent(table);
target.addComponent(availableGridSets);
}
};
addGridsubsetLink.add(new Icon("addIcon", GWCIconFactory.ADD_ICON));
add(addGridsubsetLink);
availableGridSets = new DropDownChoice<String>("availableGridsets", new Model<String>(),
gridSetNames);
availableGridSets.setOutputMarkupId(true);