/* Copyright (c) 2001 - 2011 TOPP - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.gwc.web; import java.util.Arrays; import java.util.List; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Check; import org.apache.wicket.markup.html.form.CheckBox; import org.apache.wicket.markup.html.form.CheckGroup; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.PropertyModel; import org.geoserver.gwc.config.GWCConfig; public class CachingOptionsPanel extends Panel { private static final long serialVersionUID = 1L; public CachingOptionsPanel(final String id, final IModel<GWCConfig> gwcConfigModel) { super(id, gwcConfigModel); IModel<Boolean> autoCacheLayersModel; autoCacheLayersModel = new PropertyModel<Boolean>(gwcConfigModel, "cacheLayersByDefault"); CheckBox autoCacheLayers = new CheckBox("cacheLayersByDefault", autoCacheLayersModel); add(autoCacheLayers); IModel<Boolean> nonDefaultStylesModel; nonDefaultStylesModel = new PropertyModel<Boolean>(gwcConfigModel, "cacheNonDefaultStyles"); CheckBox cacheNonDefaultStyles = new CheckBox("cacheNonDefaultStyles", nonDefaultStylesModel); add(cacheNonDefaultStyles); List<Integer> metaTilingChoices = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); IModel<Integer> metaTilingXModel = new PropertyModel<Integer>(gwcConfigModel, "metaTilingX"); DropDownChoice<Integer> metaTilingX = new DropDownChoice<Integer>("metaTilingX", metaTilingXModel, metaTilingChoices); add(metaTilingX); IModel<Integer> metaTilingYModel = new PropertyModel<Integer>(gwcConfigModel, "metaTilingY"); DropDownChoice<Integer> metaTilingY = new DropDownChoice<Integer>("metaTilingY", metaTilingYModel, metaTilingChoices); add(metaTilingY); IModel<Integer> gutterModel = new PropertyModel<Integer>(gwcConfigModel, "gutter"); List<Integer> gutterChoices = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 50); DropDownChoice<Integer> gutterChoice = new DropDownChoice<Integer>("gutter", gutterModel, gutterChoices); add(gutterChoice); final List<String> formats = Arrays.asList("image/png", "image/png8", "image/jpeg", "image/gif"); { IModel<List<String>> vectorFormatsModel = new PropertyModel<List<String>>( gwcConfigModel, "defaultVectorCacheFormats"); CheckGroup<String> vectorFormatsGroup = new CheckGroup<String>("vectorFormatsGroup", vectorFormatsModel); add(vectorFormatsGroup); vectorFormatsGroup.add(new ListView<String>("vectorFromats", formats) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<String> item) { item.add(new Check<String>("vectorFormatsOption", item.getModel())); item.add(new Label("name", item.getModel())); } }); } { IModel<List<String>> rasterFormatsModel = new PropertyModel<List<String>>( gwcConfigModel, "defaultCoverageCacheFormats"); CheckGroup<String> rasterFormatsGroup = new CheckGroup<String>("rasterFormatsGroup", rasterFormatsModel); add(rasterFormatsGroup); rasterFormatsGroup.add(new ListView<String>("rasterFromats", formats) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<String> item) { item.add(new Check<String>("rasterFormatsOption", item.getModel())); item.add(new Label("name", item.getModel())); } }); } { IModel<List<String>> otherFormatsModel = new PropertyModel<List<String>>( gwcConfigModel, "defaultOtherCacheFormats"); CheckGroup<String> otherFormatsGroup = new CheckGroup<String>("otherFormatsGroup", otherFormatsModel); add(otherFormatsGroup); otherFormatsGroup.add(new ListView<String>("otherFromats", formats) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<String> item) { item.add(new Check<String>("otherFormatsOption", item.getModel())); item.add(new Label("name", item.getModel())); } }); } } }