public void encode(OutputStream output) throws ServiceException, IOException { this.delegate.encode(coverage, outputFormat, encodingParameters, output); } }
@Override public void write(Object value, OutputStream output, Operation operation) throws IOException, ServiceException { GridCoverage[] coverages = (GridCoverage[]) value; // grab the delegate for coverage encoding GetCoverageType request = (GetCoverageType) operation.getParameters()[0]; String outputFormat = request.getOutput().getFormat().getValue(); CoverageResponseDelegate delegate = getResponseDelegate(outputFormat); // grab the coverage info for Coverages document encoding final GridCoverage2D coverage = (GridCoverage2D) coverages[0]; // ImageIOUtilities.visualize(coverage.getRenderedImage()); // write the coverage try { delegate.encode(coverage, outputFormat, Collections.EMPTY_MAP, output); output.flush(); } finally { // if(output != null) output.close(); } } }
public void write(Object value, OutputStream output, Operation operation) throws IOException { // grab the coverage GridCoverage2D coverage = (GridCoverage2D) value; // grab the format GetCoverageType getCoverage = (GetCoverageType) operation.getParameters()[0]; String format = getCoverage.getFormat(); if (format == null) { format = "image/tiff"; } // extract additional extensions final Map<String, String> encodingParameters = new HashMap<String, String>(); final ExtensionType extension = getCoverage.getExtension(); if (extension != null) { final EList<ExtensionItemType> extensions = extension.getContents(); for (ExtensionItemType ext : extensions) { encodingParameters.put(ext.getName(), ext.getSimpleContent()); } } String coverageId = getCoverage.getCoverageId(); if (coverageId != null) { encodingParameters.put(COVERAGE_ID_PARAM, coverageId); } // grab the delegate CoverageResponseDelegate delegate = responseFactory.encoderFor(format); delegate.encode(coverage, format, encodingParameters, output); }
delegate.encode(coverage, outputFormat, Collections.EMPTY_MAP, os); os.flush();