Refine search
@Test public void testRemoveCoverage() throws Exception { testAddCoverage(); File d = new File(testData.getDataDirectoryRoot(), "workspaces/acme/foostore/foo"); assertTrue(d.exists()); CoverageInfo ft = catalog.getCoverageByName("bar", "foo"); catalog.remove(ft); assertFalse(d.exists()); }
@Test public void testReloadWithRuinedCoverageStore() throws Exception { // ruin one coverage description File root = getDataDirectory().getRoot().dir(); File targetCoverage = new File(root, "workspaces/wcs/BlueMarble/coveragestore.xml"); FileUtils.writeStringToFile(targetCoverage, "boom!"); // reload and check it does not go belly up getGeoServer().reload(); // check the coverage in question is no more getCatalog().getCoverageByName(getLayerId(MockData.TASMANIA_BM)); } }
@Test public void testModifyCoverage() throws Exception { testAddCoverage(); CoverageInfo ft = catalog.getCoverageByName("bar", "foo"); ft.setTitle("fooTitle"); catalog.save(ft); File f = new File( testData.getDataDirectoryRoot(), "workspaces/acme/foostore/foo/coverage.xml"); Document dom = dom(f); assertXpathEvaluatesTo("fooTitle", "/coverage/title", dom); }
@Test public void testPreserveStructuredReader() throws IOException { // we have to make sure time ranges native name is set to trigger the bug in question CoverageInfo ci = getCatalog().getCoverageByName(getLayerId(TIMERANGES)); assertTrue(ci.getGridCoverageReader(null, null) instanceof StructuredGridCoverage2DReader); String name = ci.getGridCoverageReader(null, null).getGridCoverageNames()[0]; ci.setNativeCoverageName(name); getCatalog().save(ci); ci = getCatalog().getCoverageByName(getLayerId(TIMERANGES)); assertTrue(ci.getGridCoverageReader(null, null) instanceof StructuredGridCoverage2DReader); }
@Test public void testBandsFlagsView() throws Exception { // creation in the setup would have failed before the fix for // [GEOT-6168] CoverageView setup fails if one of the source bands has an indexed color // model CoverageInfo info = getCatalog().getCoverageByName(BANDS_FLAGS_VIEW); GridCoverageReader reader = info.getGridCoverageReader(null, null); GridCoverage2D coverage = (GridCoverage2D) reader.read(null); assertEquals(11, coverage.getRenderedImage().getSampleModel().getNumBands()); coverage.dispose(true); } }
@Test public void testMissingNullValuesInCoverageDimensions() throws IOException { CoverageInfo ci = getCatalog().getCoverageByName(getLayerId(MockData.TASMANIA_DEM)); List<CoverageDimensionInfo> dimensions = ci.getDimensions(); // legacy layers have no null value list dimensions.get(0).getNullValues().clear(); getCatalog().save(ci); // and now go back and ask for the reader ci = getCatalog().getCoverageByName(getLayerId(MockData.TASMANIA_DEM)); GridCoverageReader reader = ci.getGridCoverageReader(null, null); GridCoverage2D gc = null; try { // check that we maintain the native info if we don't have any gc = (GridCoverage2D) reader.read(null); assertEquals(-9999d, CoverageUtilities.getNoDataProperty(gc).getAsSingleValue(), 0d); } finally { if (gc != null) { RenderedImage ri = gc.getRenderedImage(); if (gc instanceof GridCoverage2D) { gc.dispose(true); } if (ri instanceof PlanarImage) { ImageUtilities.disposePlanarImageChain((PlanarImage) ri); } } } }
@Test public void testForceCoverage() throws Exception { CoverageInfo ci = catalog.getCoverageByName("usa"); ci.setProjectionPolicy(ProjectionPolicy.FORCE_DECLARED); ci.setSRS("EPSG:3857"); catalog.save(ci); ci = catalog.getCoverageByName("usa"); assertEquals(ProjectionPolicy.FORCE_DECLARED, ci.getProjectionPolicy()); assertEquals("EPSG:3857", ci.getSRS());
@Test public void testRGBIrToRGB() throws IOException { Catalog cat = getCatalog(); CoverageInfo coverageInfo = cat.getCoverageByName(RGB_IR_VIEW); final ResourcePool rp = cat.getResourcePool(); GridCoverageReader reader = rp.getGridCoverageReader(coverageInfo, RGB_IR_VIEW, null); // no transparency due to footprint GeneralParameterValue[] params = buildFootprintBandParams(FootprintBehavior.None, new int[] {0, 1, 2}); GridCoverage solidCoverage = reader.read(params); try { // System.out.println(solidCoverage); assertBandNames(solidCoverage, "Red", "Green", "Blue"); } finally { disposeCoverage(solidCoverage); } // dynamic tx due to footprint params = buildFootprintBandParams(FootprintBehavior.Transparent, new int[] {0, 1, 2}); GridCoverage txCoverage = reader.read(params); try { // System.out.println(txCoverage); assertBandNames(txCoverage, "Red", "Green", "Blue", "ALPHA_BAND"); } finally { disposeCoverage(solidCoverage); } }
@Test public void testRGBIrToRed() throws IOException { Catalog cat = getCatalog(); CoverageInfo coverageInfo = cat.getCoverageByName(RGB_IR_VIEW); final ResourcePool rp = cat.getResourcePool(); GridCoverageReader reader = rp.getGridCoverageReader(coverageInfo, RGB_IR_VIEW, null); // get IR, no transparency due to footprint GeneralParameterValue[] params = buildFootprintBandParams(FootprintBehavior.None, new int[] {0}); GridCoverage solidCoverage = reader.read(RGB_IR_VIEW, params); try { // System.out.println(solidCoverage); assertBandNames(solidCoverage, "Red"); } finally { disposeCoverage(solidCoverage); } // get IR, dynamic tx due to footprint params = buildFootprintBandParams(FootprintBehavior.Transparent, new int[] {0}); GridCoverage txCoverage = reader.read(RGB_IR_VIEW, params); try { // System.out.println(txCoverage); assertBandNames(txCoverage, "Red", "ALPHA_BAND"); } finally { disposeCoverage(solidCoverage); } }
@Test public void testRGBIrToIr() throws IOException { Catalog cat = getCatalog(); CoverageInfo coverageInfo = cat.getCoverageByName(RGB_IR_VIEW); final ResourcePool rp = cat.getResourcePool(); GridCoverageReader reader = rp.getGridCoverageReader(coverageInfo, RGB_IR_VIEW, null); // get IR, no transparency due to footprint GeneralParameterValue[] params = buildFootprintBandParams(FootprintBehavior.None, new int[] {3}); GridCoverage solidCoverage = reader.read(RGB_IR_VIEW, params); try { // System.out.println(solidCoverage); assertBandNames(solidCoverage, "Infrared"); } finally { disposeCoverage(solidCoverage); } // get IR, dynamic tx due to footprint params = buildFootprintBandParams(FootprintBehavior.Transparent, new int[] {3}); GridCoverage txCoverage = reader.read(RGB_IR_VIEW, params); try { // System.out.println(txCoverage); assertBandNames(txCoverage, "Infrared", "ALPHA_BAND"); } finally { disposeCoverage(solidCoverage); } }
@Test public void testRGBIrToIrGB() throws IOException { Catalog cat = getCatalog(); CoverageInfo coverageInfo = cat.getCoverageByName(RGB_IR_VIEW); final ResourcePool rp = cat.getResourcePool(); GridCoverageReader reader = rp.getGridCoverageReader(coverageInfo, RGB_IR_VIEW, null); // get IR, no transparency due to footprint GeneralParameterValue[] params = buildFootprintBandParams(FootprintBehavior.None, new int[] {3, 1, 2}); GridCoverage solidCoverage = reader.read(RGB_IR_VIEW, params); try { // System.out.println(solidCoverage); assertBandNames(solidCoverage, "Infrared", "Green", "Blue"); } finally { disposeCoverage(solidCoverage); } // get IR, dynamic tx due to footprint params = buildFootprintBandParams(FootprintBehavior.Transparent, new int[] {3, 1, 2}); GridCoverage txCoverage = reader.read(RGB_IR_VIEW, params); try { // System.out.println(txCoverage); assertBandNames(txCoverage, "Infrared", "Green", "Blue", "ALPHA_BAND"); } finally { disposeCoverage(solidCoverage); } }
@Test public void testAddCoverage() { assertEquals(2, catalog.getCoverages().size()); CoverageInfo fromCatalog = catalog.getCoverageByName("cv2Name"); assertNotNull(fromCatalog);
@Test public void modificationProxySerializeTest() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(MockData.TASMANIA_DEM)); CoverageInfo ci2 = serialize(ci); assertSame(ModificationProxy.unwrap(ci), ModificationProxy.unwrap(ci2));
@Test public void testDefaultElevationCoverageSelector() throws Exception { // Use default default value strategy: setupCoverageElevationDimension(WATTEMP, null); CoverageInfo elevatedCoverage = getCatalog().getCoverageByName(WATTEMP.getLocalPart()); Double expected = Double.valueOf(0d); Double e = (Double) wms.getDefaultElevation(elevatedCoverage); assertTrue("Default elevation is null", e != null); assertTrue( "Default elevation should be the smallest one", Math.abs(e.doubleValue() - expected.doubleValue()) < 0.00001); }
@Test public void testDelete() throws Exception { assertNotNull(catalog.getCoverageByName("wcs", "BlueMarble")); for (LayerInfo l : catalog.getLayers(catalog.getCoverageByName("wcs", "BlueMarble"))) { catalog.remove(l); } assertEquals( 200, deleteAsServletResponse( RestBaseController.ROOT_PATH + "/workspaces/wcs/coveragestores/BlueMarble/coverages/BlueMarble") .getStatus()); assertNull(catalog.getCoverageByName("wcs", "BlueMarble")); }
@Test public void testDefaultCustomDimValueVectorSelector() throws Exception { // Use default default value strategy: setupCoverageMyDimension(WATTEMP_CUSTOM, null); CoverageInfo customCoverage = getCatalog().getCoverageByName(WATTEMP_CUSTOM.getLocalPart()); String expected = "CustomDimValueA"; String def = wms.getDefaultCustomDimensionValue( COVERAGE_DIMENSION_NAME, customCoverage, String.class); assertTrue("Default dimension value is null", def != null); assertTrue("Default dimension value should be the smallest one", expected.equals(def)); }
@Test public void testDefaultTimeCoverageSelector() throws Exception { // Use default default value strategy: setupResourceDimensionDefaultValue(WATTEMP_FUTURE, ResourceInfo.TIME, null); Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, cal.getActualMinimum(Calendar.HOUR_OF_DAY)); cal.set(Calendar.MINUTE, cal.getActualMinimum(Calendar.MINUTE)); cal.set(Calendar.SECOND, cal.getActualMinimum(Calendar.SECOND)); cal.set(Calendar.MILLISECOND, cal.getActualMinimum(Calendar.MILLISECOND)); long todayMidnight = cal.getTimeInMillis(); CoverageInfo coverage = getCatalog().getCoverageByName(WATTEMP_FUTURE.getLocalPart()); java.util.Date d = (java.util.Date) wms.getDefaultTime(coverage); assertTrue("Returns a valid Default time", d != null); assertTrue("Default time should be the closest one", d.getTime() == todayMidnight); }
@Test public void testExplicitMinTimeCoverageSelector() throws Exception { // Use explicit default value strategy: DimensionDefaultValueSetting defaultValueSetting = new DimensionDefaultValueSetting(); defaultValueSetting.setStrategyType(Strategy.MINIMUM); setupResourceDimensionDefaultValue(WATTEMP_FUTURE, ResourceInfo.TIME, defaultValueSetting); // From src/test/resources/org/geoserver/wms/watertemp.zip: Date expected = Date.valueOf("2008-10-31"); CoverageInfo coverage = getCatalog().getCoverageByName(WATTEMP_FUTURE.getLocalPart()); java.util.Date d = (java.util.Date) wms.getDefaultTime(coverage); assertTrue("Returns a valid Default time", d != null); assertTrue("Default time should be the smallest one", d.getTime() == expected.getTime()); }
@Test public void testExplicitMinElevationCoverageSelector() throws Exception { // Use explicit default value strategy: DimensionDefaultValueSetting defaultValueSetting = new DimensionDefaultValueSetting(); defaultValueSetting.setStrategyType(Strategy.MINIMUM); setupCoverageElevationDimension(WATTEMP, defaultValueSetting); CoverageInfo elevatedCoverage = getCatalog().getCoverageByName(WATTEMP.getLocalPart()); Double expected = Double.valueOf(0d); Double e = (Double) wms.getDefaultElevation(elevatedCoverage); assertTrue("Default elevation is null", e != null); assertTrue( "Default elevation should be the smallest one", Math.abs(e.doubleValue() - expected.doubleValue()) < 0.00001); }
@Test public void testExplicitMaxElevationCoverageSelector() throws Exception { // Use explicit default value strategy: DimensionDefaultValueSetting defaultValueSetting = new DimensionDefaultValueSetting(); defaultValueSetting.setStrategyType(Strategy.MAXIMUM); setupCoverageElevationDimension(WATTEMP, defaultValueSetting); CoverageInfo elevatedCoverage = getCatalog().getCoverageByName(WATTEMP.getLocalPart()); Double expected = Double.valueOf(100d); Double e = (Double) wms.getDefaultElevation(elevatedCoverage); assertTrue("Default elevation is null", e != null); assertTrue( "Default elevation should be the biggest one", Math.abs(e.doubleValue() - expected.doubleValue()) < 0.00001); }