Package org.geoserver.gwc.web.gridset

Source Code of org.geoserver.gwc.web.gridset.GridSetEditPage

/* (c) 2014 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.gridset;

import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.ResourceModel;
import org.geoserver.gwc.GWC;
import org.geowebcache.grid.GridSet;

public class GridSetEditPage extends AbstractGridSetPage {

    private String originalName;

    public GridSetEditPage(PageParameters parameters) {
        super(parameters);

        GridSetInfo info = form.getModelObject();
        originalName = info.getName();

        if (info.isInternal()) {
            form.info(new ResourceModel("GridSetEditPage.internalGridSetMessage").getObject());
            name.getFormComponent().setEnabled(false);
            description.setEnabled(false);
            crs.setEnabled(false);
            tileWidth.getFormComponent().setEnabled(false);
            tileHeight.getFormComponent().setEnabled(false);
            bounds.setEnabled(false);
            computeBoundsLink.setEnabled(false);
            tileMatrixSetEditor.setEnabled(false);
            saveLink.setVisible(false);
            addLevelLink.setVisible(false);
        }
    }

    @Override
    protected void onSave(AjaxRequestTarget target, Form<?> form) {
        GridSetInfo info = (GridSetInfo) form.getModelObject();

        GWC gwc = GWC.get();

        final GridSet newGridset;
        try {
            newGridset = GridSetBuilder.build(info);
        } catch (IllegalStateException e) {
            form.error(e.getMessage());
            target.addComponent(form);
            return;
        }

        try {
            // TODO: warn and eliminate caches
            gwc.modifyGridSet(originalName, newGridset);
            doReturn(GridSetsPage.class);
        } catch (Exception e) {
            e.printStackTrace();
            form.error("Error saving gridset: " + e.getMessage());
            target.addComponent(form);
        }
    }

}
TOP

Related Classes of org.geoserver.gwc.web.gridset.GridSetEditPage

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.