Search in sources :

Example 1 with AssociationRoleType

use of org.geotoolkit.gml.xml.v321.AssociationRoleType in project geotoolkit by Geomatys.

the class WcsXMLBindingTest method marshallingTest200.

@Test
public void marshallingTest200() throws JAXBException, IOException, ParserConfigurationException, SAXException {
    org.geotoolkit.wcs.xml.v200.GetCoverageType getCoverage = new org.geotoolkit.wcs.xml.v200.GetCoverageType("test", "image/geotiff", null);
    ParametersType param = new ParametersType();
    param.setCompression(CompressionType.NONE);
    param.setInterleave(InterleaveType.PIXEL);
    param.setJpegQuality(10);
    param.setPredictor(PredictorType.NONE);
    param.setTileheight(12);
    param.setTilewidth(15);
    param.setTiling(true);
    ObjectFactory facto = new ObjectFactory();
    getCoverage.setExtension(new ExtensionType(facto.createParameters(param)));
    StringWriter sw = new StringWriter();
    marshaller.marshal(getCoverage, sw);
    String result = sw.toString();
    String expResult = "<wcs:GetCoverage version=\"2.0.1\" service=\"WCS\" " + "xmlns:wcs=\"http://www.opengis.net/wcs/2.0\" xmlns:geotiff=\"http://www.opengis.net/gmlcov/geotiff/1.0\">" + '\n' + "    <wcs:Extension>\n" + "        <geotiff:parameters>\n" + "            <geotiff:compression>None</geotiff:compression>\n" + "            <geotiff:jpeg_quality>10</geotiff:jpeg_quality>\n" + "            <geotiff:predictor>None</geotiff:predictor>\n" + "            <geotiff:interleave>Pixel</geotiff:interleave>\n" + "            <geotiff:tiling>true</geotiff:tiling>\n" + "            <geotiff:tileheight>12</geotiff:tileheight>\n" + "            <geotiff:tilewidth>15</geotiff:tilewidth>\n" + "        </geotiff:parameters>\n" + "    </wcs:Extension>\n" + "    <wcs:CoverageId>test</wcs:CoverageId>" + '\n' + "    <wcs:format>image/geotiff</wcs:format>" + '\n' + "</wcs:GetCoverage>" + '\n';
    assertXmlEquals(expResult, result, "xmlns:*");
    final org.geotoolkit.wcs.xml.v200.GetCoverageType unmarshalled = (org.geotoolkit.wcs.xml.v200.GetCoverageType) ((JAXBElement) unmarshaller.unmarshal(new StringReader(expResult))).getValue();
    assertEquals(getCoverage, unmarshalled);
    final org.geotoolkit.gml.xml.v321.RangeSetType rangeSet = new org.geotoolkit.gml.xml.v321.RangeSetType();
    final FileType ft = new FileType();
    ft.setMimeType("image/tiff");
    final String ext = ".tif";
    ft.setRangeParameters(new AssociationRoleType("cid:grey" + ext, "http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/conf/geotiff-coverage", "fileReference"));
    ft.setFileReference("cid:grey" + ext);
    rangeSet.setFile(ft);
    final AbstractDiscreteCoverageType cov = new AbstractDiscreteCoverageType(new CoverageDescriptionType(), rangeSet);
    final org.geotoolkit.gmlcov.xml.v100.ObjectFactory factory = new org.geotoolkit.gmlcov.xml.v100.ObjectFactory();
    JAXBElement jb = factory.createGridCoverage(cov);
    sw = new StringWriter();
    marshaller.marshal(jb, sw);
    result = sw.toString();
    System.out.println(result);
    // test the crs extension in capabilities
    List<String> supportedFormat = new ArrayList<>();
    supportedFormat.add("image/tiff");
    supportedFormat.add("application/x-netcdf");
    List<String> supportedCrs = new ArrayList<>();
    supportedCrs.add("http://www.opengis.net/def/crs/EPSG/0/4326");
    supportedCrs.add("http://www.opengis.net/def/crs/EPSG/0/666");
    ServiceMetadataType serviceMetadata = new ServiceMetadataType(supportedFormat, supportedCrs);
    CapabilitiesType capa = new CapabilitiesType(null, null, null, "2.0.1", null, null, serviceMetadata);
    sw = new StringWriter();
    marshaller.marshal(capa, sw);
    result = sw.toString();
    System.out.println(result);
    // test the crs extension in get coverage
    String subsettingCRS = "http://www.opengis.net/def/crs/EPSG/0/4326";
    String outputCRS = "http://www.opengis.net/def/crs/EPSG/0/666";
    org.geotoolkit.wcs.xml.v200.GetCoverageType getCov = new org.geotoolkit.wcs.xml.v200.GetCoverageType("CID", "geotiff", "image/tiff", subsettingCRS, outputCRS);
    sw = new StringWriter();
    marshaller.marshal(getCov, sw);
    result = sw.toString();
    System.out.println(result);
}
Also used : AssociationRoleType(org.geotoolkit.gml.xml.v321.AssociationRoleType) ArrayList(java.util.ArrayList) AbstractDiscreteCoverageType(org.geotoolkit.gmlcov.xml.v100.AbstractDiscreteCoverageType) ObjectFactory(org.geotoolkit.gmlcov.geotiff.xml.v100.ObjectFactory) StringWriter(java.io.StringWriter) CapabilitiesType(org.geotoolkit.wcs.xml.v200.CapabilitiesType) StringReader(java.io.StringReader) CoverageDescriptionType(org.geotoolkit.wcs.xml.v200.CoverageDescriptionType) ServiceMetadataType(org.geotoolkit.wcs.xml.v200.ServiceMetadataType) GetCoverageType(org.geotoolkit.wcs.xml.v100.GetCoverageType) JAXBElement(javax.xml.bind.JAXBElement) FileType(org.geotoolkit.gml.xml.v321.FileType) ExtensionType(org.geotoolkit.wcs.xml.v200.ExtensionType) ParametersType(org.geotoolkit.gmlcov.geotiff.xml.v100.ParametersType)

Aggregations

StringReader (java.io.StringReader)1 StringWriter (java.io.StringWriter)1 ArrayList (java.util.ArrayList)1 JAXBElement (javax.xml.bind.JAXBElement)1 AssociationRoleType (org.geotoolkit.gml.xml.v321.AssociationRoleType)1 FileType (org.geotoolkit.gml.xml.v321.FileType)1 ObjectFactory (org.geotoolkit.gmlcov.geotiff.xml.v100.ObjectFactory)1 ParametersType (org.geotoolkit.gmlcov.geotiff.xml.v100.ParametersType)1 AbstractDiscreteCoverageType (org.geotoolkit.gmlcov.xml.v100.AbstractDiscreteCoverageType)1 GetCoverageType (org.geotoolkit.wcs.xml.v100.GetCoverageType)1 CapabilitiesType (org.geotoolkit.wcs.xml.v200.CapabilitiesType)1 CoverageDescriptionType (org.geotoolkit.wcs.xml.v200.CoverageDescriptionType)1 ExtensionType (org.geotoolkit.wcs.xml.v200.ExtensionType)1 ServiceMetadataType (org.geotoolkit.wcs.xml.v200.ServiceMetadataType)1