protected void writeObservationTypes(Set<String> observationTypes) throws XMLStreamException { start(GetDataAvailabilityConstants.GDA_EXTENSION); start(SweConstants.QN_DATA_RECORD_SWE_200); attr(AN_DEFINITION, "observationTypes"); int observationTypeCount = 1; for (String observationType : observationTypes) { start(SweConstants.QN_FIELD_200); attr("name", "observationType_" + observationTypeCount++); writeSweText("observationType", observationType); end(SweConstants.QN_FIELD_200); } end(SweConstants.QN_DATA_RECORD_SWE_200); end(GetDataAvailabilityConstants.GDA_EXTENSION); }
protected void writeObservationTypes(Set<String> observationTypes) throws XMLStreamException { start(GetDataAvailabilityConstants.GDA_EXTENSION); start(SweConstants.QN_DATA_RECORD_SWE_200); attr(AN_DEFINITION, "observationTypes"); int observationTypeCount = 1; for (String observationType : observationTypes) { start(SweConstants.QN_FIELD_200); attr("name", "observationType_" + observationTypeCount++); writeSweText("observationType", observationType); end(SweConstants.QN_FIELD_200); } end(SweConstants.QN_DATA_RECORD_SWE_200); end(GetDataAvailabilityConstants.GDA_EXTENSION); }
protected void writeOffering(ReferenceType offering, QName element) throws XMLStreamException { start(GetDataAvailabilityConstants.GDA_EXTENSION); writeSweText("offering", offering.getHref()); end(GetDataAvailabilityConstants.GDA_EXTENSION); }
@Override public void write() throws XMLStreamException, EncodingException { start(); writeGetDataAvailabilityResponse(); end(); finish(); }
private void writeSweText(String definition, String value) throws XMLStreamException { start(SweConstants.QN_TEXT_SWE_200); attr(AN_DEFINITION, definition); writeSweValue(value); end(SweConstants.QN_TEXT_SWE_200); }
@Override public void write() throws XMLStreamException, EncodingException { start(); writeGetDataAvailabilityResponse(); end(); finish(); }
protected void writeOffering(ReferenceType offering, QName element) throws XMLStreamException { start(GetDataAvailabilityConstants.GDA_EXTENSION); writeSweText("offering", offering.getHref()); end(GetDataAvailabilityConstants.GDA_EXTENSION); }
private void writeSweText(String definition, String value) throws XMLStreamException { start(SweConstants.QN_TEXT_SWE_200); attr(AN_DEFINITION, definition); writeSweValue(value); end(SweConstants.QN_TEXT_SWE_200); }
@Override protected void writeGetDataAvailabilityResponse() throws XMLStreamException, EncodingException { start(GetDataAvailabilityConstants.GDA_GET_DATA_AVAILABILITY_RESPONSE); namespace(GetDataAvailabilityConstants.NS_GDA_PREFIX, GetDataAvailabilityConstants.NS_GDA); namespace(GmlConstants.NS_GML_PREFIX, GmlConstants.NS_GML_32); namespace(SweConstants.NS_SWE_PREFIX, SweConstants.NS_SWE_20); namespace(W3CConstants.NS_XLINK_PREFIX, W3CConstants.NS_XLINK); schemaLocation(Sets.newHashSet(GetDataAvailabilityConstants.GET_DATA_AVAILABILITY_SCHEMA_LOCATION)); for (DataAvailability da : getElement()) { wirteDataAvailabilityMember(da); } end(GetDataAvailabilityConstants.GDA_GET_DATA_AVAILABILITY_RESPONSE); }
@Override protected void writeGetDataAvailabilityResponse() throws XMLStreamException, EncodingException { start(GetDataAvailabilityConstants.GDA_GET_DATA_AVAILABILITY_RESPONSE); namespace(GetDataAvailabilityConstants.NS_GDA_PREFIX, GetDataAvailabilityConstants.NS_GDA); namespace(GmlConstants.NS_GML_PREFIX, GmlConstants.NS_GML_32); namespace(SweConstants.NS_SWE_PREFIX, SweConstants.NS_SWE_20); namespace(W3CConstants.NS_XLINK_PREFIX, W3CConstants.NS_XLINK); schemaLocation(Sets.newHashSet(GetDataAvailabilityConstants.GET_DATA_AVAILABILITY_SCHEMA_LOCATION)); for (DataAvailability da : getElement()) { wirteDataAvailabilityMember(da); } end(GetDataAvailabilityConstants.GDA_GET_DATA_AVAILABILITY_RESPONSE); }
@Override protected void wirteDataAvailabilityMember(DataAvailability da) throws XMLStreamException, EncodingException { start(GetDataAvailabilityConstants.GDA_DATA_AVAILABILITY_MEMBER); attr(GmlConstants.QN_ID_32, DATA_AVAILABILITY_PREFIX + dataAvailabilityCount++); writeProcedure(da, GetDataAvailabilityConstants.GDA_PROCEDURE); writeObservedProperty(da, GetDataAvailabilityConstants.GDA_OBSERVED_PROPERTY); writeFeatureOfInterest(da, GetDataAvailabilityConstants.GDA_FEATURE_OF_INTEREST); writePhenomenonTime(da, GetDataAvailabilityConstants.GDA_PHENOMENON_TIME); if (da.isSetCount()) { writeCount(da.getCount(), GetDataAvailabilityConstants.GDA_COUNT); } if (da.isSetResultTime()) { writeResultTimes(da.getResultTimes(), GetDataAvailabilityConstants.GDA_EXTENSION); } if (da.isSetOffering()) { writeOffering(da.getOffering(), GetDataAvailabilityConstants.GDA_EXTENSION); } if (da.isSetFormatDescriptors()) { Set<String> observationTypes = da.getFormatDescriptor().getObservationFormatDescriptors().stream() .map(ObservationFormatDescriptor::getObservationTypes).flatMap(Set::stream).collect(toSet()); writeObservationTypes(observationTypes); } if (da.isSetMetadata()) { writeMetadata(da.getMetadata(), GetDataAvailabilityConstants.GDA_EXTENSION); } end(GetDataAvailabilityConstants.GDA_DATA_AVAILABILITY_MEMBER); }
@Override protected void wirteDataAvailabilityMember(DataAvailability da) throws XMLStreamException, EncodingException { start(GetDataAvailabilityConstants.GDA_DATA_AVAILABILITY_MEMBER); attr(GmlConstants.QN_ID_32, DATA_AVAILABILITY_PREFIX + dataAvailabilityCount++); writeProcedure(da, GetDataAvailabilityConstants.GDA_PROCEDURE); writeObservedProperty(da, GetDataAvailabilityConstants.GDA_OBSERVED_PROPERTY); writeFeatureOfInterest(da, GetDataAvailabilityConstants.GDA_FEATURE_OF_INTEREST); writePhenomenonTime(da, GetDataAvailabilityConstants.GDA_PHENOMENON_TIME); if (da.isSetCount()) { writeCount(da.getCount(), GetDataAvailabilityConstants.GDA_COUNT); } if (da.isSetResultTime()) { writeResultTimes(da.getResultTimes(), GetDataAvailabilityConstants.GDA_EXTENSION); } if (da.isSetOffering()) { writeOffering(da.getOffering(), GetDataAvailabilityConstants.GDA_EXTENSION); } if (da.isSetFormatDescriptors()) { Set<String> observationTypes = da.getFormatDescriptor().getObservationFormatDescriptors().stream() .map(ObservationFormatDescriptor::getObservationTypes).flatMap(Set::stream).collect(toSet()); writeObservationTypes(observationTypes); } if (da.isSetMetadata()) { writeMetadata(da.getMetadata(), GetDataAvailabilityConstants.GDA_EXTENSION); } end(GetDataAvailabilityConstants.GDA_DATA_AVAILABILITY_MEMBER); }