Package org.geoserver.web.admin

Source Code of org.geoserver.web.admin.CoverageAccessPage$QueueTypeRenderer

/* Copyright (c) 2001 - 2008 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.web.admin;

import java.util.Arrays;

import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.validation.validator.MinimumValidator;
import org.apache.wicket.validation.validator.NumberValidator;
import org.geoserver.config.CoverageAccessInfo;
import org.geoserver.config.CoverageAccessInfo.QueueType;
import org.geoserver.config.GeoServer;
import org.geoserver.web.GeoServerHomePage;

/**
* Edits the Coverage configuration parameters
*/
public class CoverageAccessPage extends ServerAdminPage {

    public CoverageAccessPage(){
        final IModel geoServerModel = getGeoServerModel();
        final IModel coverageModel = getCoverageAccessModel();

        // form and submit
        Form form = new Form("form", new CompoundPropertyModel(coverageModel));
        add( form );

        // All the fields
        TextField corePoolSize = new TextField("corePoolSize");
        corePoolSize.add(new MinimumValidator(1));
        form.add(corePoolSize);
       
        TextField maxPoolSize = new TextField("maxPoolSize");
        maxPoolSize.add(new MinimumValidator(1));
        form.add(maxPoolSize);
       
        TextField keepAliveTime = new TextField("keepAliveTime");
        keepAliveTime.add(new MinimumValidator(1));
        form.add(keepAliveTime);
       
        final DropDownChoice queueType = new DropDownChoice("queueType", Arrays.asList(CoverageAccessInfo.QueueType.values()), new QueueTypeRenderer());
        form.add(queueType);
       
        TextField imageIOCacheThreshold = new TextField("imageIOCacheThreshold");
        imageIOCacheThreshold.add(new MinimumValidator(0l));
        form.add(imageIOCacheThreshold);
               
        Button submit = new Button("submit", new StringResourceModel("submit", this, null)) {
            @Override
            public void onSubmit() {
                GeoServer gs = (GeoServer) geoServerModel.getObject();
                gs.getGlobal().setCoverageAccess( (CoverageAccessInfo)coverageModel.getObject() );
                gs.save( gs.getGlobal() );
                setResponsePage(GeoServerHomePage.class);
            }
        };
        form.add(submit);
       
        Button cancel = new Button("cancel") {
            @Override
            public void onSubmit() {
                setResponsePage(GeoServerHomePage.class);
            }
        };
        form.add(cancel);
    }
   
    private class QueueTypeRenderer implements  IChoiceRenderer {

        public Object getDisplayValue(Object object) {
            return new StringResourceModel(((QueueType) object).name(), CoverageAccessPage.this, null).getString();
        }

        public String getIdValue(Object object, int index) {
            return ((QueueType) object).name();
        }
    }
}
TOP

Related Classes of org.geoserver.web.admin.CoverageAccessPage$QueueTypeRenderer

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.