/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.gwc.web.layer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; import org.geoserver.catalog.LayerInfo; import org.geoserver.catalog.PublishedInfo; import org.geoserver.gwc.layer.CatalogConfiguration; import org.geoserver.gwc.layer.GeoServerTileLayerInfo; import org.geoserver.web.publish.PublishedEditTabPanel; /** * A contribution to the layer edit page to set up the layer caching options on a separate tab. * * @author groldan * @see GeoServerTileLayerEditor * @see PublishedEditTabPanelInfo * @see LayerGroupCacheOptionsPanel */ public class LayerCacheOptionsTabPanel extends PublishedEditTabPanel<PublishedInfo> { private static final long serialVersionUID = -2995387155768727100L; private GeoServerTileLayerEditor editor; public LayerCacheOptionsTabPanel(String id, IModel<? extends PublishedInfo> layerModel, IModel<GeoServerTileLayerInfo> tileLayerModel) { super(id, layerModel); if (!(layerModel.getObject() instanceof LayerInfo) || CatalogConfiguration.isLayerExposable((LayerInfo) layerModel.getObject())) { editor = new GeoServerTileLayerEditor("tileLayerEditor", layerModel, tileLayerModel); add(editor); } else { add(new Label("tileLayerEditor", new ResourceModel("geometryLessLabel"))); } } @Override public void save() { if (editor != null) { editor.save(); } } }