/* (c) 2015 - 2016 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.web.netcdf.layer; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.model.PropertyModel; import org.geoserver.catalog.CoverageInfo; import org.geoserver.catalog.LayerInfo; import org.geoserver.catalog.MetadataMap; import org.geoserver.web.netcdf.NetCDFSettingsContainer; import org.geoserver.web.publish.PublishedEditTabPanel; import org.geoserver.web.util.MetadataMapModel; /** * {@link LayerEditTabPanel} implementation for configuring NetCDF output settings */ public class NetCDFOutTabPanel extends PublishedEditTabPanel<LayerInfo> { /** serialVersionUID */ private static final long serialVersionUID = 1L; public NetCDFOutTabPanel(String id, IModel<LayerInfo> model, IModel<CoverageInfo> resourceModel) { super(id, model); // Selection of the IModel associated to the metadata map final PropertyModel<MetadataMap> metadata = new PropertyModel<MetadataMap>( resourceModel, "metadata"); // Selection of the CoverageInfo model IModel<CoverageInfo> cmodel = null; if (resourceModel.getObject() instanceof CoverageInfo) { CoverageInfo cinfo = (CoverageInfo) resourceModel.getObject(); cmodel = new Model<CoverageInfo>(cinfo); } // Getting the NetcdfSettingsContainer model from MetadataMap IModel<NetCDFLayerSettingsContainer> netcdfModel = new MetadataMapModel<NetCDFLayerSettingsContainer>(metadata, NetCDFSettingsContainer.NETCDFOUT_KEY, NetCDFLayerSettingsContainer.class); NetCDFOutSettingsEditor editor = new NetCDFOutSettingsEditor("netcdfeditor", netcdfModel, cmodel); add(editor); } }