///* // * GeoServer-Manager - Simple Manager Library for GeoServer // * // * Copyright (C) 2007,2011 GeoSolutions S.A.S. // * http://www.geo-solutions.it // * // * Permission is hereby granted, free of charge, to any person obtaining a copy // * of this software and associated documentation files (the "Software"), to deal // * in the Software without restriction, including without limitation the rights // * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // * copies of the Software, and to permit persons to whom the Software is // * furnished to do so, subject to the following conditions: // * // * The above copyright notice and this permission notice shall be included in // * all copies or substantial portions of the Software. // * // * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // * THE SOFTWARE. // */ // //package it.geosolutions.geoserver.jms.test.rest; // //import it.geosolutions.geoserver.rest.decoder.RESTCoverageStore; //import it.geosolutions.geoserver.rest.encoder.GSLayerEncoder; //import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder.ProjectionPolicy; //import it.geosolutions.geoserver.rest.encoder.coverage.GSImageMosaicEncoder; // //import java.io.File; //import java.io.FileNotFoundException; //import java.io.IOException; // //import org.apache.log4j.Logger; //import org.junit.Test; //import org.springframework.core.io.ClassPathResource; // ///** // * Testcase for publishing layers on geoserver. We need a running GeoServer to // * properly run the tests. If such geoserver instance cannot be contacted, tests // * will be skipped. // * // * @author etj // * @author Carlo Cancellieri - carlo.cancellieri@geo-solutions.it // */ //public class GeoserverRESTPublisherTest extends GeoserverRESTTest { // // private final static Logger LOGGER = Logger.getLogger(GeoserverRESTPublisherTest.class); // // public GeoserverRESTPublisherTest() { // super("GeoserverRESTPublisherTest"); // } // // @Test // public void testWorkspaces() { // if (!enabled()) // return; // deleteAll(); // // assertEquals(0, masterReader.getWorkspaces().size()); // // assertTrue(publisher.createWorkspace("WS1")); // assertTrue(publisher.createWorkspace("WS2")); // assertEquals(2, masterReader.getWorkspaces().size()); // // try { // Thread.sleep(TIMEOUT); // } catch (InterruptedException e) { // fail(e.getLocalizedMessage()); // } // for (int i = 0; i < nSlaves; i++) { // assertEquals(2, reader[i].getWorkspaces().size()); // } // } // // final static String styleName = "restteststyle"; // // @Test // public void testExternalGeotiff() throws FileNotFoundException, IOException { // if (!enabled()) // return; // deleteAll(); // // assertEquals(0, masterReader.getStyles().size()); // // File sldFile = new ClassPathResource("testdata/restteststyle.sld").getFile(); // // // insert style // assertTrue(publisher.publishStyle(sldFile)); // assertTrue(masterReader.existsStyle(styleName)); // // try { // Thread.sleep(TIMEOUT); // } catch (InterruptedException e) { // fail(e.getLocalizedMessage()); // } // for (int i = 0; i < nSlaves; i++) { // assertTrue(reader[i].existsStyle(styleName)); // } // // String storeName = "testRESTStoreGeotiff"; // String layerName = "resttestdem"; // // if (masterReader.getWorkspaces().isEmpty()) // assertTrue(publisher.createWorkspace(DEFAULT_WS)); // // File geotiff = new File("/media/share/testdata/resttestdem.tif"); // // // known state? // // assertFalse("Cleanup failed", existsLayer(layerName)); // // // test insert // assertTrue("publish() failed", publisher.publishGeoTIFF(DEFAULT_WS, storeName, storeName, geotiff, // "EPSG:4326", ProjectionPolicy.FORCE_DECLARED, // styleName)); // // assertTrue(existsLayer(layerName)); // // RESTCoverageStore reloadedCS = masterReader.getCoverageStore(DEFAULT_WS, storeName); // assertNotNull(reloadedCS); // try { // Thread.sleep(TIMEOUT); // } catch (InterruptedException e) { // fail(e.getLocalizedMessage()); // } // for (int i = 0; i < nSlaves; i++) { // RESTCoverageStore slaveCS = reader[i].getCoverageStore(DEFAULT_WS, storeName); // assertNotNull("Unable to get coverageStore for reader n.:" + i, slaveCS); // // assertTrue(reloadedCS.equals(slaveCS)); // } // // } // // @Test // public void testCreateDeleteImageMosaicDatastore() { // if (!enabled()) { // return; // } // deleteAll(); // // final String coverageStoreName = "resttestImageMosaic"; // // final GSImageMosaicEncoder coverageEncoder = new GSImageMosaicEncoder(); // // coverageEncoder.setAllowMultithreading(true); // coverageEncoder.setBackgroundValues(""); // coverageEncoder.setFilter(""); // coverageEncoder.setInputTransparentColor(""); // coverageEncoder.setLatLonBoundingBox(-180, -90, 180, 90, "EPSG:4326"); // coverageEncoder.setMaxAllowedTiles(6000); // coverageEncoder.setNativeBoundingBox(-180, -90, 180, 90, "EPSG:4326"); // coverageEncoder.setOutputTransparentColor(""); // coverageEncoder.setProjectionPolicy(ProjectionPolicy.REPROJECT_TO_DECLARED); // coverageEncoder.setSRS("EPSG:4326"); // coverageEncoder.setSUGGESTED_TILE_SIZE("256,256"); // coverageEncoder.setUSE_JAI_IMAGEREAD(true); // // activate time // // final GSDimensionInfoEncoder time=new GSDimensionInfoEncoder(true); // // time.setPresentation(Presentation.LIST); // // // set time metadata // // coverageEncoder.setMetadata("time", time); // // // not active elevation // // coverageEncoder.setMetadata("elevation", new // // GSDimensionInfoEncoder()); // // if (masterReader.getWorkspaces().isEmpty()) // assertTrue(publisher.createWorkspace(DEFAULT_WS)); // // LOGGER.info(coverageEncoder.toString()); // // // final String styleName = "testRasterStyle3"; // // File sldFile; // // try { // // sldFile = new ClassPathResource("testdata/raster.sld").getFile(); // // // insert style // // assertTrue(publisher.publishStyle(sldFile,styleName)); // // } catch (IOException e1) { // // assertFalse(e1.getLocalizedMessage(),Boolean.FALSE); // // e1.printStackTrace(); // // } // // GSLayerEncoder layerEncoder = new GSLayerEncoder(); // // layerEncoder.setDefaultStyle(styleName); // LOGGER.info(layerEncoder.toString()); // // creation test // RESTCoverageStore coverageStore = null; // try { // final File mosaicFile = new File("/media/share/time_geotiff/"); // // if (!publisher.createExternalMosaic(DEFAULT_WS, coverageStoreName, mosaicFile, coverageEncoder, // layerEncoder)) { // fail(); // } // coverageStore = masterReader.getCoverageStore(DEFAULT_WS, coverageStoreName); // // if (coverageStore == null) { // LOGGER.error("*** coveragestore " + coverageStoreName + " has not been created."); // fail("*** coveragestore " + coverageStoreName + " has not been created."); // } // // } catch (FileNotFoundException e) { // e.printStackTrace(); // fail(e.getLocalizedMessage()); // } catch (IOException e) { // e.printStackTrace(); // fail(e.getLocalizedMessage()); // } // // // removing recursively coveragestore // boolean removed = publisher.removeCoverageStore(coverageStore.getWorkspaceName(), // coverageStore.getName(), true); // if (!removed) { // LOGGER.error("*** CoverageStore " + coverageStoreName + " has not been removed."); // fail("*** CoverageStore " + coverageStoreName + " has not been removed."); // } // // } // // private boolean existsLayer(String layername) { // try { // Thread.sleep(TIMEOUT); // } catch (InterruptedException e) { // fail(e.getLocalizedMessage()); // } // boolean test = masterReader.getLayer(layername) != null; // if (!test) { // LOGGER.info("Layer is not present on the master"); // return test; // } // for (int i = 0; i < nSlaves; i++) { // test = test && (reader[i].getLayer(layername) != null); // if (!test) { // LOGGER.info("Layer is not present on slave n: " + i + " toString: " + reader[i].toString()); // } // } // return test; // } //}