/** * Cleans up a coverage and its internal rendered image * * @param coverage */ public static void disposeCoverage(GridCoverage coverage) { RenderedImage ri = coverage.getRenderedImage(); if (coverage instanceof GridCoverage2D) { ((GridCoverage2D) coverage).dispose(true); } if (ri instanceof PlanarImage) { ImageUtilities.disposePlanarImageChain((PlanarImage) ri); } }
sourceCoverage.dispose(true);
private void disposeCoverage(GridCoverage coverage) { RenderedImage ri = coverage.getRenderedImage(); if (coverage instanceof GridCoverage2D) { ((GridCoverage2D) coverage).dispose(true); } if (ri instanceof PlanarImage) { ImageUtilities.disposePlanarImageChain((PlanarImage) ri); } }
coverage.dispose(false);
sourceCoverage.dispose(true);
/** Performs proper clean up on this {@link CoverageProcessingNode}. */ private void cleanOutput() { if (executed) { executed = false; output.dispose(true); error = null; } }
sampleDimensions = gc.getSampleDimensions(); gc.dispose(true); if (gc.getRenderedImage() instanceof PlanarImage) { ImageUtilities.disposePlanarImageChain((PlanarImage) gc.getRenderedImage());
public void encode( GridCoverage2D sourceCoverage, String outputFormat, Map<String, String> econdingParameters, OutputStream output) throws IOException { Utilities.ensureNonNull("sourceCoverage", sourceCoverage); Utilities.ensureNonNull("econdingParameters", econdingParameters); GeoTiffWriterHelper writerHelper = new GeoTiffWriterHelper(sourceCoverage); // compression handleCompression(econdingParameters, writerHelper); // tiling handleTiling(econdingParameters, sourceCoverage, writerHelper); // interleaving handleInterleaving(econdingParameters, sourceCoverage, writerHelper); if (geoserver.getService(WCSInfo.class).isLatLon()) { final ParameterValueGroup gp = writerHelper.getGeotoolsWriteParams(); gp.parameter(GeoTiffFormat.RETAIN_AXES_ORDER.getName().toString()).setValue(true); } try { writerHelper.write(output); } finally { sourceCoverage.dispose(false); } }
@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); } }
public void dispose(boolean force) { super.dispose(force); sourceCoverage.dispose(force); }
public void checkBandSelectionResolution( CoverageInfo info, int[] bands, double expectedResolutionX, double expectedResolutionY) throws IOException { GridCoverage2D coverage = null; try { GridCoverage2DReader reader = (GridCoverage2DReader) info.getGridCoverageReader(null, null); ParameterValue<int[]> bandsValue = AbstractGridFormat.BANDS.createValue(); bandsValue.setValue(bands); coverage = reader.read(new GeneralParameterValue[] {bandsValue}); assertNotNull(coverage); assertCoverageResolution(coverage, expectedResolutionX, expectedResolutionY); } finally { getCatalog().remove(info); if (coverage != null) { coverage.dispose(true); } } }
@Override public synchronized boolean dispose(boolean force) { boolean disposed = false; try { delegate.dispose(force); final RenderedImage image = delegate.getRenderedImage(); if (image instanceof PlanarImage) { ImageUtilities.disposePlanarImageChain((PlanarImage) image); } } finally { disposed = super.dispose(force); } return disposed; } }
getCatalog().remove(info); if (coverage != null) { 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); } } } }
@Override public void dispose() { preDispose(); if (coverage != null) { try { coverage.dispose(true); } catch (Exception e) { // eat me } coverage = null; } if (style != null) { style = null; } super.dispose(); }
getCatalog().remove(info); if (coverage != null) { coverage.dispose(true);
getCatalog().remove(info); if (coverage != null) { coverage.dispose(true);
/** * Dispose the provided coverage for good. * * @param coverage */ private void disposeCoverage(GridCoverage2D coverage) { if (coverage == null) { return; } final RenderedImage im = coverage.getRenderedImage(); ImageUtilities.disposePlanarImageChain(PlanarImage.wrapRenderedImage(im)); coverage.dispose(true); }
getCatalog().remove(info); if (coverage != null) { coverage.dispose(true);
ImageAssert.assertEquals(reference, rendered, 0); coverage.dispose(true);