Package org.geoserver.wms

Source Code of org.geoserver.wms.WMSDynamicDimensionTestSupport

package org.geoserver.wms;

import java.util.Arrays;
import java.util.TimeZone;

import javax.xml.namespace.QName;

import org.custommonkey.xmlunit.XMLUnit;
import org.custommonkey.xmlunit.XpathEngine;
import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.ResourceInfo;
import org.geoserver.data.test.MockData;
import org.geoserver.data.test.SystemTestData;
import org.geoserver.wms.dimension.DefaultValueConfiguration;
import org.geoserver.wms.dimension.DefaultValueConfigurations;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;

public class WMSDynamicDimensionTestSupport extends WMSDimensionsTestSupport {

    protected static QName TIME_ELEVATION_CUSTOM = new QName(MockData.SF_URI,
            "time_elevation_custom", MockData.SF_PREFIX);

    protected XpathEngine xpath;

    @BeforeClass
    public static void setupTimeZone() {
        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
    }

    @AfterClass
    public static void resetTimeZone() {
        TimeZone.setDefault(null);
    }

    @Override
    protected void onSetUp(SystemTestData testData) throws Exception {
        super.onSetUp(testData);

        Catalog catalog = getCatalog();
        testData.addRasterLayer(TIME_ELEVATION_CUSTOM, "time_elevation_custom.zip", null, null,
                WMSDynamicDimensionTestSupport.class, catalog);
    }

    @Before
    public void prepareXPathEngine() {
        xpath = XMLUnit.newXpathEngine();
    }

    @Before
    public void removeDynamicDimensions() throws Exception {
        removeDynamicDimensions("TimeElevation");
        removeDynamicDimensions(getLayerId(TIME_ELEVATION_CUSTOM));
    }
   
    public void removeDynamicDimensions(String resourceName) throws Exception {
        ResourceInfo ri = getCatalog().getResourceByName(resourceName, ResourceInfo.class);
        ri.getMetadata().remove(DefaultValueConfigurations.KEY);
        getCatalog().save(ri);
    }

    protected void setupDynamicDimensions(String resourceName,
            DefaultValueConfiguration... configurations) {
        ResourceInfo info = getCatalog().getResourceByName(resourceName, ResourceInfo.class);
        DefaultValueConfigurations configs = new DefaultValueConfigurations(
                Arrays.asList(configurations));
        info.getMetadata().put(DefaultValueConfigurations.KEY, configs);
        getCatalog().save(info);
    }

    protected void setupDynamicDimensions(QName resourceName,
            DefaultValueConfiguration... configurations) {
        setupDynamicDimensions(getLayerId(resourceName), configurations);
    }

}
TOP

Related Classes of org.geoserver.wms.WMSDynamicDimensionTestSupport

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.