use of org.n52.shetland.w3c.xlink.Type in project arctic-sea by 52North.
the class WmlTVPEncoderv20Test method shouldEncodeInterpolationType.
@Test
public void shouldEncodeInterpolationType() throws EncodingException, XmlException {
final InterpolationType type = WaterMLConstants.InterpolationType.MinPrec;
mv.setDefaultPointMetadata(new DefaultPointMetadata().setDefaultTVPMeasurementMetadata(new DefaultTVPMeasurementMetadata().setInterpolationtype(type)));
XmlObject encodedElement = encoder.encode(mv);
TVPDefaultMetadataPropertyType defaultPointMetadata = ((MeasurementTimeseriesDocument) encodedElement).getTimeseries().getDefaultPointMetadataArray(0);
DefaultTVPMeasurementMetadataDocument tvpMeasurementMetadataDocument = DefaultTVPMeasurementMetadataDocument.Factory.parse(defaultPointMetadata.xmlText());
ReferenceType interpolationType = tvpMeasurementMetadataDocument.getDefaultTVPMeasurementMetadata().getInterpolationType();
Assert.assertThat(interpolationType.getHref(), Is.is("http://www.opengis.net/def/waterml/2.0/interpolationType/MinPrec"));
Assert.assertThat(interpolationType.getTitle(), Is.is("MinPrec"));
}
use of org.n52.shetland.w3c.xlink.Type in project series-rest-api by 52North.
the class QuantityIoFactory method createHandler.
@Override
public IoHandler<QuantityData> createHandler(String outputMimeType) {
IoParameters parameters = getParameters();
MimeType mimeType = MimeType.toInstance(outputMimeType);
if (mimeType == MimeType.IMAGE_PNG) {
return createMultiChartRenderer(mimeType);
} else if (mimeType == MimeType.APPLICATION_PDF) {
ChartIoHandler imgRenderer = createMultiChartRenderer(mimeType);
PDFReportGenerator reportGenerator = new PDFReportGenerator(getRequestParameters(), createProcessChain(), imgRenderer);
reportGenerator.setBaseURI(getBasePath());
return reportGenerator;
} else if (mimeType == MimeType.TEXT_CSV || mimeType == MimeType.APPLICATION_ZIP) {
QuantityCsvIoHandler handler = new QuantityCsvIoHandler(getRequestParameters(), createProcessChain(), getMetadatas());
handler.setTokenSeparator(parameters.getOther("tokenSeparator"));
boolean zipOutput = parameters.getAsBoolean(MimeType.APPLICATION_ZIP.name());
handler.setZipOutput(zipOutput || mimeType == MimeType.APPLICATION_ZIP);
boolean byteOderMark = Boolean.parseBoolean(parameters.getOther("bom"));
handler.setIncludeByteOrderMark(byteOderMark);
return handler;
}
String msg = "The requested media type '" + outputMimeType + "' is not supported.";
IllegalArgumentException exception = new IllegalArgumentException(msg);
throw exception;
}
use of org.n52.shetland.w3c.xlink.Type in project series-rest-api by 52North.
the class IoParametersTest method when_jsonBbox_then_parsingSpatialFilter.
@Test
public void when_jsonBbox_then_parsingSpatialFilter() throws ParseException {
Map<String, String> map = Collections.singletonMap("bbox", "{\"ll\":{\"type\":\"Point\",\"coordinates\":[6.7,51.7]},\"ur\":{\"type\":\"Point\",\"coordinates\":[7.9,51.9]}}");
IoParameters parameters = createFromSingleValueMap(map);
BoundingBox actual = parameters.getSpatialFilter();
WKTReader wktReader = new WKTReader();
Geometry ll = wktReader.read("POINT (6.7 51.7)");
Geometry ur = wktReader.read("POINT(7.9 51.9)");
Assert.assertTrue(actual.getLowerLeft().equals(ll));
Assert.assertTrue(actual.getUpperRight().equals(ur));
}
use of org.n52.shetland.w3c.xlink.Type in project arctic-sea by 52North.
the class SweHelper method createBlock.
@SuppressFBWarnings("BC_VACUOUS_INSTANCEOF")
private List<String> createBlock(SweAbstractDataComponent elementType, Time phenomenonTime, String phenID, Value<?> value) {
if (elementType instanceof SweDataRecord) {
SweDataRecord elementTypeRecord = (SweDataRecord) elementType;
List<String> block = new ArrayList<>(elementTypeRecord.getFields().size());
if (!(value instanceof NilTemplateValue)) {
elementTypeRecord.getFields().forEach(field -> {
if (field.getElement() instanceof SweTime || field.getElement() instanceof SweTimeRange) {
block.add(DateTimeHelper.format(phenomenonTime));
} else if (field.getElement() instanceof SweAbstractDataComponent && field.getElement().getDefinition().equals(phenID)) {
block.add(value.getValue().toString());
} else if (field.getElement() instanceof SweObservableProperty) {
block.add(phenID);
}
});
}
return block;
}
String exceptionMsg = String.format("Type of ElementType is not supported: %s", elementType != null ? elementType.getClass().getName() : "null");
LOGGER.debug(exceptionMsg);
throw new IllegalArgumentException(exceptionMsg);
}
use of org.n52.shetland.w3c.xlink.Type in project arctic-sea by 52North.
the class GeoJSONDecoder method decodeGeometry.
protected Geometry decodeGeometry(Object o, GeometryFactory parentFactory) throws GeoJSONDecodingException {
if (!(o instanceof JsonNode)) {
throw new GeoJSONDecodingException("Cannot decode " + o);
}
final JsonNode node = (JsonNode) o;
final String type = getType(node);
final GeometryFactory factory = getGeometryFactory(node, parentFactory);
switch(type) {
case JSONConstants.POINT:
return decodePoint(node, factory);
case JSONConstants.MULTI_POINT:
return decodeMultiPoint(node, factory);
case JSONConstants.LINE_STRING:
return decodeLineString(node, factory);
case JSONConstants.MULTI_LINE_STRING:
return decodeMultiLineString(node, factory);
case JSONConstants.POLYGON:
return decodePolygon(node, factory);
case JSONConstants.MULTI_POLYGON:
return decodeMultiPolygon(node, factory);
case JSONConstants.GEOMETRY_COLLECTION:
return decodeGeometryCollection(node, factory);
default:
throw new GeoJSONDecodingException("Unkown geometry type: " + type);
}
}
Aggregations