use of org.n52.shetland.ogc.swe.simpleType.SweQuantityRange in project arctic-sea by 52North.
the class SweCommonDecoderV101Test method should_decode_QuantityRange.
@Test
public void should_decode_QuantityRange() throws DecodingException {
final QuantityRangeDocument xbQuantityRange = QuantityRangeDocument.Factory.newInstance();
final ArrayList<BigDecimal> values = Lists.newArrayList(BigDecimal.valueOf(1.0), BigDecimal.valueOf(2.0));
final QuantityRange xbQuantityRangeType = xbQuantityRange.addNewQuantityRange();
xbQuantityRangeType.setValue(values);
final String definition = "definition";
xbQuantityRangeType.setDefinition(definition);
final String axisId = "axis-id";
xbQuantityRangeType.setAxisID(axisId);
final String description = "description";
xbQuantityRangeType.addNewDescription().setStringValue(description);
final UomPropertyType xbUom = xbQuantityRangeType.addNewUom();
final String uomCode = "uom-code";
xbUom.setCode(uomCode);
final Object decodedObject = new SweCommonDecoderV101().decode(xbQuantityRange);
assertThat(decodedObject, is(instanceOf(SweQuantityRange.class)));
final SweQuantityRange sweQuantityRange = (SweQuantityRange) decodedObject;
assertThat(sweQuantityRange.isSetDefinition(), is(true));
assertThat(sweQuantityRange.getDefinition(), is(definition));
assertThat(sweQuantityRange.isSetUom(), is(true));
assertThat(sweQuantityRange.getUom(), is(uomCode));
assertThat(sweQuantityRange.isSetAxisID(), is(true));
assertThat(sweQuantityRange.getAxisID(), is(axisId));
assertThat(sweQuantityRange.isSetDescription(), is(true));
assertThat(sweQuantityRange.getDescription(), is(description));
assertThat(sweQuantityRange.isSetValue(), is(true));
assertThat(sweQuantityRange.getValue().getRangeStart(), is(values.get(0)));
assertThat(sweQuantityRange.getValue().getRangeEnd(), is(values.get(1)));
}
use of org.n52.shetland.ogc.swe.simpleType.SweQuantityRange in project arctic-sea by 52North.
the class SweCommonEncoderv101 method createField.
private DataComponentPropertyType createField(SweField sweField) throws EncodingException {
SweAbstractDataComponent sosElement = sweField.getElement();
DataComponentPropertyType xbField = DataComponentPropertyType.Factory.newInstance(getXmlOptions());
if (sweField.isSetName()) {
xbField.setName(sweField.getName().getValue());
}
if (sosElement instanceof SweBoolean) {
xbField.addNewBoolean().set(createSimpleType((SweBoolean) sosElement));
} else if (sosElement instanceof SweCategory) {
xbField.addNewCategory().set(createSimpleType((SweCategory) sosElement));
} else if (sosElement instanceof SweCount) {
xbField.addNewCount().set(createSimpleType((SweCount) sosElement));
} else if (sosElement instanceof SweCountRange) {
xbField.addNewCount().set(createSimpleType((SweCountRange) sosElement));
} else if (sosElement instanceof SweQuantity) {
xbField.addNewQuantity().set(createSimpleType((SweQuantity) sosElement));
} else if (sosElement instanceof SweQuantityRange) {
xbField.addNewQuantity().set(createSimpleType((SweQuantityRange) sosElement));
} else if (sosElement instanceof SweText) {
xbField.addNewText().set(createSimpleType((SweText) sosElement));
} else if (sosElement instanceof SweTimeRange) {
xbField.addNewTimeRange().set(createSimpleType((SweTimeRange) sosElement));
} else if (sosElement instanceof SweTime) {
xbField.addNewTime().set(createSimpleType((SweTime) sosElement));
} else if (sosElement instanceof SweEnvelope) {
EnvelopeType xbEnvelope = (EnvelopeType) xbField.addNewAbstractDataRecord().substitute(SweConstants.QN_ENVELOPE_SWE_101, EnvelopeType.type);
xbEnvelope.set(createEnvelope((SweEnvelope) sosElement));
} else if (sosElement instanceof SweDataRecord) {
DataRecordType xbEnvelope = (DataRecordType) xbField.addNewAbstractDataRecord().substitute(SweConstants.QN_DATA_RECORD_SWE_101, DataRecordType.type);
xbEnvelope.set(createDataRecord((SweDataRecord) sosElement));
} else if (sosElement instanceof SweDataArray) {
DataArrayType xbEnvelope = (DataArrayType) xbField.addNewAbstractDataRecord().substitute(SweConstants.QN_DATA_RECORD_SWE_101, DataArrayType.type);
xbEnvelope.set(createDataArray((SweDataArray) sosElement).getDataArray1());
} else {
throw new EncodingException("The element type '%s' of the received '%s' is not supported by this encoder '%s'.", new Object[] { sosElement != null ? sosElement.getClass().getName() : null, sweField.getClass().getName(), getClass().getName() });
}
return xbField;
}
use of org.n52.shetland.ogc.swe.simpleType.SweQuantityRange in project arctic-sea by 52North.
the class SweCommonEncoderv101 method createSimpleType.
private AbstractDataComponentType createSimpleType(SweAbstractSimpleType<?> sosSimpleType, EncodingContext additionalValues) throws EncodingException {
AbstractDataComponentType abstractDataComponentType = null;
if (sosSimpleType instanceof SweBoolean) {
abstractDataComponentType = createBoolean((SweBoolean) sosSimpleType);
} else if (sosSimpleType instanceof SweCategory) {
abstractDataComponentType = createCategory((SweCategory) sosSimpleType);
} else if (sosSimpleType instanceof SweCount) {
abstractDataComponentType = createCount((SweCount) sosSimpleType);
} else if (sosSimpleType instanceof SweCountRange) {
abstractDataComponentType = createCountRange((SweCountRange) sosSimpleType);
} else if (sosSimpleType instanceof SweObservableProperty) {
abstractDataComponentType = createObservableProperty((SweObservableProperty) sosSimpleType);
} else if (sosSimpleType instanceof SweQuantity) {
abstractDataComponentType = createQuantity((SweQuantity) sosSimpleType);
} else if (sosSimpleType instanceof SweQuantityRange) {
abstractDataComponentType = createQuantityRange((SweQuantityRange) sosSimpleType);
} else if (sosSimpleType instanceof SweText) {
abstractDataComponentType = createText((SweText) sosSimpleType);
} else if (sosSimpleType instanceof SweTimeRange) {
abstractDataComponentType = createTimeRange((SweTimeRange) sosSimpleType);
} else if (sosSimpleType instanceof SweTime) {
abstractDataComponentType = createTime((SweTime) sosSimpleType);
} else {
throw new NotYetSupportedEncodingException(SweAbstractSimpleType.class.getSimpleName(), sosSimpleType);
}
addAbstractDataComponentValues(abstractDataComponentType, sosSimpleType);
return abstractDataComponentType;
}
Aggregations