Package org.geoserver.web.data.layer

Source Code of org.geoserver.web.data.layer.CoverageViewEditPage

/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2014 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.web.data.layer;

import java.io.IOException;
import java.util.List;
import java.util.logging.Level;

import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.CatalogBuilder;
import org.geoserver.catalog.CoverageInfo;
import org.geoserver.catalog.CoverageStoreInfo;
import org.geoserver.catalog.CoverageView;
import org.geoserver.catalog.CoverageView.CoverageBand;
import org.geoserver.web.data.resource.ResourceConfigurationPage;
import org.geoserver.web.wicket.ParamResourceModel;

public class CoverageViewEditPage extends CoverageViewAbstractPage {

    public CoverageViewEditPage(String workspaceName, String storeName, String coverageName,
            CoverageInfo coverageInfo, ResourceConfigurationPage previusPage) throws IOException {
        super(workspaceName, storeName, coverageName, coverageInfo);
        this.previousPage = previusPage;
        this.coverageInfo = coverageInfo;
    }

    private CoverageInfo coverageInfo;

    private ResourceConfigurationPage previousPage;

    protected void onSave() {
        try {
            final Catalog catalog = getCatalog();
            final CatalogBuilder builder = new CatalogBuilder(catalog);
            final CoverageStoreInfo coverageStoreInfo = catalog.getCoverageStore(storeId);
            final CoverageView coverageView = buildCoverageView();
            final List<CoverageBand> coverageBands = coverageView.getCoverageBands();
            if (coverageBands == null || coverageBands.isEmpty()) {
                throw new IllegalArgumentException("No output bands have been specified ");
            }
            coverageView.updateCoverageInfo(name, coverageStoreInfo, builder, coverageInfo);

            // set it back in the main page and redirect to it
            previousPage.updateResource(coverageInfo);
            setResponsePage(previousPage);
        } catch (Exception e) {
            LOGGER.log(Level.SEVERE, "Failed to create feature type", e);
            error(new ParamResourceModel("creationFailure", this, getFirstErrorMessage(e)).getString());
        }
    }

    protected void onCancel() {
        setResponsePage(previousPage);
    }
}
TOP

Related Classes of org.geoserver.web.data.layer.CoverageViewEditPage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.