String buildSchemaLocation(String schemaBaseURL, String... locations) { for (WCSExtendedCapabilitiesProvider cp : extensions) { locations = helper.append(locations, cp.getSchemaLocations(schemaBaseURL)); } return helper.buildSchemaLocation(locations); }
private void handleServiceParameters(CoverageInfo ci) throws IOException { start("wcs:ServiceParameters"); element("wcs:CoverageSubtype", "RectifiedGridCoverage"); String mapNativeFormat = mimemapper.mapNativeFormat(ci); element("wcs:nativeFormat", mapNativeFormat); end("wcs:ServiceParameters"); }
String buildSchemaLocation(String schemaBaseURL, String... locations) { for (WCS20CoverageMetadataProvider cp : extensions) { locations = helper.append(locations, cp.getSchemaLocations(schemaBaseURL)); } return helper.buildSchemaLocation(locations); }
private void encodeFileReference(FileReference fileReference) { start("gml:File"); final AttributesImpl atts = new AttributesImpl(); atts.addAttribute("", "xlink:arcrole", "xlink:arcrole", "", "fileReference"); atts.addAttribute( "", "xlink:href", "xlink:href", "", "cid:" + fileReference.getReference()); atts.addAttribute( "", "xlink:role", "xlink:role", "", fileReference.getConformanceClass()); element("gml:rangeParameters", "", atts); element("gml:fileReference", "cid:" + fileReference.getReference()); element("gml:fileStructure", ""); element("gml:mimeType", fileReference.getMimeType()); end("gml:File"); }
/** * Encodes the Range as per the GML spec of the provided {@link GridCoverage2D} * * @param gc2d the {@link GridCoverage2D} for which to encode the Range. */ public void handleRange(GridCoverage2D gc2d) { // preamble start("gml:rangeSet"); if (fileReference != null) { encodeFileReference(fileReference); } else { encodeAsDataBlocks(gc2d); } end("gml:rangeSet"); }
/** * Encode a Date item as a GML TimeInstant * * @param item * @param helper * @param id */ private void encodeDate( final Date item, final WCSDimensionsHelper helper, final String id) { final AttributesImpl atts = new AttributesImpl(); atts.addAttribute("", "gml:id", "gml:id", "", id); start("gml:TimeInstant", atts); element("gml:timePosition", helper.format(item)); end("gml:TimeInstant"); }
public void writeTo(Object value, String mimeType, OutputStream os) throws IOException { CoverageData data = (CoverageData) value; final GMLTransformer transformer = new GMLTransformer(data.envelopeDimensionsMapper); transformer.setIndentation(4); transformer.setFileReference(data.fileReference); try { transformer.transform(data.coverage, os); } catch (TransformerException e) { new WcsException(e); } }
/** * Encode a DateRange item as a GML TimePeriod * * @param range * @param helper * @param id */ private void encodeDateRange( final DateRange range, final WCSDimensionsHelper helper, final String id) { encodeTimePeriod( helper.format(range.getMinValue()), helper.format(range.getMaxValue()), id, null, null); }
/** * Returns the minimum time, formatted according to ISO8601 * * @throws IOException */ public String getBeginTime() throws IOException { Date minTime = accessor.getMinTime(); return format(minTime); }
/** * Returns the minimum time, formatted according to ISO8601 * * @throws IOException */ public String getBeginPosition() throws IOException { Date minTime = accessor.getMinTime(); return format(minTime); }
@Override protected void updateMessageID() throws MessagingException { // it's just ugly to see ... removeHeader("Message-ID"); } }
@Override public Translator createTranslator(ContentHandler handler) { return new GMLTranslator(handler); } }
@Override public Translator createTranslator(ContentHandler handler) { return new WCS20GetCapabilitiesTranslator(handler); }
public WCS20DescribeCoverageTranslator createTranslator(ContentHandler handler) { return new WCS20DescribeCoverageTranslator(handler); }
/** * Writes the element if and only if the content is not null and not empty * * @param elementName * @param content */ private void elementIfNotEmpty(String elementName, String content) { if (isNotBlank(content)) element(elementName, content); } }
private void handleSampleDimensionType(SampleDimensionType sdType) { // old data dirs upgrading will have this empty if (sdType == null) { // pick the one with the largest domain and be done with it sdType = SampleDimensionType.REAL_64BITS; } final NumberRange<? extends Number> indicativeRange = TypeMap.getRange(sdType); setRange(indicativeRange); }
@Override public Translator createTranslator(ContentHandler handler) { WCS20DescribeCoverageTranslator dcTranslator = dcTransformer.createTranslator(handler); return new WCS20DescribeEOCoverageSetTranslator(handler, dcTranslator); }
/** * Returns the maximum time, formatted according to ISO8601 * * @throws IOException */ public String getEndTime() throws IOException { Date maxTime = accessor.getMaxTime(); return format(maxTime); }
/** * Returns the maximum time, formatted according to ISO8601 * * @throws IOException */ public String getEndPosition() throws IOException { Date maxTime = accessor.getMaxTime(); return format(maxTime); }