Search in sources :

Example 1 with CategoryDocument

use of net.opengis.swe.x20.CategoryDocument in project arctic-sea by 52North.

the class SweCommonEncoderv20 method asDocument.

private XmlObject asDocument(AbstractDataComponentType type) throws NotYetSupportedEncodingException {
    if (type instanceof BooleanType) {
        BooleanDocument document = BooleanDocument.Factory.newInstance();
        document.setBoolean((BooleanType) type);
        return document;
    } else if (type instanceof CountType) {
        CountDocument document = CountDocument.Factory.newInstance();
        document.setCount((CountType) type);
        return document;
    } else if (type instanceof CountRangeType) {
        CountRangeDocument document = CountRangeDocument.Factory.newInstance();
        document.setCountRange((CountRangeType) type);
        return document;
    } else if (type instanceof QuantityType) {
        QuantityDocument document = QuantityDocument.Factory.newInstance();
        document.setQuantity((QuantityType) type);
        return document;
    } else if (type instanceof QuantityRangeType) {
        QuantityRangeDocument document = QuantityRangeDocument.Factory.newInstance();
        document.setQuantityRange((QuantityRangeType) type);
        return document;
    } else if (type instanceof TimeType) {
        TimeDocument document = TimeDocument.Factory.newInstance();
        document.setTime((TimeType) type);
        return document;
    } else if (type instanceof TimeRangeType) {
        TimeRangeDocument document = TimeRangeDocument.Factory.newInstance();
        document.setTimeRange((TimeRangeType) type);
        return document;
    } else if (type instanceof CategoryType) {
        CategoryDocument document = CategoryDocument.Factory.newInstance();
        document.setCategory((CategoryType) type);
        return document;
    } else if (type instanceof CategoryRangeType) {
        CategoryRangeDocument document = CategoryRangeDocument.Factory.newInstance();
        document.setCategoryRange((CategoryRangeType) type);
        return document;
    } else if (type instanceof MatrixType) {
        MatrixDocument document = MatrixDocument.Factory.newInstance();
        document.setMatrix((MatrixType) type);
        return document;
    } else if (type instanceof DataArrayType) {
        DataArrayDocument document = DataArrayDocument.Factory.newInstance();
        document.setDataArray1((DataArrayType) type);
        return document;
    } else if (type instanceof DataChoiceType) {
        DataChoiceDocument document = DataChoiceDocument.Factory.newInstance();
        document.setDataChoice((DataChoiceType) type);
        return document;
    } else if (type instanceof DataRecordType) {
        DataRecordDocument document = DataRecordDocument.Factory.newInstance();
        document.setDataRecord((DataRecordType) type);
        return document;
    } else if (type instanceof TextType) {
        TextDocument document = TextDocument.Factory.newInstance();
        document.setText((TextType) type);
        return document;
    } else if (type instanceof VectorType) {
        VectorDocument document = VectorDocument.Factory.newInstance();
        document.setVector((VectorType) type);
        return document;
    } else {
        throw new NotYetSupportedEncodingException(type.getClass().getName(), type);
    }
}
Also used : MatrixDocument(net.opengis.swe.x20.MatrixDocument) DataRecordType(net.opengis.swe.x20.DataRecordType) CategoryRangeType(net.opengis.swe.x20.CategoryRangeType) NotYetSupportedEncodingException(org.n52.svalbard.encode.exception.NotYetSupportedEncodingException) TimeRangeDocument(net.opengis.swe.x20.TimeRangeDocument) CategoryType(net.opengis.swe.x20.CategoryType) CountType(net.opengis.swe.x20.CountType) QuantityDocument(net.opengis.swe.x20.QuantityDocument) TimeType(net.opengis.swe.x20.TimeType) VectorDocument(net.opengis.swe.x20.VectorDocument) CountRangeType(net.opengis.swe.x20.CountRangeType) DataChoiceType(net.opengis.swe.x20.DataChoiceType) VectorType(net.opengis.swe.x20.VectorType) DataChoiceDocument(net.opengis.swe.x20.DataChoiceDocument) CountRangeDocument(net.opengis.swe.x20.CountRangeDocument) DataArrayType(net.opengis.swe.x20.DataArrayType) DataArrayDocument(net.opengis.swe.x20.DataArrayDocument) TextDocument(net.opengis.swe.x20.TextDocument) BooleanType(net.opengis.swe.x20.BooleanType) BooleanDocument(net.opengis.swe.x20.BooleanDocument) DataRecordDocument(net.opengis.swe.x20.DataRecordDocument) TextType(net.opengis.swe.x20.TextType) TimeRangeType(net.opengis.swe.x20.TimeRangeType) CategoryDocument(net.opengis.swe.x20.CategoryDocument) CategoryRangeDocument(net.opengis.swe.x20.CategoryRangeDocument) CountDocument(net.opengis.swe.x20.CountDocument) QuantityType(net.opengis.swe.x20.QuantityType) MatrixType(net.opengis.swe.x20.MatrixType) QuantityRangeDocument(net.opengis.swe.x20.QuantityRangeDocument) TimeDocument(net.opengis.swe.x20.TimeDocument) QuantityRangeType(net.opengis.swe.x20.QuantityRangeType)

Example 2 with CategoryDocument

use of net.opengis.swe.x20.CategoryDocument in project arctic-sea by 52North.

the class SweCommonDecoderV101Test method should_decode_Category_with_Quality_QuantityRange.

@Test
public void should_decode_Category_with_Quality_QuantityRange() throws DecodingException {
    final CategoryDocument xbQuantity = CategoryDocument.Factory.newInstance();
    final BigDecimal rangeStart = BigDecimal.valueOf(1.0);
    final BigDecimal rangeEnd = BigDecimal.valueOf(2.0);
    final ArrayList<BigDecimal> categoryValue = Lists.newArrayList(rangeStart, rangeEnd);
    xbQuantity.addNewCategory().addNewQuality().addNewQuantityRange().setValue(categoryValue);
    final Object decodedObject = new SweCommonDecoderV101().decode(xbQuantity);
    assertThat(decodedObject, is(instanceOf(SweCategory.class)));
    final SweCategory sweCategory = (SweCategory) decodedObject;
    assertThat(sweCategory.isSetQuality(), is(true));
    assertThat(sweCategory.getQuality().size(), is(1));
    assertThat(sweCategory.getQuality().iterator().next(), is(instanceOf(SweQuantityRange.class)));
    assertThat(((SweQuantityRange) sweCategory.getQuality().iterator().next()).getValue(), is(new RangeValue<BigDecimal>(rangeStart, rangeEnd)));
}
Also used : CategoryDocument(net.opengis.swe.x101.CategoryDocument) SweCategory(org.n52.shetland.ogc.swe.simpleType.SweCategory) BigDecimal(java.math.BigDecimal) RangeValue(org.n52.shetland.ogc.swe.RangeValue) Test(org.junit.Test)

Aggregations

BigDecimal (java.math.BigDecimal)1 CategoryDocument (net.opengis.swe.x101.CategoryDocument)1 BooleanDocument (net.opengis.swe.x20.BooleanDocument)1 BooleanType (net.opengis.swe.x20.BooleanType)1 CategoryDocument (net.opengis.swe.x20.CategoryDocument)1 CategoryRangeDocument (net.opengis.swe.x20.CategoryRangeDocument)1 CategoryRangeType (net.opengis.swe.x20.CategoryRangeType)1 CategoryType (net.opengis.swe.x20.CategoryType)1 CountDocument (net.opengis.swe.x20.CountDocument)1 CountRangeDocument (net.opengis.swe.x20.CountRangeDocument)1 CountRangeType (net.opengis.swe.x20.CountRangeType)1 CountType (net.opengis.swe.x20.CountType)1 DataArrayDocument (net.opengis.swe.x20.DataArrayDocument)1 DataArrayType (net.opengis.swe.x20.DataArrayType)1 DataChoiceDocument (net.opengis.swe.x20.DataChoiceDocument)1 DataChoiceType (net.opengis.swe.x20.DataChoiceType)1 DataRecordDocument (net.opengis.swe.x20.DataRecordDocument)1 DataRecordType (net.opengis.swe.x20.DataRecordType)1 MatrixDocument (net.opengis.swe.x20.MatrixDocument)1 MatrixType (net.opengis.swe.x20.MatrixType)1