/* (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.catalog.impl; import static org.geoserver.data.test.CiteTestData.*; import java.io.IOException; import org.geoserver.catalog.Catalog; import org.geoserver.catalog.CatalogFactory; import org.geoserver.catalog.LayerGroupInfo; import org.geoserver.catalog.LayerInfo; import org.geoserver.catalog.WorkspaceInfo; import org.geoserver.data.test.SystemTestData; import org.geoserver.test.GeoServerSystemTestSupport; public class CascadeVisitorAbstractTest extends GeoServerSystemTestSupport { protected static final String LAKES_GROUP = "lakesGroup"; protected static final String NEST_GROUP = "nestGroup"; protected static final String WS_STYLE = "wsStyle"; protected void setUpTestData(org.geoserver.data.test.SystemTestData testData) throws Exception { // add nothing here }; protected void onSetUp(org.geoserver.data.test.SystemTestData testData) throws Exception { Catalog catalog = getCatalog(); // add layers testData.addVectorLayer(LAKES, catalog); testData.addVectorLayer(BRIDGES, catalog); testData.addVectorLayer(FORESTS, catalog); testData.addVectorLayer(BUILDINGS, catalog); setupExtras(testData, catalog); } void setupExtras(org.geoserver.data.test.SystemTestData testData, Catalog catalog) throws IOException { // associate Lakes to Buildings as an extra style LayerInfo buildings = catalog.getLayerByName(getLayerId(BUILDINGS)); buildings.getStyles().add(catalog.getStyleByName(LAKES.getLocalPart())); catalog.save(buildings); // add a layer group CatalogFactory factory = catalog.getFactory(); LayerGroupInfo globalGroup = factory.createLayerGroup(); globalGroup.setName(LAKES_GROUP); globalGroup.getLayers().add(catalog.getLayerByName(getLayerId(LAKES))); globalGroup.getLayers().add(catalog.getLayerByName(getLayerId(FORESTS))); globalGroup.getLayers().add(catalog.getLayerByName(getLayerId(BRIDGES))); catalog.add(globalGroup); // add a layer group containing a layer group LayerGroupInfo nestGroup = factory.createLayerGroup(); nestGroup.setName(NEST_GROUP); nestGroup.getLayers().add(catalog.getLayerByName(getLayerId(LAKES))); nestGroup.getLayers().add(globalGroup); catalog.add(nestGroup); // add a workspace specific style WorkspaceInfo ws = catalog.getWorkspaceByName(CITE_PREFIX); testData.addStyle(ws, WS_STYLE, "Streams.sld", SystemTestData.class, catalog); }; }