Search in sources :

Example 6 with AbstractDataComponentType

use of org.geotoolkit.swe.xml.v101.AbstractDataComponentType in project geotoolkit by Geomatys.

the class SweXMLBindingTest method marshallingTest.

/**
 * Test simple Record Marshalling.
 */
@Test
public void marshallingTest() throws JAXBException, IOException, ParserConfigurationException, SAXException {
    Text text = new Text("definition", "some value");
    StringWriter sw = new StringWriter();
    marshaller.marshal(text, sw);
    String result = sw.toString();
    // we remove the first line
    result = result.substring(result.indexOf("?>") + 2).trim();
    // we remove the xmlmns
    result = StringUtilities.removeXmlns(result);
    String expResult = "<swe:Text definition=\"definition\" >" + '\n' + "  <swe:value>some value</swe:value>" + '\n' + "</swe:Text>";
    assertEquals(expResult, result.trim());
    SimpleDataRecordType elementType = new SimpleDataRecordType();
    AnyScalarPropertyType any = new AnyScalarPropertyType("id-1", "any name", text);
    TextBlockType encoding = new TextBlockType("encoding-1", ",", "@@", ".");
    elementType.setField(Arrays.asList(any));
    DataArrayType array = new DataArrayType("array-id-1", 0, "array-id-1", elementType, encoding, null, null);
    sw = new StringWriter();
    marshaller.marshal(array, sw);
    result = sw.toString();
    // we remove the first line
    result = result.substring(result.indexOf("?>") + 2).trim();
    expResult = "<swe:DataArray gml:id=\"array-id-1\"" + " xmlns:gml=\"http://www.opengis.net/gml\"" + " xmlns:swe=\"http://www.opengis.net/swe/1.0.1\">" + '\n' + "    <swe:elementCount>" + '\n' + "        <swe:Count>" + '\n' + "            <swe:value>0</swe:value>" + '\n' + "        </swe:Count>" + '\n' + "    </swe:elementCount>" + '\n' + "    <swe:elementType name=\"array-id-1\">" + '\n' + "        <swe:SimpleDataRecord>" + '\n' + "            <swe:field name=\"any name\">" + '\n' + "                <swe:Text definition=\"definition\">" + '\n' + "                    <swe:value>some value</swe:value>" + '\n' + "                </swe:Text>" + '\n' + "            </swe:field>" + '\n' + "        </swe:SimpleDataRecord>" + '\n' + "    </swe:elementType>" + '\n' + "    <swe:encoding>" + '\n' + "        <swe:TextBlock blockSeparator=\"@@\" decimalSeparator=\".\" tokenSeparator=\",\" id=\"encoding-1\"/>" + '\n' + "    </swe:encoding>" + '\n' + "</swe:DataArray>" + '\n';
    assertXmlEquals(expResult, result, "xmlns:*");
    ObjectFactory factory = new ObjectFactory();
    final List<DataComponentPropertyType> fields = new ArrayList<DataComponentPropertyType>();
    fields.add(DataComponentPropertyType.LATITUDE_FIELD);
    fields.add(DataComponentPropertyType.LONGITUDE_FIELD);
    fields.add(DataComponentPropertyType.TIME_FIELD);
    final DataRecordType posRecord = new DataRecordType(null, fields);
    final DataBlockDefinitionType definition = new DataBlockDefinitionType(null, Arrays.asList((AbstractDataComponentType) posRecord), TextBlockType.DEFAULT_ENCODING);
    marshaller.marshal(factory.createDataBlockDefinition(definition), System.out);
    org.geotoolkit.swe.xml.v200.ObjectFactory factoryV200 = new org.geotoolkit.swe.xml.v200.ObjectFactory();
    org.geotoolkit.swe.xml.v200.DataArrayType arrayV200 = new org.geotoolkit.swe.xml.v200.DataArrayType("test-id", 2, null, "balbbla", "test-id", null, null);
    marshaller.marshal(factoryV200.createDataArray(arrayV200), System.out);
}
Also used : SimpleDataRecordType(org.geotoolkit.swe.xml.v101.SimpleDataRecordType) DataRecordType(org.geotoolkit.swe.xml.v101.DataRecordType) AnyScalarPropertyType(org.geotoolkit.swe.xml.v101.AnyScalarPropertyType) ArrayList(java.util.ArrayList) Text(org.geotoolkit.swe.xml.v101.Text) DataBlockDefinitionType(org.geotoolkit.swe.xml.v101.DataBlockDefinitionType) AbstractDataComponentType(org.geotoolkit.swe.xml.v101.AbstractDataComponentType) StringWriter(java.io.StringWriter) ObjectFactory(org.geotoolkit.swe.xml.v101.ObjectFactory) TextBlockType(org.geotoolkit.swe.xml.v101.TextBlockType) DataComponentPropertyType(org.geotoolkit.swe.xml.v101.DataComponentPropertyType) SimpleDataRecordType(org.geotoolkit.swe.xml.v101.SimpleDataRecordType) DataArrayType(org.geotoolkit.swe.xml.v101.DataArrayType)

Example 7 with AbstractDataComponentType

use of org.geotoolkit.swe.xml.v101.AbstractDataComponentType in project geotoolkit by Geomatys.

the class SweXMLBindingTest method cloneDataBlockDefinitionTest.

@Test
public void cloneDataBlockDefinitionTest() throws Exception {
    final List<DataComponentPropertyType> fields = new ArrayList<DataComponentPropertyType>();
    fields.add(DataComponentPropertyType.LATITUDE_FIELD);
    fields.add(DataComponentPropertyType.LONGITUDE_FIELD);
    fields.add(DataComponentPropertyType.TIME_FIELD);
    final DataRecordType posRecord = new DataRecordType(null, fields);
    final DataBlockDefinitionType expResult = new DataBlockDefinitionType(null, Arrays.asList((AbstractDataComponentType) posRecord), TextBlockType.DEFAULT_ENCODING);
    final DataBlockDefinitionType result = new DataBlockDefinitionType(expResult);
    assertEquals(expResult.getEncoding(), result.getEncoding());
    assertEquals(expResult, result);
}
Also used : SimpleDataRecordType(org.geotoolkit.swe.xml.v101.SimpleDataRecordType) DataRecordType(org.geotoolkit.swe.xml.v101.DataRecordType) AbstractDataComponentType(org.geotoolkit.swe.xml.v101.AbstractDataComponentType) ArrayList(java.util.ArrayList) DataComponentPropertyType(org.geotoolkit.swe.xml.v101.DataComponentPropertyType) DataBlockDefinitionType(org.geotoolkit.swe.xml.v101.DataBlockDefinitionType)

Aggregations

AbstractDataComponentType (net.opengis.swe.x101.AbstractDataComponentType)3 SweBoolean (org.n52.shetland.ogc.swe.simpleType.SweBoolean)3 SweCategory (org.n52.shetland.ogc.swe.simpleType.SweCategory)3 SweCount (org.n52.shetland.ogc.swe.simpleType.SweCount)3 SweQuantity (org.n52.shetland.ogc.swe.simpleType.SweQuantity)3 SweText (org.n52.shetland.ogc.swe.simpleType.SweText)3 SweTime (org.n52.shetland.ogc.swe.simpleType.SweTime)3 ArrayList (java.util.ArrayList)2 AbstractDataComponentType (net.opengis.swe.x20.AbstractDataComponentType)2 XmlObject (org.apache.xmlbeans.XmlObject)2 AbstractDataComponentType (org.geotoolkit.swe.xml.v101.AbstractDataComponentType)2 DataBlockDefinitionType (org.geotoolkit.swe.xml.v101.DataBlockDefinitionType)2 DataComponentPropertyType (org.geotoolkit.swe.xml.v101.DataComponentPropertyType)2 DataRecordType (org.geotoolkit.swe.xml.v101.DataRecordType)2 SimpleDataRecordType (org.geotoolkit.swe.xml.v101.SimpleDataRecordType)2 SweCountRange (org.n52.shetland.ogc.swe.simpleType.SweCountRange)2 SweObservableProperty (org.n52.shetland.ogc.swe.simpleType.SweObservableProperty)2 SweQuantityRange (org.n52.shetland.ogc.swe.simpleType.SweQuantityRange)2 SweTimeRange (org.n52.shetland.ogc.swe.simpleType.SweTimeRange)2 Joiner (com.google.common.base.Joiner)1