|
|
|
svn_geotools
|
Author: afabiani
Date: 2009-11-09 09:30:13 -0500 (Mon, 09 Nov 2009) New Revision: 34349 Added: trunk/modules/extension/xsd/xsd-wcs/ trunk/modules/extension/xsd/xsd-wcs/LICENSE.txt trunk/modules/extension/xsd/xsd-wcs/pom.xml trunk/modules/extension/xsd/xsd-wcs/src/ trunk/modules/extension/xsd/xsd-wcs/src/main/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GML.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GMLConfiguration.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGMLTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometricPrimitiveTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryBaseTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractMetaDataTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingPropertyTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractSurfaceTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/BoundingShapeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeListTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DirectPositionTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DoubleListBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeWithTimePeriodTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3EncodingUtils.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3ParsingUtils.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridEnvelopeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridLimitsTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/IntegerListBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/LinearRingTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/MetaDataPropertyTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/NameListBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PointTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PolygonTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/RectifiedGridTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/ReferenceTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/StringOrRefTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TemporalPositionTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeDurationTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeIndeterminateValueTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimePositionTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/VectorTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCS.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCSConfiguration.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionBaseTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AddressTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionType_valuesBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CapabilitiesSectionTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ContactTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingBriefTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeType_HTTPBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSetTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSubsetTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/InterpolationMethodTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/IntervalTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeBaseTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataAssociationTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataLinkTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OnlineResourceTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OutputTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSetTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetType_axisSubsetBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ResponsiblePartyTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ServiceTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialDomainTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialSubsetTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedCRSsTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedFormatsTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedInterpolationsTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TelephoneTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimePeriodTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimeSequenceTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TypedLiteralTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumBaseTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueRangeTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_ExceptionBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_RequestBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_VendorSpecificCapabilitiesBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCS_CapabilitiesTypeBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_ContentMetadataBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_CoverageDescriptionBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_DescribeCoverageBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCapabilitiesBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCoverageBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_axisDescriptionBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_keywordsBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_rangeSetBinding.java trunk/modules/extension/xsd/xsd-wcs/src/main/resources/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/bindings/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/gml4wcs.xsd trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/bindings/ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/describeCoverage.xsd trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/getCoverage.xsd trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/owsBase.xsd trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/values.xsd trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/wcsCapabilities.xsd trunk/modules/extension/xsd/xsd-wcs/src/site/ trunk/modules/extension/xsd/xsd-wcs/src/site/apt/ trunk/modules/extension/xsd/xsd-wcs/src/site/apt/review.apt trunk/modules/extension/xsd/xsd-wcs/src/site/site.xml trunk/modules/extension/xsd/xsd-wcs/src/test/ trunk/modules/extension/xsd/xsd-wcs/src/test/java/ Modified: trunk/modules/extension/xsd/pom.xml Log: - XML Parser for WCS 1.0.0 Modified: trunk/modules/extension/xsd/pom.xml =================================================================== --- trunk/modules/extension/xsd/pom.xml 2009-11-09 14:24:54 UTC (rev 34348) +++ trunk/modules/extension/xsd/pom.xml 2009-11-09 14:30:13 UTC (rev 34349) @@ -90,6 +90,7 @@ <module>xsd-kml</module> <module>xsd-ows</module> <module>xsd-wfs</module> + <module>xsd-wcs</module> <module>xsd-wps</module> </modules> Added: trunk/modules/extension/xsd/xsd-wcs/LICENSE.txt =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/LICENSE.txt (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/LICENSE.txt 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,17 @@ +/* + * Geotools2 - OpenSource mapping toolkit + * http://geotools.org + * (C) 2002, Geotools Project Managment Committee (PMC) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/LICENSE.txt ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/pom.xml =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/pom.xml (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/pom.xml 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- ======================================================================= + Maven Project Configuration File + + The Geotools Project + http://www.geotools.org/ + + Version: $Id: pom.xml 30851 2008-07-03 15:04:12Z cedricbr $ + ======================================================================= --> + <project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.geotools.xsd</groupId> + <artifactId>xsd</artifactId> + <version>2.7-SNAPSHOT</version> + </parent> + + <!-- =========================================================== --> + <!-- Module Description --> + <!-- =========================================================== --> + <groupId>org.geotools.xsd</groupId> + <artifactId>gt-xsd-wcs</artifactId> + <packaging>jar</packaging> + <name>WCS XML Support</name> + <url>http://maven.geotools.fr/reports/modules/extension/xsd/xsd-wcs/</url> + + <scm> + <connection> + scm:svn:http://svn.geotools.org/trunk/modules/extension/xsd/xsd-wcs/ + </connection> + <url>http://svn.geotools.org/trunk/modules/extension/xsd/xsd-wcs/</url> + </scm> + + <description> + WCS 1.0.0 Bindings. + </description> + + <licenses> + <license> + <name>Lesser General Public License (LGPL)</name> + <url>http://www.gnu.org/copyleft/lesser.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + + + <!-- =========================================================== --> + <!-- Developers and Contributors --> + <!-- =========================================================== --> + <developers> + <developer> + <name>Alessio Fabiani</name> + <id>afabiani</id> + <email>[hidden email]</email> + <organization>GeoSolutions</organization> + <roles> + <role>Java Developer</role> + </roles> + </developer> + </developers> + + + <!-- =========================================================== --> + <!-- Dependency Management --> + <!-- =========================================================== --> + <dependencies> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt-xml</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools.xsd</groupId> + <artifactId>gt-xsd-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools.xsd</groupId> + <artifactId>gt-xsd-ows</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools.ogc</groupId> + <artifactId>net.opengis.ows</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools.ogc</groupId> + <artifactId>org.w3.xlink</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt-metadata</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt-referencing</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt-temporal</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt-epsg-hsql</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>org.geotools.ogc</groupId> + <artifactId>net.opengis.wcs</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt-sample-data</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.5</source> <!-- The -source argument for the Java compiler. --> + <target>1.5</target> <!-- The -target argument for the Java compiler. --> + <debug>true</debug> <!-- Whether to include debugging information. --> + <encoding>UTF-8</encoding> <!-- The -encoding argument for the Java compiler. --> + </configuration> + </plugin> + + <plugin> + <groupId>org.geotools.maven</groupId> + <artifactId>xmlcodegen</artifactId> + <configuration> + <schemaLocation>getCapabilites.xsd</schemaLocation> + <schemaSourceDirectory>${basedir}/src/main/resources/org/geotools/wcs/</schemaSourceDirectory> + <schemaLookupDirectories> + <schemaLookupDirectory>${basedir}/../ows/src/main/resources/org/geotools/ows/</schemaLookupDirectory> + </schemaLookupDirectories> + <sourceLocation>src\main\java</sourceLocation> + <testLocation>src\main\test</testLocation> + <resourceLocation>src\main\resources</resourceLocation> + <destinationPackage>org.geotools.wcs10.bindings</destinationPackage> + <complexBindingBaseClass>org.geotools.xml.AbstractComplexEMFBinding</complexBindingBaseClass> + <bindingConstructorArguments> + <bindingConstructorArgument> + <name>factory</name> + <type>net.opengis.wfs.WfsFactory</type> + <mode>parent</mode> + </bindingConstructorArgument> + </bindingConstructorArguments> + </configuration> + </plugin> + </plugins> + </build> + +</project> \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/pom.xml ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GML.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GML.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GML.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,279 @@ +package org.geotools.gml4wcs; + +import java.util.Set; + +import javax.xml.namespace.QName; + +import org.geotools.xlink.XLINK; +import org.geotools.xml.XSD; + +/** + * This interface contains the qualified names of all the types,elements, and + * attributes in the http://www.opengis.net/gml schema. + * + * @generated + */ +public final class GML extends XSD { + + /** singleton instance */ + private static final GML instance = new GML(); + + /** + * Returns the singleton instance. + */ + public static final GML getInstance() { + return instance; + } + + /** + * private constructor + */ + private GML() { + } + + protected void addDependencies(Set dependencies) { + super.addDependencies(dependencies); + + dependencies.add(XLINK.getInstance()); + } + + /** + * Returns 'http://www.opengis.net/gml'. + */ + public String getNamespaceURI() { + return NAMESPACE; + } + + /** + * Returns the location of 'gml4wcs.xsd.'. + */ + public String getSchemaLocation() { + return getClass().getResource("gml4wcs.xsd").toString(); + } + + /** @generated */ + public static final String NAMESPACE = "http://www.opengis.net/gml"; + + /* Type Definitions */ + /** @generated */ + public static final QName AbstractGeometricPrimitiveType = new QName( + "http://www.opengis.net/gml", "AbstractGeometricPrimitiveType"); + + /** @generated */ + public static final QName AbstractGeometryBaseType = new QName( + "http://www.opengis.net/gml", "AbstractGeometryBaseType"); + + /** @generated */ + public static final QName AbstractGeometryType = new QName( + "http://www.opengis.net/gml", "AbstractGeometryType"); + + /** @generated */ + public static final QName AbstractGMLType = new QName( + "http://www.opengis.net/gml", "AbstractGMLType"); + + /** @generated */ + public static final QName AbstractMetaDataType = new QName( + "http://www.opengis.net/gml", "AbstractMetaDataType"); + + /** @generated */ + public static final QName AbstractRingPropertyType = new QName( + "http://www.opengis.net/gml", "AbstractRingPropertyType"); + + /** @generated */ + public static final QName AbstractRingType = new QName( + "http://www.opengis.net/gml", "AbstractRingType"); + + /** @generated */ + public static final QName AbstractSurfaceType = new QName( + "http://www.opengis.net/gml", "AbstractSurfaceType"); + + /** @generated */ + public static final QName BoundingShapeType = new QName( + "http://www.opengis.net/gml", "BoundingShapeType"); + + /** @generated */ + public static final QName CodeListType = new QName( + "http://www.opengis.net/gml", "CodeListType"); + + /** @generated */ + public static final QName CodeType = new QName( + "http://www.opengis.net/gml", "CodeType"); + + /** @generated */ + public static final QName DirectPositionType = new QName( + "http://www.opengis.net/gml", "DirectPositionType"); + + /** @generated */ + public static final QName doubleList = new QName( + "http://www.opengis.net/gml", "doubleList"); + + /** @generated */ + public static final QName EnvelopeType = new QName( + "http://www.opengis.net/gml", "EnvelopeType"); + + /** @generated */ + public static final QName EnvelopeWithTimePeriodType = new QName( + "http://www.opengis.net/gml", "EnvelopeWithTimePeriodType"); + + /** @generated */ + public static final QName GridEnvelopeType = new QName( + "http://www.opengis.net/gml", "GridEnvelopeType"); + + /** @generated */ + public static final QName GridLimitsType = new QName( + "http://www.opengis.net/gml", "GridLimitsType"); + + /** @generated */ + public static final QName GridType = new QName( + "http://www.opengis.net/gml", "GridType"); + + /** @generated */ + public static final QName integerList = new QName( + "http://www.opengis.net/gml", "integerList"); + + /** @generated */ + public static final QName LinearRingType = new QName( + "http://www.opengis.net/gml", "LinearRingType"); + + /** @generated */ + public static final QName MetaDataPropertyType = new QName( + "http://www.opengis.net/gml", "MetaDataPropertyType"); + + /** @generated */ + public static final QName NameList = new QName( + "http://www.opengis.net/gml", "NameList"); + + /** @generated */ + public static final QName PointType = new QName( + "http://www.opengis.net/gml", "PointType"); + + /** @generated */ + public static final QName PolygonType = new QName( + "http://www.opengis.net/gml", "PolygonType"); + + /** @generated */ + public static final QName RectifiedGridType = new QName( + "http://www.opengis.net/gml", "RectifiedGridType"); + + /** @generated */ + public static final QName ReferenceType = new QName( + "http://www.opengis.net/gml", "ReferenceType"); + + /** @generated */ + public static final QName StringOrRefType = new QName( + "http://www.opengis.net/gml", "StringOrRefType"); + + /** @generated */ + public static final QName TemporalPositionType = new QName( + "http://www.opengis.net/gml", "TemporalPositionType"); + + /** @generated */ + public static final QName TimeDurationType = new QName( + "http://www.opengis.net/gml", "TimeDurationType"); + + /** @generated */ + public static final QName TimeIndeterminateValueType = new QName( + "http://www.opengis.net/gml", "TimeIndeterminateValueType"); + + /** @generated */ + public static final QName TimePositionType = new QName( + "http://www.opengis.net/gml", "TimePositionType"); + + /** @generated */ + public static final QName VectorType = new QName( + "http://www.opengis.net/gml", "VectorType"); + + /* Elements */ + /** @generated */ + public static final QName _GeometricPrimitive = new QName( + "http://www.opengis.net/gml", "_GeometricPrimitive"); + + /** @generated */ + public static final QName _Geometry = new QName( + "http://www.opengis.net/gml", "_Geometry"); + + /** @generated */ + public static final QName _GML = new QName("http://www.opengis.net/gml", + "_GML"); + + /** @generated */ + public static final QName _MetaData = new QName( + "http://www.opengis.net/gml", "_MetaData"); + + /** @generated */ + public static final QName _Object = new QName("http://www.opengis.net/gml", + "_Object"); + + /** @generated */ + public static final QName _Ring = new QName("http://www.opengis.net/gml", + "_Ring"); + + /** @generated */ + public static final QName _Surface = new QName( + "http://www.opengis.net/gml", "_Surface"); + + /** @generated */ + public static final QName boundedBy = new QName( + "http://www.opengis.net/gml", "boundedBy"); + + /** @generated */ + public static final QName description = new QName( + "http://www.opengis.net/gml", "description"); + + /** @generated */ + public static final QName Envelope = new QName( + "http://www.opengis.net/gml", "Envelope"); + + /** @generated */ + public static final QName EnvelopeWithTimePeriod = new QName( + "http://www.opengis.net/gml", "EnvelopeWithTimePeriod"); + + /** @generated */ + public static final QName exterior = new QName( + "http://www.opengis.net/gml", "exterior"); + + /** @generated */ + public static final QName Grid = new QName("http://www.opengis.net/gml", + "Grid"); + + /** @generated */ + public static final QName interior = new QName( + "http://www.opengis.net/gml", "interior"); + + /** @generated */ + public static final QName LinearRing = new QName( + "http://www.opengis.net/gml", "LinearRing"); + + /** @generated */ + public static final QName metaDataProperty = new QName( + "http://www.opengis.net/gml", "metaDataProperty"); + + /** @generated */ + public static final QName name = new QName("http://www.opengis.net/gml", + "name"); + + /** @generated */ + public static final QName Polygon = new QName("http://www.opengis.net/gml", + "Polygon"); + + /** @generated */ + public static final QName pos = new QName("http://www.opengis.net/gml", + "pos"); + + /** @generated */ + public static final QName RectifiedGrid = new QName( + "http://www.opengis.net/gml", "RectifiedGrid"); + + /** @generated */ + public static final QName timePosition = new QName( + "http://www.opengis.net/gml", "timePosition"); + + /* Attributes */ + /** @generated */ + public static final QName id = new QName("http://www.opengis.net/gml", "id"); + + /** @generated */ + public static final QName remoteSchema = new QName( + "http://www.opengis.net/gml", "remoteSchema"); + +} Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GML.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GMLConfiguration.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GMLConfiguration.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/GMLConfiguration.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,164 @@ +package org.geotools.gml4wcs; + +import java.util.Map; + +import javax.xml.namespace.QName; + +import net.opengis.gml.Gml4wcsFactory; + +import org.eclipse.emf.ecore.EFactory; +import org.geotools.feature.DefaultFeatureCollections; +import org.geotools.gml2.FeaturePropertyExtractor; +import org.geotools.gml2.FeatureTypeCache; +import org.geotools.gml4wcs.bindings.AbstractGeometricPrimitiveTypeBinding; +import org.geotools.gml4wcs.bindings.AbstractGeometryBaseTypeBinding; +import org.geotools.gml4wcs.bindings.AbstractGeometryTypeBinding; +import org.geotools.gml4wcs.bindings.DirectPositionTypeBinding; +import org.geotools.gml4wcs.bindings.DoubleListBinding; +import org.geotools.gml4wcs.bindings.EnvelopeTypeBinding; +import org.geotools.gml4wcs.bindings.EnvelopeWithTimePeriodTypeBinding; +import org.geotools.gml4wcs.bindings.GridEnvelopeTypeBinding; +import org.geotools.gml4wcs.bindings.GridLimitsTypeBinding; +import org.geotools.gml4wcs.bindings.IntegerListBinding; +import org.geotools.gml4wcs.bindings.NameListBinding; +import org.geotools.gml4wcs.bindings.TemporalPositionTypeBinding; +import org.geotools.gml4wcs.bindings.TimeDurationTypeBinding; +import org.geotools.gml4wcs.bindings.TimePositionTypeBinding; +import org.geotools.xlink.XLINKConfiguration; +import org.geotools.xml.ComplexEMFBinding; +import org.geotools.xml.Configuration; +import org.picocontainer.MutablePicoContainer; + +import com.vividsolutions.jts.geom.CoordinateSequenceFactory; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.impl.CoordinateArraySequenceFactory; + +/** + * Parser configuration for the http://www.opengis.net/gml schema. + * + * @generated + */ +public class GMLConfiguration extends Configuration { + + /** + * Creates a new configuration. + * + * @generated + */ + public GMLConfiguration() { + super(GML.getInstance()); + + addDependency(new XLINKConfiguration()); + } + + @Override + protected void registerBindings(Map bindings) { + super.registerBindings(bindings); + + final EFactory gmlFactory = Gml4wcsFactory.eINSTANCE; + register(bindings, gmlFactory, GML._GeometricPrimitive); + register(bindings, gmlFactory, GML._Geometry); + register(bindings, gmlFactory, GML._GML); + register(bindings, gmlFactory, GML._MetaData); + register(bindings, gmlFactory, GML._Object); + register(bindings, gmlFactory, GML._Ring); + register(bindings, gmlFactory, GML._Surface); + + bindings.put(GML.AbstractGeometricPrimitiveType, new AbstractGeometricPrimitiveTypeBinding()); + bindings.put(GML.AbstractGeometryBaseType, new AbstractGeometryBaseTypeBinding()); + bindings.put(GML.AbstractGeometryType, new AbstractGeometryTypeBinding()); + + bindings.put(GML.integerList, new IntegerListBinding()); + bindings.put(GML.doubleList, new DoubleListBinding()); + bindings.put(GML.NameList, new NameListBinding()); + + // temporal + bindings.put(GML.TimeDurationType, new TimeDurationTypeBinding()); + bindings.put(GML.TimePositionType, new TimePositionTypeBinding()); + bindings.put(GML.TemporalPositionType, new TemporalPositionTypeBinding()); + + // gml:pos + bindings.put(GML.DirectPositionType, new DirectPositionTypeBinding()); + + // CRS + register(bindings, gmlFactory, GML.CodeType); + register(bindings, gmlFactory, GML.CodeListType); + + // Envelope + bindings.put(GML.EnvelopeType, new EnvelopeTypeBinding()); + bindings.put(GML.EnvelopeWithTimePeriodType, new EnvelopeWithTimePeriodTypeBinding()); + + // Grid + bindings.put(GML.GridEnvelopeType, new GridEnvelopeTypeBinding()); + bindings.put(GML.GridLimitsType, new GridLimitsTypeBinding()); + register(bindings, gmlFactory, GML.GridType); + register(bindings, gmlFactory, GML.RectifiedGridType); + } + + private void register(Map bindings, EFactory factory, QName qname) { + bindings.put(qname, new ComplexEMFBinding(factory, qname)); + } + +// /** +// * Registers the bindings for the configuration. +// * +// * @generated +// */ +// protected final void registerBindings( MutablePicoContainer container ) { +// //Types +// container.registerComponentImplementation(GML.AbstractGeometricPrimitiveType,AbstractGeometricPrimitiveTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractGeometryBaseType,AbstractGeometryBaseTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractGeometryType,AbstractGeometryTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractGMLType,AbstractGMLTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractMetaDataType,AbstractMetaDataTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractRingPropertyType,AbstractRingPropertyTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractRingType,AbstractRingTypeBinding.class); +// container.registerComponentImplementation(GML.AbstractSurfaceType,AbstractSurfaceTypeBinding.class); +// container.registerComponentImplementation(GML.BoundingShapeType,BoundingShapeTypeBinding.class); +// container.registerComponentImplementation(GML.CodeListType,CodeListTypeBinding.class); +// container.registerComponentImplementation(GML.CodeType,CodeTypeBinding.class); +// container.registerComponentImplementation(GML.DirectPositionType,DirectPositionTypeBinding.class); +// container.registerComponentImplementation(GML.doubleList,DoubleListBinding.class); +// container.registerComponentImplementation(GML.EnvelopeType,EnvelopeTypeBinding.class); +// container.registerComponentImplementation(GML.EnvelopeWithTimePeriodType,EnvelopeWithTimePeriodTypeBinding.class); +// container.registerComponentImplementation(GML.GridEnvelopeType,GridEnvelopeTypeBinding.class); +// container.registerComponentImplementation(GML.GridLimitsType,GridLimitsTypeBinding.class); +// container.registerComponentImplementation(GML.GridType,GridTypeBinding.class); +// container.registerComponentImplementation(GML.integerList,IntegerListBinding.class); +// container.registerComponentImplementation(GML.LinearRingType,LinearRingTypeBinding.class); +// container.registerComponentImplementation(GML.MetaDataPropertyType,MetaDataPropertyTypeBinding.class); +// container.registerComponentImplementation(GML.NameList,NameListBinding.class); +// container.registerComponentImplementation(GML.PointType,PointTypeBinding.class); +// container.registerComponentImplementation(GML.PolygonType,PolygonTypeBinding.class); +// container.registerComponentImplementation(GML.RectifiedGridType,RectifiedGridTypeBinding.class); +// container.registerComponentImplementation(GML.ReferenceType,ReferenceTypeBinding.class); +// container.registerComponentImplementation(GML.StringOrRefType,StringOrRefTypeBinding.class); +// container.registerComponentImplementation(GML.TemporalPositionType,TemporalPositionTypeBinding.class); +// container.registerComponentImplementation(GML.TimeDurationType,TimeDurationTypeBinding.class); +// container.registerComponentImplementation(GML.TimeIndeterminateValueType,TimeIndeterminateValueTypeBinding.class); +// container.registerComponentImplementation(GML.TimePositionType,TimePositionTypeBinding.class); +// container.registerComponentImplementation(GML.VectorType,VectorTypeBinding.class); +// } + + /** + * Configures the gml3 context. + * <p> + * The following factories are registered: + * <ul> + * <li>{@link CoordinateArraySequenceFactory} under {@link CoordinateSequenceFactory} + * <li>{@link GeometryFactory} + * </ul> + * </p> + */ + public void configureContext(MutablePicoContainer container) { + container.registerComponentInstance(Gml4wcsFactory.eINSTANCE); + + container.registerComponentInstance(new FeatureTypeCache()); + container.registerComponentImplementation(FeaturePropertyExtractor.class); + + //factories + container.registerComponentInstance(CoordinateSequenceFactory.class, CoordinateArraySequenceFactory.instance()); + container.registerComponentImplementation(GeometryFactory.class); + container.registerComponentImplementation(DefaultFeatureCollections.class); + } +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGMLTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGMLTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGMLTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,70 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractGMLType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" name="AbstractGMLType"> + * <annotation> + * <documentation> The optional attribute "id" is omitted from this profile. </documentation> + * <documentation>All complexContent GML elements are directly or indirectly derived from this abstract supertype to establish a hierarchy of GML types that may be distinguished from other XML types by their ancestry. </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" ref="gml:metaDataProperty"/> + * <element minOccurs="0" ref="gml:description"/> + * <element maxOccurs="unbounded" minOccurs="0" ref="gml:name"> + * <annotation> + * <documentation>Multiple names may be provided. These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute. In an instance document there will usually only be one name per authority. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractGMLTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractGMLType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometricPrimitiveTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometricPrimitiveTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometricPrimitiveTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,63 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractGeometricPrimitiveType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" name="AbstractGeometricPrimitiveType"> + * <annotation> + * <documentation>This is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometryType"/> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractGeometricPrimitiveTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractGeometricPrimitiveType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryBaseTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryBaseTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryBaseTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,63 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractGeometryBaseType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" name="AbstractGeometryBaseType"> + * <annotation> + * <documentation>Removes name, description, and metadataLink from AbstractGMLType. </documentation> + * </annotation> + * <complexContent> + * <restriction base="gml:AbstractGMLType"/> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractGeometryBaseTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractGeometryBaseType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,105 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.referencing.crs.CoordinateReferenceSystem; + +import com.vividsolutions.jts.geom.Geometry; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractGeometryType. + * + * <p> + * + * <pre> + * <code> + * <complexType abstract="true" name="AbstractGeometryType"> + * <annotation> + * <documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute ("id"), a name (attribute "name") and a description (attribute "description"). It may be associated with a spatial reference system (attribute "srsName"). The following rules shall be adhered: - Every geometry type shall derive from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of _Geometry.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometryBaseType"> + * <attribute name="srsName" type="anyURI" use="optional"> + * <annotation> + * <documentation>No gid attribute added.</documentation> + * <documentation>In general srsName points to a CRS instance of CoordinateReferenceSystemType (see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the location the URI points to (Note: These "WKCRS"-ids still have to be specified). If no srsName attribute is given, the CRS must be specified as part of the larger context this geometry element is part of, e.g. a geometric aggregate.</documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class AbstractGeometryTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractGeometryType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return Geometry.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + // set the crs + if (value instanceof Geometry) { + CoordinateReferenceSystem crs = GML3ParsingUtils.crs(node); + + if (crs != null) { + Geometry geometry = (Geometry) value; + geometry.setUserData(crs); + } + } + + return value; + } + + public Object getProperty(Object object, QName name) throws Exception { + Geometry geometry = (Geometry) object; + if ("srsName".equals(name.getLocalPart())) { + CoordinateReferenceSystem crs = GML3EncodingUtils.getCRS(geometry); + + if (crs != null) { + return GML3EncodingUtils.crs(crs); + } + } + + if (GML.id.equals(name)) { + return GML3EncodingUtils.getID(geometry); + } + + if (GML.name.equals(name)) { + return GML3EncodingUtils.getName(geometry); + } + + if (GML.description.equals(name)) { + return GML3EncodingUtils.getDescription(geometry); + } + return null; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractGeometryTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractMetaDataTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractMetaDataTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractMetaDataTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,61 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractMetaDataType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" mixed="true" name="AbstractMetaDataType"> + * <annotation> + * <documentation>An abstract base type for complex metadata types.</documentation> + * </annotation> + * <attribute ref="gml:id" use="optional"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractMetaDataTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractMetaDataType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingPropertyTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingPropertyTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingPropertyTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,65 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractRingPropertyType. + * + * <p> + * <pre> + * <code> + * <complexType name="AbstractRingPropertyType"> + * <annotation> + * <documentation> + * Encapsulates a ring to represent the surface boundary property of a surface. + * </documentation> + * </annotation> + * <sequence> + * <element ref="gml:LinearRing"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractRingPropertyTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractRingPropertyType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractRingTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,65 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractRingType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" name="AbstractRingType"> + * <annotation> + * <documentation> + * An abstraction of a ring to support surface boundaries of different complexity. + * </documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometryType"/> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractRingTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractRingType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractSurfaceTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractSurfaceTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/AbstractSurfaceTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,65 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:AbstractSurfaceType. + * + * <p> + * <pre> + * <code> + * <complexType name="AbstractSurfaceType"> + * <annotation> + * <documentation> + * An abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane. + * </documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometricPrimitiveType"/> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractSurfaceTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.AbstractSurfaceType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/BoundingShapeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/BoundingShapeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/BoundingShapeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,63 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:BoundingShapeType. + * + * <p> + * <pre> + * <code> + * <complexType name="BoundingShapeType"> + * <annotation> + * <documentation>Bounding shape.</documentation> + * </annotation> + * <sequence> + * <element ref="gml:Envelope"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class BoundingShapeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.BoundingShapeType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeListTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeListTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeListTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:CodeListType. + * + * <p> + * <pre> + * <code> + * <complexType name="CodeListType"> + * <annotation> + * <documentation>List of values on a uniform nominal scale. List of text tokens. + * In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string. + * If a codeSpace attribute is present, then its value is a reference to + * a Reference System for the value, a dictionary or code list.</documentation> + * </annotation> + * <simpleContent> + * <extension base="gml:NameList"> + * <attribute name="codeSpace" type="anyURI" use="optional"/> + * </extension> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class CodeListTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.CodeListType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/CodeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,76 @@ +package org.geotools.gml4wcs.bindings; + + +import javax.xml.namespace.QName; + +import net.opengis.gml.CodeType; +import net.opengis.gml.Gml4wcsFactory; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +/** + * Binding object for the type http://www.opengis.net/gml:CodeType. + * + * <p> + * <pre> + * <code> + * <complexType name="CodeType"> + * <annotation> + * <documentation>Name or code with an (optional) authority. Text token. + * If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus + * or authority for the term, such as the organisation who assigned the value, + * or the dictionary from which it is taken. + * A text string with an optional codeSpace attribute. </documentation> + * </annotation> + * <simpleContent> + * <extension base="string"> + * <attribute name="codeSpace" type="anyURI" use="optional"/> + * </extension> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ + +public class CodeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.CodeType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + CodeType code = Gml4wcsFactory.eINSTANCE.createCodeType(); + + code.setValue((String)value); + + return code; + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DirectPositionTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DirectPositionTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DirectPositionTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,115 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.GeneralDirectPosition; +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.geometry.DirectPosition; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type http://www.opengis.net/gml:DirectPositionType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="DirectPositionType"> + * <annotation> + * <documentation>DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since DirectPositions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the "srsName" attribute will in general be missing, if this particular DirectPosition is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.</documentation> + * </annotation> + * <simpleContent> + * <extension base="gml:doubleList"> + * <attribute name="dimension" type="positiveInteger" use="optional"> + * <annotation> + * <documentation>The attribute "dimension" is the length of coordinate sequence (the number of entries in the list). This is determined by the coordinate reference system.</documentation> + * </annotation> + * </attribute> + * </extension> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class DirectPositionTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.DirectPositionType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return DirectPosition.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + DirectPosition dp = null; + + if ("pos".equals(instance.getName())) { + String[] CP = instance.getText().split(" "); + double[] coordinates = new double[CP.length]; + int c = 0; + for (String coord : CP) { + coordinates[c++] = Double.parseDouble(coord.trim()); + } + + dp = new GeneralDirectPosition(coordinates); + } + + return dp; + } + + public Element encode(Object object, Document document, Element value) throws Exception { + DirectPosition dp = (DirectPosition) object; + + if (dp == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, org.geotools.gml3.GML.Null.getLocalPart())); + } + + double[] coordinates = dp.getCoordinate(); + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < coordinates.length; i++) { + sb.append(String.valueOf(coordinates[i])); + + if (i != (coordinates.length - 1)) { + sb.append(" "); + } + } + + value.appendChild(document.createTextNode(sb.toString())); + return null; + } + + public Object getProperty(Object object, QName name) { + DirectPosition dp = (DirectPosition) object; + + if (name.getLocalPart().equals("dimension")) { + return dp.getDimension(); + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DirectPositionTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DoubleListBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DoubleListBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DoubleListBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,72 @@ +package org.geotools.gml4wcs.bindings; + +import java.util.List; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; + +/** + * Binding object for the type http://www.opengis.net/gml:doubleList. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="doubleList"> + * <annotation> + * <documentation>XML List based on XML Schema double type. An element of this type contains a space-separated list of double values</documentation> + * </annotation> + * <list itemType="double"/> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class DoubleListBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.doubleList; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + // return double[].class; + return Double[].class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + List list = (List) value; + + return list.toArray(new Double[list.size()]); + + // String[] values = ((String) value).split(" +"); + // double[] doubles = new double[values.length]; + // + // for (int i = 0; i < values.length; i++) { + // doubles[i] = Double.parseDouble(values[i]); + // } + // + // return doubles; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/DoubleListBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,182 @@ +package org.geotools.gml4wcs.bindings; + +import java.util.LinkedList; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.GeneralDirectPosition; +import org.geotools.geometry.GeneralEnvelope; +import org.geotools.gml4wcs.GML; +import org.geotools.referencing.CRS; +import org.geotools.referencing.crs.DefaultCompoundCRS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.AttributeInstance; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.geometry.DirectPosition; +import org.opengis.referencing.FactoryException; +import org.opengis.referencing.crs.CompoundCRS; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.crs.GeographicCRS; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type http://www.opengis.net/gml:EnvelopeType. + * + * <p> + * + * <pre> + * <code> + * + * <complexType name="EnvelopeType"> + * <annotation> + * <documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometryType"> + * <sequence> + * <element maxOccurs="2" minOccurs="2" ref="gml:pos"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class EnvelopeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.EnvelopeType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class<GeneralEnvelope> getType() { + return GeneralEnvelope.class; + } + + /** + * <!-- begin-user-doc --> ATTENTION: I'm assuming a LatLon envelope here. + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + List positions = node.getChildren("pos"); + + if (!positions.isEmpty() && (positions.size() == 2)) { + Node n1 = (Node) positions.get(0); + Node n2 = (Node) positions.get(1); + GeneralDirectPosition p1 = (GeneralDirectPosition) n1.getValue(); + GeneralDirectPosition p2 = (GeneralDirectPosition) n2.getValue(); + + GeneralEnvelope envelope = new GeneralEnvelope(p1, p2); + + for (AttributeInstance att : instance.getAttributes()) { + if (att.getName().equals("srsName")) + envelope.setCoordinateReferenceSystem(CRS.decode(att.getText())); + } + + return envelope; + } + + if (!positions.isEmpty()) { + throw new RuntimeException("Envelope can have only two coordinates"); + } + + throw new RuntimeException("Could not find coordinates for envelope"); + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return OVERRIDE; + } + + /* + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, org.geotools.gml3.GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + return null; + } + + if (name.getLocalPart().equals("srsName")) { + try { + return CRS.lookupIdentifier(envelope.getCoordinateReferenceSystem(), true); + } catch (FactoryException e) { + return null; + } + } + + if (name.getLocalPart().equals("pos")) { + CoordinateReferenceSystem crs = envelope.getCoordinateReferenceSystem(); + + GeographicCRS spatialCRS = null; + + if (crs instanceof CompoundCRS) { + List CRSs = ((DefaultCompoundCRS) crs).getCoordinateReferenceSystems(); + + for (Object item : CRSs) { + if (item instanceof GeographicCRS) { + spatialCRS = (GeographicCRS) item; + } + } + } else { + spatialCRS = (GeographicCRS) envelope.getCoordinateReferenceSystem(); + } + + if (spatialCRS != null) { + List<DirectPosition> envelopePositions = new LinkedList<DirectPosition>(); + + GeneralDirectPosition lowerCorner = new GeneralDirectPosition(envelope.getCoordinateReferenceSystem()); + GeneralDirectPosition upperCorner = new GeneralDirectPosition(envelope.getCoordinateReferenceSystem()); + + for (int i = 0; i < spatialCRS.getCoordinateSystem().getDimension(); i++) { + lowerCorner.setOrdinate(i, envelope.getLowerCorner().getOrdinate(i)); + upperCorner.setOrdinate(i, envelope.getUpperCorner().getOrdinate(i)); + } + + envelopePositions.add(lowerCorner); + envelopePositions.add(upperCorner); + + return envelopePositions; + } + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeWithTimePeriodTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeWithTimePeriodTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeWithTimePeriodTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,190 @@ +package org.geotools.gml4wcs.bindings; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.GeneralDirectPosition; +import org.geotools.geometry.GeneralEnvelope; +import org.geotools.gml4wcs.GML; +import org.geotools.metadata.iso.extent.ExtentImpl; +import org.geotools.referencing.crs.DefaultCompoundCRS; +import org.geotools.referencing.crs.DefaultTemporalCRS; +import org.geotools.temporal.object.DefaultPosition; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.referencing.crs.CompoundCRS; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.crs.TemporalCRS; +import org.opengis.temporal.Position; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type + * http://www.opengis.net/gml:EnvelopeWithTimePeriodType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="EnvelopeWithTimePeriodType"> + * <annotation> + * <documentation>Envelope that includes also a temporal extent.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:EnvelopeType"> + * <sequence> + * <element maxOccurs="2" minOccurs="2" ref="gml:timePosition"/> + * </sequence> + * <attribute default="#ISO-8601" name="frame" type="anyURI" use="optional"/> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class EnvelopeWithTimePeriodTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.EnvelopeWithTimePeriodType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return GeneralEnvelope.class; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + GeneralEnvelope envelope = (GeneralEnvelope) value; + + List<Node> timePositions = (List<Node>) node.getChildren("timePosition"); + + if (timePositions != null && !timePositions.isEmpty()) { + final Map<String, Object> properties = new HashMap<String, Object>(4); + properties.put(CoordinateReferenceSystem.NAME_KEY, "Compound"); + properties.put(CoordinateReferenceSystem.DOMAIN_OF_VALIDITY_KEY, ExtentImpl.WORLD); + + CoordinateReferenceSystem crs = new DefaultCompoundCRS(properties, + new CoordinateReferenceSystem[] { + envelope.getCoordinateReferenceSystem(), + DefaultTemporalCRS.TRUNCATED_JULIAN }); + + double[] minCP = new double[envelope.getDimension() + 1]; + double[] maxCP = new double[envelope.getDimension() + 1]; + + for (int i = 0; i < envelope.getDimension(); i++) { + minCP[i] = envelope.getLowerCorner().getOrdinate(i); + maxCP[i] = envelope.getUpperCorner().getOrdinate(i); + } + + DefaultTemporalCRS TCRS = (DefaultTemporalCRS) ((CompoundCRS) crs).getCoordinateReferenceSystems().get(1); + + Node timePositionNodeBegin = timePositions.get(0); + Node timePositionNodeEnd = timePositions.get(1); + minCP[minCP.length - 1] = TCRS.toValue(((DefaultPosition)timePositionNodeBegin.getValue()).getDate()); + maxCP[maxCP.length - 1] = TCRS.toValue(((DefaultPosition)timePositionNodeEnd.getValue()).getDate()); + + GeneralDirectPosition minDP = new GeneralDirectPosition(minCP); + minDP.setCoordinateReferenceSystem(crs); + GeneralDirectPosition maxDP = new GeneralDirectPosition(maxCP); + maxDP.setCoordinateReferenceSystem(crs); + + GeneralEnvelope envelopeWithTime = new GeneralEnvelope(minDP, maxDP); + + return envelopeWithTime; + } + + return envelope; + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return AFTER; + } + + /* + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, org.geotools.gml3.GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + return null; + } + + if (name.getLocalPart().equals("timePosition")) { + CoordinateReferenceSystem crs = envelope.getCoordinateReferenceSystem(); + + TemporalCRS temporalCRS = null; + + if (crs instanceof CompoundCRS) { + List CRSs = ((DefaultCompoundCRS) crs).getCoordinateReferenceSystems(); + + for (Object item : CRSs) { + if (item instanceof TemporalCRS) { + temporalCRS = (TemporalCRS) item; + } + } + } + + if (temporalCRS != null) { + List<Position> envelopePositions = new LinkedList<Position>(); + + Position beginning = new DefaultPosition( + ((DefaultTemporalCRS) temporalCRS).toDate(envelope.getLowerCorner().getOrdinate(envelope.getDimension() - 1))); + Position ending = new DefaultPosition( + ((DefaultTemporalCRS) temporalCRS).toDate(envelope.getUpperCorner().getOrdinate(envelope.getDimension() - 1))); + + envelopePositions.add(beginning); + envelopePositions.add(ending); + + return envelopePositions; + } + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/EnvelopeWithTimePeriodTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3EncodingUtils.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3EncodingUtils.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3EncodingUtils.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,177 @@ +/* + * GeoTools - The Open Source Java GIS Toolkit + * http://geotools.org + * + * (C) 2002-2008, Open Source Geospatial Foundation (OSGeo) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + */ +package org.geotools.gml4wcs.bindings; + +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Collections; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.DirectPosition2D; +import org.geotools.gml2.bindings.GML2EncodingUtils; +import org.geotools.gml3.GML; +import org.geotools.xlink.XLINK; +import org.geotools.xml.ComplexBinding; +import org.geotools.xml.Encoder; +import org.opengis.geometry.DirectPosition; +import org.opengis.referencing.crs.CoordinateReferenceSystem; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryCollection; +import com.vividsolutions.jts.geom.LineString; + + +/** + * Utility class for gml3 encoding. + * + * @author Justin Deoliveira, The Open Planning Project, [hidden email] + * + */ +public class GML3EncodingUtils { + static DirectPosition[] positions(LineString line) { + CoordinateSequence coordinates = line.getCoordinateSequence(); + DirectPosition[] dps = new DirectPosition[coordinates.size()]; + + double x; + double y; + + for (int i = 0; i < dps.length; i++) { + x = coordinates.getOrdinate(i, 0); + y = coordinates.getOrdinate(i, 1); + dps[i] = new DirectPosition2D(x, y); + } + + return dps; + } + + static URI toURI(CoordinateReferenceSystem crs) { + if (crs == null) { + return null; + } + + try { + String crsCode = GML2EncodingUtils.crs(crs); + + if (crsCode != null) { + return new URI(crsCode); + } else { + return null; + } + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + } + + /** + * @deprecated use {@link #toURI(CoordinateReferenceSystem)}. + */ + static URI crs(CoordinateReferenceSystem crs) { + return toURI(crs); + } + + static CoordinateReferenceSystem getCRS(Geometry g) { + return GML2EncodingUtils.getCRS(g); + } + + static String getID(Geometry g) { + return GML2EncodingUtils.getID(g); + } + + static String getName(Geometry g) { + return GML2EncodingUtils.getName(g); + } + + static String getDescription(Geometry g) { + return GML2EncodingUtils.getDescription(g); + } + + /** + * Helper method used to implement {@link ComplexBinding#getProperty(Object, QName)} + * for bindings of geometry reference types: + * <ul> + * <li>GeometryPropertyType + * <li>PointPropertyType + * <li>LineStringPropertyType + * <li>PolygonPropertyType + * </ul> + */ + static Object getProperty( Geometry geometry, QName name ) { + + if (GML._Geometry.equals(name) || GML.Point.equals( name ) || + GML.LineString.equals( name ) || GML.Polygon.equals( name ) ) { + //if the geometry is null, return null + if ( isEmpty( geometry ) ) { + return null; + } + + return geometry; + } + + if (XLINK.HREF.equals(name)) { + //only process if geometry is empty + if ( isEmpty(geometry) ) { + String id = GML3EncodingUtils.getID( geometry ); + if ( id != null ) { + return "#" + id; + } + } + } + + return null; + } + + /** + * Helper method used to implement {@link ComplexBinding#getProperties(Object)} + * for bindings of geometry reference types: + * <ul> + * <li>GeometryPropertyType + * <li>PointPropertyType + * <li>LineStringPropertyType + * <li>PolygonPropertyType + * </ul> + */ + static List getProperties(Geometry geometry) { + + String id = GML3EncodingUtils.getID( geometry ); + + if ( !isEmpty(geometry) && id != null ) { + // return a comment which is hte xlink href + return Collections.singletonList(new Object[] { Encoder.COMMENT, "#" +id }); + } + + return null; + } + + static boolean isEmpty( Geometry geometry ) { + if ( geometry.isEmpty() ) { + //check for case of multi geometry, if it has > 0 goemetries + // we consider this to be not empty + if ( geometry instanceof GeometryCollection ) { + if ( ((GeometryCollection) geometry).getNumGeometries() != 0 ) { + return false; + } + } + return true; + } + + return false; + } +} Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3EncodingUtils.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3ParsingUtils.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3ParsingUtils.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3ParsingUtils.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,164 @@ +/* + * GeoTools - The Open Source Java GIS Toolkit + * http://geotools.org + * + * (C) 2002-2008, Open Source Geospatial Foundation (OSGeo) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + */ +package org.geotools.gml4wcs.bindings; + +import java.util.List; + +import org.eclipse.xsd.XSDElementDeclaration; +import org.geotools.gml2.FeatureTypeCache; +import org.geotools.gml2.bindings.GML2ParsingUtils; +import org.geotools.xml.BindingWalkerFactory; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.feature.simple.SimpleFeature; +import org.opengis.feature.simple.SimpleFeatureType; +import org.opengis.geometry.DirectPosition; +import org.opengis.referencing.crs.CoordinateReferenceSystem; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.CoordinateSequenceFactory; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jts.geom.Point; + + +/** + * Utility class for gml3 parsing. + * + * @author Justin Deoliveira, The Open Planning Project, [hidden email] + * + */ +public class GML3ParsingUtils { + /** + * Utility method to implement Binding.parse for a binding which parses + * into A feature. + * + * @param instance The instance being parsed. + * @param node The parse tree. + * @param value The value from the last binding in the chain. + * @param ftCache The feature type cache. + * @param bwFactory Binding walker factory. + * + * @return A feature. + */ + public static SimpleFeature parseFeature(ElementInstance instance, Node node, Object value, + FeatureTypeCache ftCache, BindingWalkerFactory bwFactory) + throws Exception { + return GML2ParsingUtils.parseFeature(instance, node, value, ftCache, bwFactory); + } + + /** + * Turns a xml type definition into a geotools feature type. + * @param type The xml schema tupe. + * + * @return The corresponding geotools feature type. + */ + public static SimpleFeatureType featureType(XSDElementDeclaration element, + BindingWalkerFactory bwFactory) throws Exception { + return GML2ParsingUtils.featureType(element, bwFactory); + } + + /** + * Turns a parse node + feature type + fid info a feature. + */ + static SimpleFeature feature(SimpleFeatureType fType, String fid, Node node) + throws Exception { + return GML2ParsingUtils.feature(fType, fid, node); + } + + static CoordinateReferenceSystem crs(Node node) { + return GML2ParsingUtils.crs(node); + } + + static LineString lineString(Node node, GeometryFactory gf, CoordinateSequenceFactory csf) { + return line(node, gf, csf, false); + } + + static LinearRing linearRing(Node node, GeometryFactory gf, CoordinateSequenceFactory csf) { + return (LinearRing) line(node, gf, csf, true); + } + + static LineString line(Node node, GeometryFactory gf, CoordinateSequenceFactory csf, + boolean ring) { + if (node.hasChild(DirectPosition.class)) { + List dps = node.getChildValues(DirectPosition.class); + DirectPosition dp = (DirectPosition) dps.get(0); + + CoordinateSequence seq = csf.create(dps.size(), dp.getDimension()); + + for (int i = 0; i < dps.size(); i++) { + dp = (DirectPosition) dps.get(i); + + for (int j = 0; j < dp.getDimension(); j++) { + seq.setOrdinate(i, j, dp.getOrdinate(j)); + } + } + + return ring ? gf.createLinearRing(seq) : gf.createLineString(seq); + } + + if (node.hasChild(Point.class)) { + List points = node.getChildValues(Point.class); + Coordinate[] coordinates = new Coordinate[points.size()]; + + for (int i = 0; i < points.size(); i++) { + coordinates[i] = ((Point) points.get(0)).getCoordinate(); + } + + return ring ? gf.createLinearRing(coordinates) : gf.createLineString(coordinates); + } + + if (node.hasChild(Coordinate.class)) { + List list = node.getChildValues(Coordinate.class); + Coordinate[] coordinates = (Coordinate[]) list.toArray(new Coordinate[list.size()]); + + return ring ? gf.createLinearRing(coordinates) : gf.createLineString(coordinates); + } + + if (node.hasChild(DirectPosition[].class)) { + DirectPosition[] dps = (DirectPosition[]) node.getChildValue(DirectPosition[].class); + + CoordinateSequence seq = null; + + if (dps.length == 0) { + seq = csf.create(0, 0); + } else { + seq = csf.create(dps.length, dps[0].getDimension()); + + for (int i = 0; i < dps.length; i++) { + DirectPosition dp = (DirectPosition) dps[i]; + + for (int j = 0; j < dp.getDimension(); j++) { + seq.setOrdinate(i, j, dp.getOrdinate(j)); + } + } + } + + return ring ? gf.createLinearRing(seq) : gf.createLineString(seq); + } + + if (node.hasChild(CoordinateSequence.class)) { + CoordinateSequence seq = (CoordinateSequence) node.getChildValue(CoordinateSequence.class); + + return ring ? gf.createLinearRing(seq) : gf.createLineString(seq); + } + + return null; + } +} Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GML3ParsingUtils.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridEnvelopeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridEnvelopeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridEnvelopeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,101 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import com.vividsolutions.jts.geom.Envelope; + +/** + * Binding object for the type http://www.opengis.net/gml:GridEnvelopeType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="GridEnvelopeType"> + * <annotation> + * <documentation>Provides grid coordinate values for the diametrically opposed corners of an envelope that bounds a section of grid. The value of a single coordinate is the number of offsets from the origin of the grid in the direction of a specific axis.</documentation> + * </annotation> + * <sequence> + * <element name="low" type="gml:integerList"/> + * <element name="high" type="gml:integerList"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class GridEnvelopeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.GridEnvelopeType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return Envelope.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + if (node.getChild("low") != null) { + int[] l = (int[]) node.getChildValue("low"); + int[] h = (int[]) node.getChildValue("high"); + + return new Envelope(l[0], h[0], l[1], h[1]); + } + + return null; + } + + public Element encode(Object object, Document document, Element value) + throws Exception { + Envelope envelope = (Envelope) object; + + if (envelope.isNull()) { + value.appendChild(document.createElementNS(GML.NAMESPACE, org.geotools.gml3.GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + Envelope envelope = (Envelope) object; + + if (envelope.isNull()) { + return null; + } + + if (name.getLocalPart().equals("low")) { + return new int[] {(int) envelope.getMinX(), (int) envelope.getMinY()}; + } + + if (name.getLocalPart().equals("high")) { + return new int[] {(int) envelope.getMaxX(), (int) envelope.getMaxY()}; + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridEnvelopeTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridLimitsTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridLimitsTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridLimitsTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,69 @@ +package org.geotools.gml4wcs.bindings; + +import java.util.ArrayList; +import java.util.List; + +import javax.xml.namespace.QName; + +import net.opengis.gml.Gml4wcsFactory; +import net.opengis.gml.GridEnvelopeType; +import net.opengis.gml.GridLimitsType; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +import com.vividsolutions.jts.geom.Envelope; + +/** + * Binding object for the type http://www.opengis.net/gml:GridLimitsType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="GridLimitsType"> + * <sequence> + * <element name="GridEnvelope" type="gml:GridEnvelopeType"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class GridLimitsTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.GridLimitsType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return Envelope.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + Envelope envelope = (Envelope) node.getChildValue("GridEnvelope"); + + return envelope; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridLimitsTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,109 @@ +package org.geotools.gml4wcs.bindings; + +import java.math.BigInteger; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import javax.xml.namespace.QName; + +import net.opengis.gml.Gml4wcsFactory; +import net.opengis.gml.GridEnvelopeType; +import net.opengis.gml.GridLimitsType; +import net.opengis.gml.GridType; + +import org.geotools.coverage.grid.GridEnvelope2D; +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.coverage.grid.GridEnvelope; + +import com.vividsolutions.jts.geom.Envelope; + +/** + * Binding object for the type http://www.opengis.net/gml:GridType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="GridType"> + * <annotation> + * <documentation>Implicitly defines an unrectified grid, which is a network composed of two or more sets of equally spaced parallel lines in which the members of each set intersect the members of the other sets at right angles. This profile does not extend AbstractGeometryType, so it defines the srsName attribute.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometryType"> + * <sequence> + * <element name="limits" type="gml:GridLimitsType"/> + * <element maxOccurs="unbounded" name="axisName" type="string"/> + * </sequence> + * <attribute name="dimension" type="positiveInteger" use="required"/> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class GridTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.GridType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { +// GridType grid = Gml4wcsFactory.eINSTANCE.createGridType(); +// +// grid.setSrsName(((URI) node.getAttribute("srsName").getValue()).toString()); +// grid.setDimension((BigInteger) node.getAttribute("dimension").getValue()); +// +// Envelope limitsEnvelope = (Envelope) node.getChildValue("limits"); +// +// GridLimitsType limits = Gml4wcsFactory.eINSTANCE.createGridLimitsType(); +// GridEnvelopeType gridEnelope = Gml4wcsFactory.eINSTANCE.createGridEnvelopeType(); +// List l = new ArrayList(); +// l.add(limitsEnvelope.getMinX()); +// l.add(limitsEnvelope.getMinY()); +// List h = new ArrayList(); +// h.add(limitsEnvelope.getMaxX()); +// h.add(limitsEnvelope.getMaxY()); +// gridEnelope.setLow(l); +// gridEnelope.setHigh(h); +// limits.setGridEnvelope(gridEnelope); +// grid.setLimits(limits); +// +// List<Node> axisNames = node.getChildren("axisName"); +// if (axisNames != null && !axisNames.isEmpty()) { +// for (Node axisName : axisNames) { +// grid.getAxisName().add(axisName.getValue()); +// } +// } +// +// return grid; + return super.parse(instance, node, value); + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/GridTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/IntegerListBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/IntegerListBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/IntegerListBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,69 @@ +package org.geotools.gml4wcs.bindings; + +import java.math.BigInteger; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; + +/** + * Binding object for the type http://www.opengis.net/gml:integerList. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="integerList"> + * <annotation> + * <documentation>XML List based on XML Schema integer type. An element of this type contains a space-separated list of integer values</documentation> + * </annotation> + * <list itemType="integer"/> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class IntegerListBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.integerList; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return int[].class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + List values = (List) value; + + int[] integers = new int[values.size()]; + + for (int i = 0; i < values.size(); i++) { + integers[i] = ((BigInteger)values.get(i)).intValue(); + } + + return integers; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/IntegerListBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/LinearRingTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/LinearRingTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/LinearRingTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,70 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:LinearRingType. + * + * <p> + * <pre> + * <code> + * <complexType name="LinearRingType"> + * <annotation> + * <documentation>A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates must be coincident.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractRingType"> + * <sequence> + * <annotation> + * <documentation>This GML profile supports only one way to specify the control points of a linear ring: a sequence of "pos" (DirectPositionType).</documentation> + * </annotation> + * <element maxOccurs="unbounded" minOccurs="4" ref="gml:pos"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class LinearRingTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.LinearRingType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/MetaDataPropertyTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/MetaDataPropertyTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/MetaDataPropertyTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,65 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:MetaDataPropertyType. + * + * <p> + * <pre> + * <code> + * <complexType name="MetaDataPropertyType"> + * <annotation> + * <documentation> Base type for complex metadata property types.</documentation> + * </annotation> + * <sequence> + * <element minOccurs="0" ref="gml:_MetaData"/> + * </sequence> + * <attributeGroup ref="gml:AssociationAttributeGroup"/> + * <attribute name="about" type="anyURI" use="optional"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class MetaDataPropertyTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.MetaDataPropertyType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/NameListBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/NameListBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/NameListBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,61 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:NameList. + * + * <p> + * <pre> + * <code> + * <simpleType name="NameList"> + * <annotation> + * <documentation>XML List based on XML Schema Name type. An element of this type contains a space-separated list of Name values</documentation> + * </annotation> + * <list itemType="Name"/> + * </simpleType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class NameListBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.NameList; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PointTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PointTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PointTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,70 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:PointType. + * + * <p> + * <pre> + * <code> + * <complexType name="PointType"> + * <annotation> + * <documentation>A Point is defined by a single coordinate tuple.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractGeometryType"> + * <sequence> + * <annotation> + * <documentation>This profile uses only the "pos" element - no coordinates or coord.</documentation> + * </annotation> + * <element ref="gml:pos"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class PointTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.PointType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PolygonTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PolygonTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/PolygonTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:PolygonType. + * + * <p> + * <pre> + * <code> + * <complexType name="PolygonType"> + * <annotation> + * <documentation>A Polygon is a special surface that is defined by a single surface patch. The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. It is backwards compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is implemented by PolygonPatch.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:AbstractSurfaceType"> + * <sequence> + * <element minOccurs="0" ref="gml:exterior"/> + * <element maxOccurs="unbounded" minOccurs="0" ref="gml:interior"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class PolygonTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.PolygonType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/RectifiedGridTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/RectifiedGridTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/RectifiedGridTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:RectifiedGridType. + * + * <p> + * <pre> + * <code> + * <complexType name="RectifiedGridType"> + * <annotation> + * <documentation>A rectified grid has an origin and vectors that define its post locations.</documentation> + * </annotation> + * <complexContent> + * <extension base="gml:GridType"> + * <sequence> + * <element name="origin" type="gml:PointType"/> + * <element maxOccurs="unbounded" name="offsetVector" type="gml:VectorType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class RectifiedGridTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.RectifiedGridType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/ReferenceTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/ReferenceTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/ReferenceTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,63 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:ReferenceType. + * + * <p> + * <pre> + * <code> + * <complexType name="ReferenceType"> + * <annotation> + * <documentation> A pattern or base for derived types used to specify complex types corresponding to a UML aggregation association. An instance of this type serves as a pointer to a remote Object. + * </documentation> + * </annotation> + * <sequence/> + * <attributeGroup ref="gml:AssociationAttributeGroup"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ReferenceTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.ReferenceType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/StringOrRefTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/StringOrRefTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/StringOrRefTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,66 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:StringOrRefType. + * + * <p> + * <pre> + * <code> + * <complexType name="StringOrRefType"> + * <annotation> + * <documentation> + * This type is available wherever there is a need for a "text" type property. It is of string type, so the text can be included inline, but the value can also be referenced remotely via xlinks from the AssociationAttributeGroup. If the remote reference is present, then the value obtained by traversing the link should be used, and the string content of the element can be used for an annotation. </documentation> + * </annotation> + * <simpleContent> + * <extension base="string"> + * <attributeGroup ref="gml:AssociationAttributeGroup"/> + * </extension> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class StringOrRefTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.StringOrRefType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TemporalPositionTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TemporalPositionTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TemporalPositionTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,70 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; + +/** + * Binding object for the type http://www.opengis.net/gml:TemporalPositionType. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="TemporalPositionType"> + * <annotation> + * <documentation> + * Here we have collapsed the hierarchy of subtypes for temporal position in 19108 + * by defining a union of simple types for indicating temporal position relative to a + * specific reference system. + * Date and time may be indicated with varying degrees of precision: + * year, year-month, date, or dateTime (all ISO 8601 format). Note + * that the dateTime type does not allow right-truncation (i.e. omitting + * seconds). An ordinal era may be referenced via URI, and a decimal value + * can be used to indicate the distance from the scale origin (e.g. UNIX time, + * GPS calendar). + * </documentation> + * </annotation> + * <union memberTypes="dateTime date gYearMonth gYear anyURI decimal"/> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class TemporalPositionTypeBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.TemporalPositionType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + + // TODO: implement and remove call to super + return super.parse(instance, value); + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TemporalPositionTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeDurationTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeDurationTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeDurationTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,64 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; +import org.opengis.temporal.Duration; + +/** + * Binding object for the type http://www.opengis.net/gml:TimeDurationType. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="TimeDurationType"> + * <annotation> + * <documentation xml:lang="en"> + * Base type for describing temporal length or distance. The value space is further + * constrained by subtypes that conform to the ISO 8601 or ISO 11404 standards. + * </documentation> + * </annotation> + * <union memberTypes="duration decimal"/> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class TimeDurationTypeBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.TimeDurationType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + + // TODO: implement and remove call to super + return super.parse(instance, value); + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeDurationTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeIndeterminateValueTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeIndeterminateValueTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeIndeterminateValueTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; +import org.opengis.temporal.IndeterminateValue; + +/** + * Binding object for the type + * http://www.opengis.net/gml:TimeIndeterminateValueType. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="TimeIndeterminateValueType"> + * <annotation> + * <documentation xml:lang="en"> + * This enumerated data type specifies values for indeterminate positions. + * </documentation> + * </annotation> + * <restriction base="string"> + * <enumeration value="after"/> + * <enumeration value="before"/> + * <enumeration value="now"/> + * <enumeration value="unknown"/> + * </restriction> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class TimeIndeterminateValueTypeBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.TimeIndeterminateValueType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return IndeterminateValue.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + IndeterminateValue timeValue = IndeterminateValue.valueOf((String)value); + return timeValue; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimeIndeterminateValueTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimePositionTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimePositionTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimePositionTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,113 @@ +package org.geotools.gml4wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.GeneralEnvelope; +import org.geotools.gml4wcs.GML; +import org.geotools.temporal.object.DefaultPosition; +import org.geotools.util.SimpleInternationalString; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.temporal.Position; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type http://www.opengis.net/gml:TimePositionType. + * + * <p> + * + * <pre> + * <code> + * <complexType final="#all" name="TimePositionType"> + * <annotation> + * <documentation> + * Indeterminate time values are also allowed, as described in ISO 19108. The indeterminatePosition + * attribute can be used alone or it can qualify a specific value for temporal position (e.g. before + * 2002-12, after 1019624400). For time values that identify position within a calendar, the + * calendarEraName attribute provides the name of the calendar era to which the date is + * referenced (e.g. the Meiji era of the Japanese calendar). + * </documentation> + * </annotation> + * <simpleContent> + * <extension base="gml:TemporalPositionType"> + * <attribute name="calendarEraName" type="string" use="optional"/> + * <attribute default="#ISO-8601" name="frame" type="anyURI" use="optional"/> + * <attribute name="indeterminatePosition" + * type="gml:TimeIndeterminateValueType" use="optional"/> + * </extension> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class TimePositionTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.TimePositionType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return Position.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + Position timePosition = new DefaultPosition(new SimpleInternationalString((String) value)); + return timePosition; + } + + /* + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + Position timePosition = (Position) object; + + if (timePosition == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, org.geotools.gml3.GML.Null.getLocalPart())); + } + + value.appendChild(document.createTextNode(timePosition.getDateTime().toString())); + return null; + } + + public Object getProperty(Object object, QName name) { + Position value = (Position) object; + + if (name.getLocalPart().equals("frame")) { + return "ISO-8601"; + } + + if (name.getLocalPart().equals("calendarEraName")) { + return null; + } + + if (name.getLocalPart().equals("indeterminatePosition")) { + return null; + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/TimePositionTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/VectorTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/VectorTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/gml4wcs/bindings/VectorTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,63 @@ +package org.geotools.gml4wcs.bindings; + + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/gml:VectorType. + * + * <p> + * <pre> + * <code> + * <complexType name="VectorType"> + * <annotation> + * <documentation>A Vector is an ordered set of numbers called coordinates that represent a position in a coordinate reference system (CRS). For some application the components of the position may be adjusted to yield a unit vector.</documentation> + * </annotation> + * <simpleContent> + * <restriction base="gml:DirectPositionType"/> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class VectorTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return GML.VectorType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCS.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCS.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCS.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,413 @@ +package org.geotools.wcs; + +import java.util.Set; + +import javax.xml.namespace.QName; + +import org.geotools.gml4wcs.GML; +import org.geotools.xml.XSD; + +/** + * This interface contains the qualified names of all the types,elements, and + * attributes in the http://www.opengis.net/wcs schema. + * + * @generated + */ +public final class WCS extends XSD { + + /** singleton instance */ + private static final WCS instance = new WCS(); + + /** + * Returns the singleton instance. + */ + public static final WCS getInstance() { + return instance; + } + + /** + * private constructor + */ + private WCS() { + } + + protected void addDependencies(Set dependencies) { + super.addDependencies(dependencies); + + dependencies.add(GML.getInstance()); + } + + /** + * Returns 'http://www.opengis.net/wcs'. + */ + public String getNamespaceURI() { + return NAMESPACE; + } + + /** + * Returns the location of 'getCoverage.xsd.'. + */ + public String getSchemaLocation() { + return getClass().getResource("getCoverage.xsd").toString(); + } + + /** @generated */ + public static final String NAMESPACE = "http://www.opengis.net/wcs"; + + /* Type Definitions */ + /** @generated */ + public static final QName AbstractDescriptionBaseType = new QName( + "http://www.opengis.net/wcs", "AbstractDescriptionBaseType"); + + /** @generated */ + public static final QName AbstractDescriptionType = new QName( + "http://www.opengis.net/wcs", "AbstractDescriptionType"); + + /** @generated */ + public static final QName AddressType = new QName( + "http://www.opengis.net/wcs", "AddressType"); + +// /** @generated */ +// public static final QName AxisSubsetType = new QName( +// "http://www.opengis.net/wcs", "AxisSubsetType"); + + /** @generated */ + public static final QName AxisDescriptionType = new QName( + "http://www.opengis.net/wcs", "AxisDescriptionType"); + + /** @generated */ + public static final QName CapabilitiesSectionType = new QName( + "http://www.opengis.net/wcs", "CapabilitiesSectionType"); + + /** @generated */ + public static final QName ContactType = new QName( + "http://www.opengis.net/wcs", "ContactType"); + + /** @generated */ + public static final QName CoverageOfferingBriefType = new QName( + "http://www.opengis.net/wcs", "CoverageOfferingBriefType"); + + /** @generated */ + public static final QName CoverageOfferingType = new QName( + "http://www.opengis.net/wcs", "CoverageOfferingType"); + + /** @generated */ + public static final QName DCPTypeType = new QName( + "http://www.opengis.net/wcs", "DCPTypeType"); + + /** @generated */ + public static final QName DomainSetType = new QName( + "http://www.opengis.net/wcs", "DomainSetType"); + + /** @generated */ + public static final QName DomainSubsetType = new QName( + "http://www.opengis.net/wcs", "DomainSubsetType"); + + /** @generated */ + public static final QName InterpolationMethodType = new QName( + "http://www.opengis.net/wcs", "InterpolationMethodType"); + + /** @generated */ + public static final QName intervalType = new QName( + "http://www.opengis.net/wcs", "intervalType"); + + /** @generated */ + public static final QName LonLatEnvelopeBaseType = new QName( + "http://www.opengis.net/wcs", "LonLatEnvelopeBaseType"); + + /** @generated */ + public static final QName LonLatEnvelopeType = new QName( + "http://www.opengis.net/wcs", "LonLatEnvelopeType"); + + /** @generated */ + public static final QName MetadataAssociationType = new QName( + "http://www.opengis.net/wcs", "MetadataAssociationType"); + + /** @generated */ + public static final QName MetadataLinkType = new QName( + "http://www.opengis.net/wcs", "MetadataLinkType"); + + /** @generated */ + public static final QName OnlineResourceType = new QName( + "http://www.opengis.net/wcs", "OnlineResourceType"); + + /** @generated */ + public static final QName OutputType = new QName( + "http://www.opengis.net/wcs", "OutputType"); + + /** @generated */ + public static final QName RangeSetType = new QName( + "http://www.opengis.net/wcs", "RangeSetType"); + + /** @generated */ + public static final QName RangeSubsetType = new QName( + "http://www.opengis.net/wcs", "RangeSubsetType"); + + /** @generated */ + public static final QName ResponsiblePartyType = new QName( + "http://www.opengis.net/wcs", "ResponsiblePartyType"); + + /** @generated */ + public static final QName ServiceType = new QName( + "http://www.opengis.net/wcs", "ServiceType"); + + /** @generated */ + public static final QName SpatialDomainType = new QName( + "http://www.opengis.net/wcs", "SpatialDomainType"); + + /** @generated */ + public static final QName SpatialSubsetType = new QName( + "http://www.opengis.net/wcs", "SpatialSubsetType"); + + /** @generated */ + public static final QName SupportedCRSsType = new QName( + "http://www.opengis.net/wcs", "SupportedCRSsType"); + + /** @generated */ + public static final QName SupportedFormatsType = new QName( + "http://www.opengis.net/wcs", "SupportedFormatsType"); + + /** @generated */ + public static final QName SupportedInterpolationsType = new QName( + "http://www.opengis.net/wcs", "SupportedInterpolationsType"); + + /** @generated */ + public static final QName TelephoneType = new QName( + "http://www.opengis.net/wcs", "TelephoneType"); + + /** @generated */ + public static final QName TimePeriodType = new QName( + "http://www.opengis.net/wcs", "TimePeriodType"); + + /** @generated */ + public static final QName TimeSequenceType = new QName( + "http://www.opengis.net/wcs", "TimeSequenceType"); + + /** @generated */ + public static final QName TypedLiteralType = new QName( + "http://www.opengis.net/wcs", "TypedLiteralType"); + + /** @generated */ + public static final QName valueEnumBaseType = new QName( + "http://www.opengis.net/wcs", "valueEnumBaseType"); + + /** @generated */ + public static final QName valueEnumType = new QName( + "http://www.opengis.net/wcs", "valueEnumType"); + + /** @generated */ + public static final QName valueRangeType = new QName( + "http://www.opengis.net/wcs", "valueRangeType"); + + /** @generated */ + public static final QName WCS_CapabilitiesType = new QName( + "http://www.opengis.net/wcs", "WCS_CapabilitiesType"); + + /** @generated */ + public static final QName WCSCapabilityType = new QName( + "http://www.opengis.net/wcs", "WCSCapabilityType"); + + /** @generated */ + public static final QName _axisDescription = new QName( + "http://www.opengis.net/wcs", "_axisDescription"); + + /** @generated */ + public static final QName _ContentMetadata = new QName( + "http://www.opengis.net/wcs", "_ContentMetadata"); + + /** @generated */ + public static final QName _CoverageDescription = new QName( + "http://www.opengis.net/wcs", "_CoverageDescription"); + + /** @generated */ + public static final QName _DescribeCoverage = new QName( + "http://www.opengis.net/wcs", "_DescribeCoverage"); + + /** @generated */ + public static final QName _GetCapabilities = new QName( + "http://www.opengis.net/wcs", "_GetCapabilities"); + + /** @generated */ + public static final QName _GetCoverage = new QName( + "http://www.opengis.net/wcs", "_GetCoverage"); + + /** @generated */ + public static final QName _keywords = new QName( + "http://www.opengis.net/wcs", "_keywords"); + + /** @generated */ + public static final QName _rangeSet = new QName( + "http://www.opengis.net/wcs", "_rangeSet"); + + /** @generated */ + public static final QName AxisDescriptionType_values = new QName( + "http://www.opengis.net/wcs", "AxisDescriptionType_values"); + + /** @generated */ + public static final QName DCPTypeType_HTTP = new QName( + "http://www.opengis.net/wcs", "DCPTypeType_HTTP"); + + /** @generated */ + public static final QName RangeSubsetType_axisSubset = new QName( + "http://www.opengis.net/wcs", "RangeSubsetType_axisSubset"); + + /** @generated */ + public static final QName WCSCapabilityType_Request = new QName( + "http://www.opengis.net/wcs", "WCSCapabilityType_Request"); + + /** @generated */ + public static final QName WCSCapabilityType_Exception = new QName( + "http://www.opengis.net/wcs", "WCSCapabilityType_Exception"); + + /** @generated */ + public static final QName WCSCapabilityType_VendorSpecificCapabilities = new QName( + "http://www.opengis.net/wcs", + "WCSCapabilityType_VendorSpecificCapabilities"); + + /* Elements */ + /** @generated */ + public static final QName axisDescription = new QName( + "http://www.opengis.net/wcs", "axisDescription"); + + /** @generated */ + public static final QName AxisDescription = new QName( + "http://www.opengis.net/wcs", "AxisDescription"); + + /** @generated */ + public static final QName Capability = new QName( + "http://www.opengis.net/wcs", "Capability"); + + /** @generated */ + public static final QName ContentMetadata = new QName( + "http://www.opengis.net/wcs", "ContentMetadata"); + + /** @generated */ + public static final QName CoverageDescription = new QName( + "http://www.opengis.net/wcs", "CoverageDescription"); + + /** @generated */ + public static final QName CoverageOffering = new QName( + "http://www.opengis.net/wcs", "CoverageOffering"); + + /** @generated */ + public static final QName CoverageOfferingBrief = new QName( + "http://www.opengis.net/wcs", "CoverageOfferingBrief"); + + /** @generated */ + public static final QName DescribeCoverage = new QName( + "http://www.opengis.net/wcs", "DescribeCoverage"); + + /** @generated */ + public static final QName description = new QName( + "http://www.opengis.net/wcs", "description"); + + /** @generated */ + public static final QName domainSet = new QName( + "http://www.opengis.net/wcs", "domainSet"); + + /** @generated */ + public static final QName formats = new QName("http://www.opengis.net/wcs", + "formats"); + + /** @generated */ + public static final QName GetCapabilities = new QName( + "http://www.opengis.net/wcs", "GetCapabilities"); + + /** @generated */ + public static final QName GetCoverage = new QName( + "http://www.opengis.net/wcs", "GetCoverage"); + + /** @generated */ + public static final QName interpolationMethod = new QName( + "http://www.opengis.net/wcs", "interpolationMethod"); + + /** @generated */ + public static final QName interval = new QName( + "http://www.opengis.net/wcs", "interval"); + + /** @generated */ + public static final QName keywords = new QName( + "http://www.opengis.net/wcs", "keywords"); + + /** @generated */ + public static final QName lonLatEnvelope = new QName( + "http://www.opengis.net/wcs", "lonLatEnvelope"); + + /** @generated */ + public static final QName metadataLink = new QName( + "http://www.opengis.net/wcs", "metadataLink"); + + /** @generated */ + public static final QName name = new QName("http://www.opengis.net/wcs", + "name"); + + /** @generated */ + public static final QName rangeSet = new QName( + "http://www.opengis.net/wcs", "rangeSet"); + + /** @generated */ + public static final QName RangeSet = new QName( + "http://www.opengis.net/wcs", "RangeSet"); + + /** @generated */ + public static final QName Service = new QName("http://www.opengis.net/wcs", + "Service"); + + /** @generated */ + public static final QName singleValue = new QName( + "http://www.opengis.net/wcs", "singleValue"); + + /** @generated */ + public static final QName spatialDomain = new QName( + "http://www.opengis.net/wcs", "spatialDomain"); + + /** @generated */ + public static final QName spatialSubset = new QName( + "http://www.opengis.net/wcs", "spatialSubset"); + + /** @generated */ + public static final QName supportedCRSs = new QName( + "http://www.opengis.net/wcs", "supportedCRSs"); + + /** @generated */ + public static final QName supportedFormats = new QName( + "http://www.opengis.net/wcs", "supportedFormats"); + + /** @generated */ + public static final QName supportedInterpolations = new QName( + "http://www.opengis.net/wcs", "supportedInterpolations"); + + /** @generated */ + public static final QName temporalDomain = new QName( + "http://www.opengis.net/wcs", "temporalDomain"); + + /** @generated */ + public static final QName temporalSubset = new QName( + "http://www.opengis.net/wcs", "temporalSubset"); + + /** @generated */ + public static final QName timePeriod = new QName( + "http://www.opengis.net/wcs", "timePeriod"); + + /** @generated */ + public static final QName TimeSequence = new QName( + "http://www.opengis.net/wcs", "TimeSequence"); + + /** @generated */ + public static final QName WCS_Capabilities = new QName( + "http://www.opengis.net/wcs", "WCS_Capabilities"); + + /* Attributes */ + /** @generated */ + public static final QName closure = new QName("http://www.opengis.net/wcs", + "closure"); + + /** @generated */ + public static final QName semantic = new QName( + "http://www.opengis.net/wcs", "semantic"); + + /** @generated */ + public static final QName type = new QName("http://www.opengis.net/wcs", + "type"); + +} Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCS.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCSConfiguration.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCSConfiguration.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/WCSConfiguration.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,104 @@ +package org.geotools.wcs; + +import java.util.Map; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.Wcs10Factory; + +import org.eclipse.emf.ecore.EFactory; +import org.geotools.gml4wcs.GMLConfiguration; +import org.geotools.wcs.bindings.AbstractDescriptionBaseTypeBinding; +import org.geotools.wcs.bindings.AbstractDescriptionTypeBinding; +import org.geotools.wcs.bindings.AxisDescriptionTypeBinding; +import org.geotools.wcs.bindings.CapabilitiesSectionTypeBinding; +import org.geotools.wcs.bindings.InterpolationMethodTypeBinding; +import org.geotools.wcs.bindings.LonLatEnvelopeBaseTypeBinding; +import org.geotools.wcs.bindings.LonLatEnvelopeTypeBinding; +import org.geotools.wcs.bindings.RangeSubsetType_axisSubsetBinding; +import org.geotools.wcs.bindings.TimePeriodTypeBinding; +import org.geotools.wcs.bindings.TimeSequenceTypeBinding; +import org.geotools.wcs.bindings.TypedLiteralTypeBinding; +import org.geotools.wcs.bindings.ValueEnumBaseTypeBinding; +import org.geotools.wcs.bindings.ValueEnumTypeBinding; +import org.geotools.wcs.bindings.ValueRangeTypeBinding; +import org.geotools.wcs.bindings._axisDescriptionBinding; +import org.geotools.xml.ComplexEMFBinding; +import org.geotools.xml.Configuration; +import org.picocontainer.MutablePicoContainer; + +/** + * Parser configuration for the http://www.opengis.net/wcs schema. + * + * @generated + */ +public class WCSConfiguration extends Configuration { + + /** + * Creates a new configuration. + * + * @generated + */ + public WCSConfiguration() { + super(WCS.getInstance()); + + addDependency(new GMLConfiguration()); + } + + @Override + protected void registerBindings(Map bindings) { + super.registerBindings(bindings); + + final EFactory wcsFactory = Wcs10Factory.eINSTANCE; + register(bindings, wcsFactory, WCS._GetCapabilities); + register(bindings, wcsFactory, WCS._DescribeCoverage); + register(bindings, wcsFactory, WCS._GetCoverage); + + bindings.put(WCS._axisDescription, new _axisDescriptionBinding()); + + bindings.put(WCS.AbstractDescriptionBaseType, new AbstractDescriptionBaseTypeBinding()); + bindings.put(WCS.AbstractDescriptionType, new AbstractDescriptionTypeBinding()); + + register(bindings, wcsFactory, WCS.DomainSubsetType); + register(bindings, wcsFactory, WCS.SpatialSubsetType); + + register(bindings, wcsFactory, WCS.RangeSetType); + register(bindings, wcsFactory, WCS.RangeSubsetType); + bindings.put(WCS.RangeSubsetType_axisSubset, new RangeSubsetType_axisSubsetBinding()); + bindings.put(WCS.AxisDescriptionType, new AxisDescriptionTypeBinding()); + bindings.put(WCS.TypedLiteralType, new TypedLiteralTypeBinding()); + + bindings.put(WCS.valueEnumBaseType, new ValueEnumBaseTypeBinding()); + bindings.put(WCS.valueEnumType, new ValueEnumTypeBinding()); + bindings.put(WCS.valueRangeType, new ValueRangeTypeBinding()); + + register(bindings, wcsFactory, WCS.OutputType); + register(bindings, wcsFactory, WCS.SupportedCRSsType); + register(bindings, wcsFactory, WCS.SupportedFormatsType); + register(bindings, wcsFactory, WCS.SupportedInterpolationsType); + bindings.put(WCS.InterpolationMethodType, new InterpolationMethodTypeBinding()); + + register(bindings, wcsFactory, WCS.DCPTypeType); + register(bindings, wcsFactory, WCS.DCPTypeType_HTTP); + + bindings.put(WCS.CapabilitiesSectionType, new CapabilitiesSectionTypeBinding()); +// register(bindings, wcsFactory, WCS.WCS_CapabilitiesType); +// register(bindings, wcsFactory, WCS.WCSCapabilityType); +// register(bindings, wcsFactory, WCS.WCSCapabilityType_Exception); +// register(bindings, wcsFactory, WCS.WCSCapabilityType_Request); +// register(bindings, wcsFactory, WCS.WCSCapabilityType_VendorSpecificCapabilities); + + bindings.put(WCS.LonLatEnvelopeBaseType, new LonLatEnvelopeBaseTypeBinding()); + bindings.put(WCS.LonLatEnvelopeType, new LonLatEnvelopeTypeBinding()); + bindings.put(WCS.TimePeriodType, new TimePeriodTypeBinding()); + bindings.put(WCS.TimeSequenceType, new TimeSequenceTypeBinding()); + } + + private void register(Map bindings, EFactory factory, QName qname) { + bindings.put(qname, new ComplexEMFBinding(factory, qname)); + } + + protected void configureContext(MutablePicoContainer container) { + container.registerComponentInstance(Wcs10Factory.eINSTANCE); + } +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionBaseTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionBaseTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionBaseTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,67 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:AbstractDescriptionBaseType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" name="AbstractDescriptionBaseType"> + * <annotation> + * <documentation>Description of a WCS object. </documentation> + * </annotation> + * <complexContent> + * <restriction base="gml:AbstractGMLType"> + * <sequence> + * <!-- element ref="metadataLink" minOccurs="0" maxOccurs="unbounded"/ --> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractDescriptionBaseTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.AbstractDescriptionBaseType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AbstractDescriptionTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,75 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:AbstractDescriptionType. + * + * <p> + * <pre> + * <code> + * <complexType abstract="true" name="AbstractDescriptionType"> + * <annotation> + * <documentation>Human-readable descriptive information for the object it is included within.</documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:AbstractDescriptionBaseType"> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" ref="wcs:metadataLink"/> + * <element minOccurs="0" ref="wcs:description"/> + * <element ref="wcs:name"/> + * <element name="label" type="string"> + * <annotation> + * <documentation>Short human-readable label for this object, for human interface display. </documentation> + * </annotation> + * </element> + * </sequence> + * <attribute ref="gml:id" use="prohibited"/> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AbstractDescriptionTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.AbstractDescriptionType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AddressTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AddressTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AddressTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,94 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:AddressType. + * + * <p> + * <pre> + * <code> + * <complexType name="AddressType"> + * <annotation> + * <documentation>Location of the responsible individual or organization. </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" + * name="deliveryPoint" type="string"> + * <annotation> + * <documentation>Address line for the location (as described in ISO 11180, Annex A). </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="city" type="string"> + * <annotation> + * <documentation>City of the location. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="administrativeArea" type="string"> + * <annotation> + * <documentation>State ot province of the location. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="postalCode" type="string"> + * <annotation> + * <documentation>ZIP or other postal code. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="country" type="string"> + * <annotation> + * <documentation>Country of the physical address. </documentation> + * </annotation> + * </element> + * <element maxOccurs="unbounded" minOccurs="0" + * name="electronicMailAddress" type="string"> + * <annotation> + * <documentation>Address of the electronic mailbox of the responsible organization or individual. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AddressTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.AddressType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,96 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:AxisDescriptionType. + * + * <p> + * <pre> + * <code> + * <complexType name="AxisDescriptionType"> + * <annotation> + * <documentation>Description of a measured or observed quantity, and list of the �valid� quantity values (values for which measurements are available or �by which� aggregate values are available). The semantic is the URI of the quantity (for example observable or mathematical variable). The refSys attribute is a URI to a reference system, and the refSysLabel is the label used by client to refer the reference system. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:AbstractDescriptionType"> + * <sequence> + * <element name="values"> + * <annotation> + * <documentation>The type and value constraints for the values of this axis.</documentation> + * </annotation> + * <complexType name="AxisDescriptionType_values"> + * <complexContent> + * <extension base="wcs:valueEnumType"> + * <sequence> + * <element minOccurs="0" + * name="default" type="wcs:TypedLiteralType"> + * <annotation> + * <documentation>Ordered sequence of the parameter value(s) that the server will use for GetCoverage requests which omit a constraint on this parameter axis. (GetCoverage requests against a coverage offering whose AxisDescription has no default must specify a valid constraint for this parameter.) </documentation> + * </annotation> + * </element> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * <attribute ref="wcs:semantic" use="optional"/> + * <attribute name="refSys" type="anyURI" use="optional"> + * <annotation> + * <documentation>Pointer to the reference system in which values are expressed. This attribute shall be included either here or in RangeSetType. </documentation> + * </annotation> + * </attribute> + * <attribute name="refSysLabel" type="string" use="optional"> + * <annotation> + * <documentation>Short human-readable label denoting the reference system, for human interface display. This attribute shall be included either here or in RangeSetType. </documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AxisDescriptionTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.AxisDescriptionType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionType_valuesBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionType_valuesBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/AxisDescriptionType_valuesBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:AxisDescriptionType_values. + * + * <p> + * <pre> + * <code> + * <complexType name="AxisDescriptionType_values"> + * <complexContent> + * <extension base="wcs:valueEnumType"> + * <sequence> + * <element minOccurs="0" name="default" type="wcs:TypedLiteralType"> + * <annotation> + * <documentation>Ordered sequence of the parameter value(s) that the server will use for GetCoverage requests which omit a constraint on this parameter axis. (GetCoverage requests against a coverage offering whose AxisDescription has no default must specify a valid constraint for this parameter.) </documentation> + * </annotation> + * </element> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class AxisDescriptionType_valuesBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.AxisDescriptionType_values; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CapabilitiesSectionTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CapabilitiesSectionTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CapabilitiesSectionTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,83 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.CapabilitiesSectionType; +import net.opengis.wcs10.Wcs10Factory; + +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; + +/** + * Binding object for the type + * http://www.opengis.net/wcs:CapabilitiesSectionType. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="CapabilitiesSectionType"> + * <annotation> + * <documentation>Identification of desired part of full Capabilities XML document to be returned. </documentation> + * </annotation> + * <restriction base="string"> + * <enumeration value="/"> + * <annotation> + * <documentation>TBD. </documentation> + * </annotation> + * </enumeration> + * <enumeration value="/WCS_Capabilities/Service"> + * <annotation> + * <documentation>TBD. </documentation> + * </annotation> + * </enumeration> + * <enumeration value="/WCS_Capabilities/Capability"> + * <annotation> + * <documentation>TBD. </documentation> + * </annotation> + * </enumeration> + * <enumeration value="/WCS_Capabilities/ContentMetadata"> + * <annotation> + * <documentation>TBD. </documentation> + * </annotation> + * </enumeration> + * </restriction> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class CapabilitiesSectionTypeBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.CapabilitiesSectionType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return CapabilitiesSectionType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + return CapabilitiesSectionType.get((String)value); + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CapabilitiesSectionTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ContactTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ContactTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ContactTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,77 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:ContactType. + * + * <p> + * <pre> + * <code> + * <complexType name="ContactType"> + * <annotation> + * <documentation>Information required to enable contact with the responsible person and/or organization. </documentation> + * </annotation> + * <sequence> + * <element minOccurs="0" name="phone" type="wcs:TelephoneType"> + * <annotation> + * <documentation>Telephone numbers at which the organization or individual may becontacted. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="address" type="wcs:AddressType"> + * <annotation> + * <documentation>Physical and email address at which the organization or individualmay be contacted. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="onlineResource" type="wcs:OnlineResourceType"> + * <annotation> + * <documentation>On-line information that can be used to contact the individual ororganization. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ContactTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.ContactType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingBriefTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingBriefTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingBriefTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:CoverageOfferingBriefType. + * + * <p> + * <pre> + * <code> + * <complexType name="CoverageOfferingBriefType"> + * <annotation> + * <documentation>Brief description of one coverage avaialble from a WCS. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:AbstractDescriptionType"> + * <sequence> + * <element ref="wcs:lonLatEnvelope"/> + * <element maxOccurs="unbounded" minOccurs="0" ref="wcs:keywords"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class CoverageOfferingBriefTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.CoverageOfferingBriefType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/CoverageOfferingTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,75 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:CoverageOfferingType. + * + * <p> + * <pre> + * <code> + * <complexType name="CoverageOfferingType"> + * <annotation> + * <documentation>Full description of one coverage available from a WCS instance. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:CoverageOfferingBriefType"> + * <sequence> + * <element ref="wcs:domainSet"/> + * <element ref="wcs:rangeSet"/> + * <element ref="wcs:supportedCRSs"/> + * <element ref="wcs:supportedFormats"/> + * <element minOccurs="0" ref="wcs:supportedInterpolations"> + * <annotation> + * <documentation>Specifies whether and how the server can interpolate coverage values over the spatial domain, when a GetCoverage request requires resampling, reprojection, or other generalization. If supportedInterpolations is absent or empty with no default, then clients should assume nearest-neighbor interpolation. If the only interpolation method listed is �none�, clients can only retrieve coverages from this layer in its native CRS and at its native resolution. </documentation> + * </annotation> + * </element> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class CoverageOfferingTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.CoverageOfferingType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,82 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:DCPTypeType. + * + * <p> + * <pre> + * <code> + * <complexType name="DCPTypeType"> + * <annotation> + * <documentation>Connect point URLs for the HTTP Distributed Computing Platform (DCP). Normally, only one Get and/or one Post is included in this element. More than one Get and/or Post is allowed to support including alternative URLs for uses such as load balancing or backup. </documentation> + * </annotation> + * <sequence> + * <element name="HTTP"> + * <complexType name="DCPTypeType_HTTP"> + * <choice maxOccurs="unbounded"> + * <element name="Get"> + * <complexType> + * <sequence> + * <element name="OnlineResource" type="wcs:OnlineResourceType"/> + * </sequence> + * </complexType> + * </element> + * <element name="Post"> + * <complexType> + * <sequence> + * <element name="OnlineResource" type="wcs:OnlineResourceType"/> + * </sequence> + * </complexType> + * </element> + * </choice> + * </complexType> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class DCPTypeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.DCPTypeType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeType_HTTPBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeType_HTTPBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DCPTypeType_HTTPBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,73 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:DCPTypeType_HTTP. + * + * <p> + * <pre> + * <code> + * <complexType name="DCPTypeType_HTTP"> + * <choice maxOccurs="unbounded"> + * <element name="Get"> + * <complexType> + * <sequence> + * <element name="OnlineResource" type="wcs:OnlineResourceType"/> + * </sequence> + * </complexType> + * </element> + * <element name="Post"> + * <complexType> + * <sequence> + * <element name="OnlineResource" type="wcs:OnlineResourceType"/> + * </sequence> + * </complexType> + * </element> + * </choice> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class DCPTypeType_HTTPBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.DCPTypeType_HTTP; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSetTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSetTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSetTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.DomainSetType; + +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +/** + * Binding object for the type http://www.opengis.net/wcs:DomainSetType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="DomainSetType"> + * <annotation> + * <documentation>Defines the spatial-temporal domain set of a coverage offering. The domainSet shall include a SpatialDomain (describing the spatial locations for which coverages can be requested), a TemporalDomain (describing the time instants or inter-vals for which coverages can be requested), or both. </documentation> + * </annotation> + * <choice> + * <sequence> + * <element ref="wcs:spatialDomain"/> + * <element minOccurs="0" ref="wcs:temporalDomain"/> + * </sequence> + * <element ref="wcs:temporalDomain"/> + * </choice> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class DomainSetTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.DomainSetType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return DomainSetType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + return super.parse(instance, node, value); + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSetTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSubsetTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSubsetTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSubsetTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,84 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.DomainSubsetType; +import net.opengis.wcs10.SpatialSubsetType; +import net.opengis.wcs10.Wcs10Factory; + +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +/** + * Binding object for the type http://www.opengis.net/wcs:DomainSubsetType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="DomainSubsetType"> + * <annotation> + * <documentation>Defines the desired subset of the domain set of the coverage. Is a GML property containing either or both spatialSubset and temporalSubset GML objects. </documentation> + * </annotation> + * <choice> + * <sequence> + * <element ref="wcs:spatialSubset"/> + * <element minOccurs="0" ref="wcs:temporalSubset"/> + * </sequence> + * <element ref="wcs:temporalSubset"/> + * </choice> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class DomainSubsetTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.DomainSubsetType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return DomainSubsetType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + DomainSubsetType domainSubset = Wcs10Factory.eINSTANCE.createDomainSubsetType(); + + SpatialSubsetType spatialSubset = (SpatialSubsetType) node.getChildValue("spatialSubset"); + if (spatialSubset != null) + domainSubset.setSpatialSubset(spatialSubset); + return domainSubset; + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return OVERRIDE; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/DomainSubsetTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/InterpolationMethodTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/InterpolationMethodTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/InterpolationMethodTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,73 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.InterpolationMethodType; + +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractSimpleBinding; +import org.geotools.xml.InstanceComponent; + +/** + * Binding object for the type + * http://www.opengis.net/wcs:InterpolationMethodType. + * + * <p> + * + * <pre> + * <code> + * <simpleType name="InterpolationMethodType"> + * <annotation> + * <documentation>Codes that identify interpolation methods. The meanings of these codes are defined in Annex B of ISO 19123: Geographic information � Schema for coverage geometry and functions. </documentation> + * </annotation> + * <restriction base="string"> + * <enumeration value="nearest neighbor"/> + * <enumeration value="bilinear"/> + * <enumeration value="bicubic"/> + * <enumeration value="lost area"/> + * <enumeration value="barycentric"/> + * <enumeration value="none"> + * <annotation> + * <documentation>No interpolation. </documentation> + * </annotation> + * </enumeration> + * </restriction> + * </simpleType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class InterpolationMethodTypeBinding extends AbstractSimpleBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.InterpolationMethodType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return InterpolationMethodType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(InstanceComponent instance, Object value) + throws Exception { + + return InterpolationMethodType.get((String) value); + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/InterpolationMethodTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/IntervalTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/IntervalTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/IntervalTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,71 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:intervalType. + * + * <p> + * <pre> + * <code> + * <complexType name="intervalType"> + * <annotation> + * <documentation>An interval of values of a numeric quantity. This interval can be continuous or discrete, defined by a fixed spacing between adjacent valid values. Note that the "type" and "semantic" attributes for min/max and "res" may be different (timeInstant and duration). </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:valueRangeType"> + * <sequence> + * <element minOccurs="0" name="res" type="wcs:TypedLiteralType"> + * <annotation> + * <documentation>The regular distance or spacing between the allowed values in this interval. Shall be included when the allowed values are NOT continuous in this interval. Shall not be included when the allowed values are continuous in this interval. </documentation> + * </annotation> + * </element> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class IntervalTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.intervalType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeBaseTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeBaseTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeBaseTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,185 @@ +package org.geotools.wcs.bindings; + +import java.util.LinkedList; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.GeneralDirectPosition; +import org.geotools.geometry.GeneralEnvelope; +import org.geotools.gml3.GML; +import org.geotools.referencing.crs.DefaultCompoundCRS; +import org.geotools.referencing.crs.DefaultGeographicCRS; +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.geometry.DirectPosition; +import org.opengis.referencing.crs.CompoundCRS; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.crs.GeographicCRS; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type + * http://www.opengis.net/wcs:LonLatEnvelopeBaseType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="LonLatEnvelopeBaseType"> + * <annotation> + * <documentation>For WCS use, LonLatEnvelopeBaseType restricts gml:Envelope to the WGS84 geographic CRS with Longitude preceding Latitude and both using decimal degrees only. If included, height values are third and use metre units. </documentation> + * <documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. </documentation> + * </annotation> + * <complexContent> + * <restriction base="gml:EnvelopeType"> + * <sequence> + * <element maxOccurs="2" minOccurs="2" ref="gml:pos"/> + * </sequence> + * <attribute fixed="urn:ogc:def:crs:OGC:1.3:CRS84" + * name="srsName" type="anyURI" use="optional"/> + * </restriction> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class LonLatEnvelopeBaseTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.LonLatEnvelopeBaseType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class<GeneralEnvelope> getType() { + return GeneralEnvelope.class; + } + + /** + * <!-- begin-user-doc --> + * ATTENTION: I'm assuming a LatLon envelope here. + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + List positions = node.getChildren("pos"); + + if (!positions.isEmpty() && (positions.size() == 2)) { + Node n1 = (Node) positions.get(0); + Node n2 = (Node) positions.get(1); + GeneralDirectPosition p1 = (GeneralDirectPosition) n1.getValue(); + GeneralDirectPosition p2 = (GeneralDirectPosition) n2.getValue(); + + GeneralEnvelope envelope = new GeneralEnvelope(p1, p2); + + if (p1.getDimension() == 2 && p1.getDimension() == 2) { + envelope.setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84); + + return envelope; + } else if (p1.getDimension() > 2 && p2.getDimension() > 2) { + envelope.setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84_3D); + + return envelope; + } + } + + if (!positions.isEmpty()) { + throw new RuntimeException("Envelope can have only two coordinates"); + } + + throw new RuntimeException("Could not find coordinates for envelope"); + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return OVERRIDE; + } + + /* + * <!-- begin-user-doc --> ATTENTION: I'm assuming a LatLon envelope here. + * <!-- end-user-doc --> + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + return null; + } + + if (name.getLocalPart().equals("srsName")) { + return "WGS84(DD)"; + } + + if (name.getLocalPart().equals("pos")) { + CoordinateReferenceSystem crs = envelope.getCoordinateReferenceSystem(); + + GeographicCRS spatialCRS = null; + + if (crs instanceof CompoundCRS) { + List CRSs = ((DefaultCompoundCRS) crs).getCoordinateReferenceSystems(); + + for (Object item : CRSs) { + if (item instanceof GeographicCRS) { + spatialCRS = (GeographicCRS) item; + } + } + } else { + spatialCRS = (GeographicCRS) envelope.getCoordinateReferenceSystem(); + } + + if (spatialCRS != null) { + List<DirectPosition> envelopePositions = new LinkedList<DirectPosition>(); + + GeneralDirectPosition lowerCorner = new GeneralDirectPosition(envelope.getCoordinateReferenceSystem()); + GeneralDirectPosition upperCorner = new GeneralDirectPosition(envelope.getCoordinateReferenceSystem()); + + for (int i = 0; i < spatialCRS.getCoordinateSystem().getDimension(); i++) { + lowerCorner.setOrdinate(i, envelope.getLowerCorner().getOrdinate(i)); + upperCorner.setOrdinate(i, envelope.getUpperCorner().getOrdinate(i)); + } + + envelopePositions.add(lowerCorner); + envelopePositions.add(upperCorner); + + + return envelopePositions; + } + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeBaseTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,187 @@ +package org.geotools.wcs.bindings; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.xml.namespace.QName; + +import org.geotools.geometry.GeneralDirectPosition; +import org.geotools.geometry.GeneralEnvelope; +import org.geotools.gml3.GML; +import org.geotools.metadata.iso.extent.ExtentImpl; +import org.geotools.referencing.crs.DefaultCompoundCRS; +import org.geotools.referencing.crs.DefaultTemporalCRS; +import org.geotools.temporal.object.DefaultPosition; +import org.geotools.util.SimpleInternationalString; +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.referencing.crs.CompoundCRS; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.crs.TemporalCRS; +import org.opengis.temporal.Position; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type http://www.opengis.net/wcs:LonLatEnvelopeType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="LonLatEnvelopeType"> + * <annotation> + * <documentation>Defines spatial extent by extending LonLatEnvelope with an optional time position pair. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:LonLatEnvelopeBaseType"> + * <sequence minOccurs="0"> + * <element maxOccurs="2" minOccurs="2" ref="gml:timePosition"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class LonLatEnvelopeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.LonLatEnvelopeType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return GeneralEnvelope.class; + } + + /** + * <!-- begin-user-doc --> + * ATTENTION: I'm assuming a LatLon envelope here. + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + GeneralEnvelope envelope = (GeneralEnvelope) value; + + List<Node> timePositions = (List<Node>) node.getChildren("timePosition"); + + if (timePositions != null && !timePositions.isEmpty()) { + final Map<String, Object> properties = new HashMap<String, Object>( + 4); + properties.put(CoordinateReferenceSystem.NAME_KEY, "WGS84"); + properties.put(CoordinateReferenceSystem.DOMAIN_OF_VALIDITY_KEY, ExtentImpl.WORLD); + + CoordinateReferenceSystem crs = new DefaultCompoundCRS(properties, + new CoordinateReferenceSystem[] {envelope.getCoordinateReferenceSystem(), DefaultTemporalCRS.TRUNCATED_JULIAN }); + + double[] minCP = new double[envelope.getDimension() + 1]; + double[] maxCP = new double[envelope.getDimension() + 1]; + + for (int i = 0; i < envelope.getDimension(); i++) { + minCP[i] = envelope.getLowerCorner().getOrdinate(i); + maxCP[i] = envelope.getUpperCorner().getOrdinate(i); + } + + DefaultTemporalCRS TCRS = (DefaultTemporalCRS) ((CompoundCRS) crs).getCoordinateReferenceSystems().get(1); + + Node timePositionNodeBegin = timePositions.get(0); + Node timePositionNodeEnd = timePositions.get(1); + minCP[minCP.length - 1] = TCRS.toValue(((DefaultPosition)timePositionNodeBegin.getValue()).getDate()); + maxCP[maxCP.length - 1] = TCRS.toValue(((DefaultPosition)timePositionNodeEnd.getValue()).getDate()); + + GeneralDirectPosition minDP = new GeneralDirectPosition(minCP); + minDP.setCoordinateReferenceSystem(crs); + GeneralDirectPosition maxDP = new GeneralDirectPosition(maxCP); + maxDP.setCoordinateReferenceSystem(crs); + + GeneralEnvelope envelopeWithTime = new GeneralEnvelope(minDP, maxDP); + + return envelopeWithTime; + } + + return envelope; + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return AFTER; + } + + /* + * <!-- begin-user-doc --> ATTENTION: I'm assuming a LatLon envelope here. + * <!-- end-user-doc --> + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + GeneralEnvelope envelope = (GeneralEnvelope) object; + + if (envelope == null) { + return null; + } + + if (name.getLocalPart().equals("timePosition")) { + CoordinateReferenceSystem crs = envelope.getCoordinateReferenceSystem(); + + TemporalCRS temporalCRS = null; + + if (crs instanceof CompoundCRS) { + List CRSs = ((DefaultCompoundCRS) crs).getCoordinateReferenceSystems(); + + for (Object item : CRSs) { + if (item instanceof TemporalCRS) { + temporalCRS = (TemporalCRS) item; + } + } + } + + if (temporalCRS != null) { + List<Position> envelopePositions = new LinkedList<Position>(); + + Position beginning = new DefaultPosition(((DefaultTemporalCRS) temporalCRS).toDate(envelope.getLowerCorner().getOrdinate(envelope.getDimension() - 1))); + Position ending = new DefaultPosition(((DefaultTemporalCRS) temporalCRS).toDate(envelope.getUpperCorner().getOrdinate(envelope.getDimension() - 1))); + + envelopePositions.add(beginning); + envelopePositions.add(ending); + + return envelopePositions; + } + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/LonLatEnvelopeTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataAssociationTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataAssociationTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataAssociationTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,67 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:MetadataAssociationType. + * + * <p> + * <pre> + * <code> + * <complexType name="MetadataAssociationType"> + * <annotation> + * <documentation>Refers to a metadata package that contains metadata properties for an object. </documentation> + * </annotation> + * <complexContent> + * <restriction base="gml:MetaDataPropertyType"> + * <sequence/> + * <attributeGroup ref="gml:AssociationAttributeGroup"/> + * <attribute name="about" type="anyURI" use="optional"/> + * </restriction> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class MetadataAssociationTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.MetadataAssociationType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataLinkTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataLinkTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/MetadataLinkTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,85 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:MetadataLinkType. + * + * <p> + * <pre> + * <code> + * <complexType name="MetadataLinkType"> + * <annotation> + * <documentation>Refers to a metadata package that contains metadata properties for an object. The metadataType attribute indicates the type of metadata referred to. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:MetadataAssociationType"> + * <attribute name="metadataType" use="required"> + * <simpleType> + * <restriction base="NMTOKEN"> + * <enumeration value="TC211"> + * <annotation> + * <documentation>This metadata uses a profile of ISO TC211�s Geospatial Metadata Standard 19115. </documentation> + * </annotation> + * </enumeration> + * <enumeration value="FGDC"> + * <annotation> + * <documentation>This metadata uses a profile of the US FGDC Content Standard for Digital Geospatial Metadata. </documentation> + * </annotation> + * </enumeration> + * <enumeration value="other"> + * <annotation> + * <documentation>This metadata uses some other metadata standard(s) and/or no standard. </documentation> + * </annotation> + * </enumeration> + * </restriction> + * </simpleType> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class MetadataLinkTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.MetadataLinkType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OnlineResourceTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OnlineResourceTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OnlineResourceTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,61 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:OnlineResourceType. + * + * <p> + * <pre> + * <code> + * <complexType name="OnlineResourceType"> + * <annotation> + * <documentation>Reference to on-line resource from which data can be obtained. </documentation> + * </annotation> + * <attributeGroup ref="xlink:simpleLink"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class OnlineResourceTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.OnlineResourceType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OutputTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OutputTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/OutputTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,72 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:OutputType. + * + * <p> + * <pre> + * <code> + * <complexType name="OutputType"> + * <annotation> + * <documentation>Asks for the GetCoverage response to be expressed in a particular Coordinate Reference System (crs) and encoded in a particular format. </documentation> + * </annotation> + * <sequence> + * <element minOccurs="0" name="crs" type="gml:CodeType"> + * <annotation> + * <documentation>Identifier of the Coordinate Reference System (crs) in which GetCoverage response shall be expressed. Identifier shall be among those listed under supportedCRSs in the DescribeCoverage XML response. </documentation> + * </annotation> + * </element> + * <element name="format" type="gml:CodeType"> + * <annotation> + * <documentation>Identifier of the format in which GetCoverage response shall be encoded. Identifier shall be among those listed under supportedFormats in the DescribeCoverage XML response. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class OutputTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.OutputType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSetTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSetTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSetTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,87 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:RangeSetType. + * + * <p> + * <pre> + * <code> + * <complexType name="RangeSetType"> + * <annotation> + * <documentation>Defines the properties (categories, measures, or values) assigned to each location in the domain. Any such property may be a scalar (numeric or text) value, such as population density, or a compound (vector or tensor) value, such as incomes by race, or radiances by wavelength. The semantic of the range set is typically an observable and is referenced by a URI. A rangeSet also has a reference system that is reffered by the URI in the refSys attribute. The refSys is either qualitative (classification) or quantitative (uom). The three attributes can be included either here and in each axisDescription. If included in both places, the values in the axisDescription over-ride those included in the RangeSet. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:AbstractDescriptionType"> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" ref="wcs:axisDescription"> + * <annotation> + * <documentation>Defines a range provided by a coverage. Multiple occurences are used for compound observations, to descibe an additional parameter (that is, an independent variable besides space and time), plus the valid values of this parameter (which GetCoverage requests can use to select subsets of a coverage offering). </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="nullValues" type="wcs:valueEnumType"> + * <annotation> + * <documentation>Values used when valid values are not available. (The coverage encoding may specify a fixed value for null (e.g. ��99999� or �N/A�), but often the choice is up to the provider and must be communicated to the client outside of the coverage itself.) </documentation> + * </annotation> + * </element> + * </sequence> + * <attribute ref="wcs:semantic" use="optional"/> + * <attribute name="refSys" type="anyURI" use="optional"> + * <annotation> + * <documentation>Pointer to the reference system in which values are expressed. This attribute shall be included either here or in each AxisDescriptionType. </documentation> + * </annotation> + * </attribute> + * <attribute name="refSysLabel" type="string" use="optional"> + * <annotation> + * <documentation>Short human-readable label denoting the reference system, for human interface display. This attribute shall be included either here or in each AxisDescriptionType. </documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class RangeSetTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.RangeSetType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,78 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:RangeSubsetType. + * + * <p> + * <pre> + * <code> + * <complexType name="RangeSubsetType"> + * <annotation> + * <documentation>Definition of a subset of the named coverage range(s). Currently, only a value enumeration definition of a range subset. </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" name="axisSubset"> + * <annotation> + * <documentation>Ordered sequence of points and/or intervals along one axis of a compound range set. </documentation> + * </annotation> + * <complexType name="RangeSubsetType_axisSubset"> + * <complexContent> + * <extension base="wcs:valueEnumBaseType"> + * <attribute name="name" type="string" use="required"> + * <annotation> + * <documentation>Name or identifier of one axis in this coverage. This name shall match that of an AxisDescription element in the DescribeCoverage XML response. </documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class RangeSubsetTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.RangeSubsetType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetType_axisSubsetBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetType_axisSubsetBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetType_axisSubsetBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,116 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.AxisSubsetType; +import net.opengis.wcs10.IntervalType; +import net.opengis.wcs10.TypedLiteralType; +import net.opengis.wcs10.ValueRangeType; +import net.opengis.wcs10.Wcs10Factory; + +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.AttributeInstance; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +/** + * Binding object for the type + * http://www.opengis.net/wcs:RangeSubsetType_axisSubset. + * + * <p> + * + * <pre> + * <code> + * <complexType name="RangeSubsetType_axisSubset"> + * <complexContent> + * <extension base="wcs:valueEnumBaseType"> + * <attribute name="name" type="string" use="required"> + * <annotation> + * <documentation>Name or identifier of one axis in this coverage. This name shall match that of an AxisDescription element in the DescribeCoverage XML response. </documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class RangeSubsetType_axisSubsetBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.RangeSubsetType_axisSubset; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return AxisSubsetType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + AxisSubsetType axis = Wcs10Factory.eINSTANCE.createAxisSubsetType(); + + AttributeInstance[] atts = instance.getAttributes(); + for (AttributeInstance attType : atts) { + if (attType.getName().equals("name")) + axis.setName(attType.getText()); + } + + Node singleValue = node.getChild("singleValue"); + if (singleValue != null) { + TypedLiteralType theValue = Wcs10Factory.eINSTANCE.createTypedLiteralType(); + theValue.setValue((String) singleValue.getValue()); + axis.getSingleValue().add(theValue); + } + + Node interval = node.getChild("interval"); + if (interval != null) { + IntervalType range = Wcs10Factory.eINSTANCE.createIntervalType(); + if (interval.getChild("min") != null) { + TypedLiteralType theValue = Wcs10Factory.eINSTANCE.createTypedLiteralType(); + theValue.setValue((String) interval.getChildValue("min")); + range.setMin(theValue); + } + + if (interval.getChild("max") != null) { + TypedLiteralType theValue = Wcs10Factory.eINSTANCE.createTypedLiteralType(); + theValue.setValue((String) interval.getChildValue("max")); + range.setMax(theValue); + } + + if (interval.getChild("res") != null) { + TypedLiteralType theValue = Wcs10Factory.eINSTANCE.createTypedLiteralType(); + theValue.setValue((String) interval.getChildValue("res")); + range.setRes(theValue); + } + + if (interval.getAttribute("atomic") != null) + range.setAtomic((Boolean) interval.getAttributeValue("atomic")); + else + range.setAtomic(false); + + axis.getInterval().add(range); + } + + return axis; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/RangeSubsetType_axisSubsetBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ResponsiblePartyTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ResponsiblePartyTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ResponsiblePartyTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,87 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:ResponsiblePartyType. + * + * <p> + * <pre> + * <code> + * <complexType name="ResponsiblePartyType"> + * <annotation> + * <documentation>Identification of, and means of communication with, person(s) and organizations associated with the server. </documentation> + * </annotation> + * <sequence> + * <choice> + * <sequence> + * <element name="individualName" type="string"> + * <annotation> + * <documentation>Name of the responsible person-surname, given name, title separated by a delimiter. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="organisationName" type="string"/> + * </sequence> + * <element name="organisationName" type="string"> + * <annotation> + * <documentation>Name of the responsible organizationt. </documentation> + * </annotation> + * </element> + * </choice> + * <element minOccurs="0" name="positionName" type="string"> + * <annotation> + * <documentation>Role or position of the responsible person. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="contactInfo" type="wcs:ContactType"> + * <annotation> + * <documentation>Address of the responsible party. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ResponsiblePartyTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.ResponsiblePartyType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ServiceTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ServiceTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ServiceTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,84 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:ServiceType. + * + * <p> + * <pre> + * <code> + * <complexType name="ServiceType"> + * <annotation> + * <documentation>A minimal, human readable rescription of the service. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:AbstractDescriptionType"> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" ref="wcs:keywords"/> + * <element minOccurs="0" name="responsibleParty" type="wcs:ResponsiblePartyType"/> + * <element name="fees" type="gml:CodeListType"> + * <annotation> + * <documentation>A text string identifying any fees imposed by the service provider. The keyword NONE shall be used to mean no fees. </documentation> + * </annotation> + * </element> + * <element maxOccurs="unbounded" name="accessConstraints" type="gml:CodeListType"> + * <annotation> + * <documentation>A text string identifying any access constraints imposed by the service provider. The keyword NONE shall be used to mean no access constraints are imposed. </documentation> + * </annotation> + * </element> + * </sequence> + * <attribute fixed="1.0.0" name="version" type="string" use="optional"/> + * <attribute name="updateSequence" type="string" use="optional"> + * <annotation> + * <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When supported by server, server shall return this attribute. </documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ServiceTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.ServiceType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialDomainTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialDomainTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialDomainTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,78 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import net.opengis.wcs10.SpatialDomainType; + +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +/** + * Binding object for the type http://www.opengis.net/wcs:SpatialDomainType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="SpatialDomainType"> + * <annotation> + * <documentation>Defines the spatial domain of a coverage offering. A server shall describe the spatial domain by its edges, using one or more gml:Envelope elements. The gml:EnvelopeWithTimePeriod element may be used in place of gml:Envelope, to add the time bounds of the coverage offering. Each of these elements describes a bounding box defined by two points in space (or two positions in space and two in time). This bounding box could simply duplicate the information in the lonLatEnvelope of CoverageOfferingBrief; but the intent is to describe the locations in more detail (e.g., in several different CRSs, or several rectangular areas instead of one overall bounding box). + * + * In addition, a server can describe the internal grid structure of a coverage offering, using a gml:Grid (or gml:RectifiedGrid) in addition to a gml:Envelope. This element can help clients assess the fitness of the gridded data for their use (e.g. its native resolution, inferred from the offsetVector of a gml:RectifiedGrid), and to formulate grid coverage requests expressed in the internal grid coordinate reference system. + * + * Finally, a server can describe the spatial domain by means of a (repeatable) gml:Polygon, representing the polygon(s) covered by the coverage spatial domain. This is particularly useful for areas that are poorly approximated by a gml:Envelope (such as satellite image swaths, island groups, other non-convex areas). </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" ref="gml:Envelope"/> + * <element maxOccurs="unbounded" minOccurs="0" ref="gml:Grid"/> + * <element maxOccurs="unbounded" minOccurs="0" ref="gml:Polygon"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class SpatialDomainTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.SpatialDomainType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return SpatialDomainType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + return super.parse(instance, node, value); + } + + /* (non-Javadoc) + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return OVERRIDE; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialDomainTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialSubsetTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialSubsetTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialSubsetTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,116 @@ +package org.geotools.wcs.bindings; + +import java.math.BigInteger; +import java.util.Arrays; +import java.util.List; + +import javax.xml.namespace.QName; + +import net.opengis.gml.DirectPositionType; +import net.opengis.gml.EnvelopeType; +import net.opengis.gml.Gml4wcsFactory; +import net.opengis.wcs10.SpatialSubsetType; +import net.opengis.wcs10.Wcs10Factory; + +import org.geotools.geometry.jts.ReferencedEnvelope; +import org.geotools.referencing.CRS; +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; + +/** + * Binding object for the type http://www.opengis.net/wcs:SpatialSubsetType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="SpatialSubsetType"> + * <annotation> + * <documentation>Definition of a subset of a coverage spatial domain. Currently, only a grid subset of a coverage domain. </documentation> + * </annotation> + * <complexContent> + * <restriction base="wcs:SpatialDomainType"> + * <sequence> + * <element ref="gml:Envelope"/> + * <element ref="gml:Grid"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class SpatialSubsetTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.SpatialSubsetType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return SpatialSubsetType.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + SpatialSubsetType spatialSubset = Wcs10Factory.eINSTANCE.createSpatialSubsetType(); + + List<Node> envelopes = node.getChildren("Envelope"); + for (Node envelopeNode : envelopes) { + ReferencedEnvelope envelope = (ReferencedEnvelope) envelopeNode.getValue(); + EnvelopeType env = Gml4wcsFactory.eINSTANCE.createEnvelopeType(); + + env.setSrsName(CRS.lookupIdentifier(envelope.getCoordinateReferenceSystem(), true)); + + DirectPositionType pos1 = Gml4wcsFactory.eINSTANCE.createDirectPositionType(); + DirectPositionType pos2 = Gml4wcsFactory.eINSTANCE.createDirectPositionType(); + + pos1.setDimension(BigInteger.valueOf(2)); + pos2.setDimension(BigInteger.valueOf(2)); + + pos1.setValue(Arrays.asList(envelope.getMinX(), envelope.getMinY())); + pos2.setValue(Arrays.asList(envelope.getMaxX(), envelope.getMaxY())); + + env.getPos().add(pos1); + env.getPos().add(pos2); + + spatialSubset.getEnvelope().add(envelope); + } + + List<Node> gridsNode = node.getChildren("Grid"); + for (Node grid : gridsNode) + spatialSubset.getGrid().add(grid.getValue()); + + return spatialSubset; + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#getExecutionMode() + */ + @Override + public int getExecutionMode() { + return OVERRIDE; + } + +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SpatialSubsetTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedCRSsTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedCRSsTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedCRSsTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,86 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:SupportedCRSsType. + * + * <p> + * <pre> + * <code> + * <complexType name="SupportedCRSsType"> + * <annotation> + * <documentation>Unordered list(s) of identifiers of Coordinate Reference Systems (CRSs) supported in server operation requests and responses. </documentation> + * </annotation> + * <sequence> + * <choice> + * <element maxOccurs="unbounded" name="requestResponseCRSs" type="gml:CodeListType"> + * <annotation> + * <documentation>Unordered list of identifiers of the CRSs in which the server can both accept requests and deliver responses for this data. These CRSs should include the native CRSs defined below. </documentation> + * </annotation> + * </element> + * <sequence> + * <element maxOccurs="unbounded" name="requestCRSs" type="gml:CodeListType"> + * <annotation> + * <documentation>Unordered list of identifiers of the CRSs in which the server can accept requests for this data. These CRSs should include the native CRSs defined below. </documentation> + * </annotation> + * </element> + * <element maxOccurs="unbounded" name="responseCRSs" type="gml:CodeListType"> + * <annotation> + * <documentation>Unordered list of identifiers of the CRSs in which the server can deliver responses for this data. These CRSs should include the native CRSs defined below. </documentation> + * </annotation> + * </element> + * </sequence> + * </choice> + * <element maxOccurs="unbounded" minOccurs="0" name="nativeCRSs" type="gml:CodeListType"> + * <annotation> + * <documentation>Unordered list of identifiers of the CRSs in which the server stores this data, that is, the CRS(s) in which data can be obtained without any distortion or degradation. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class SupportedCRSsTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.SupportedCRSsType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedFormatsTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedFormatsTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedFormatsTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,68 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:SupportedFormatsType. + * + * <p> + * <pre> + * <code> + * <complexType name="SupportedFormatsType"> + * <annotation> + * <documentation>Unordered list of data transfer formats supported. </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" ref="wcs:formats"/> + * </sequence> + * <attribute name="nativeFormat" type="string" use="optional"> + * <annotation> + * <documentation>Identifiers of one format in which the data is stored. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class SupportedFormatsTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.SupportedFormatsType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedInterpolationsTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedInterpolationsTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/SupportedInterpolationsTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,65 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:SupportedInterpolationsType. + * + * <p> + * <pre> + * <code> + * <complexType name="SupportedInterpolationsType"> + * <annotation> + * <documentation>Unordered list of interpolation methods supported. </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" ref="wcs:interpolationMethod"/> + * </sequence> + * <attribute default="nearest neighbor" name="default" + * type="wcs:InterpolationMethodType" use="optional"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class SupportedInterpolationsTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.SupportedInterpolationsType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TelephoneTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TelephoneTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TelephoneTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,72 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:TelephoneType. + * + * <p> + * <pre> + * <code> + * <complexType name="TelephoneType"> + * <annotation> + * <documentation>Telephone numbers for contacting the responsible individual or organization. </documentation> + * </annotation> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" name="voice" type="string"> + * <annotation> + * <documentation>Telephone number by which individuals can speak to the responsible organization or individual. </documentation> + * </annotation> + * </element> + * <element maxOccurs="unbounded" minOccurs="0" name="facsimile" type="string"> + * <annotation> + * <documentation>Telephone number of a facsimile machine for the responsibleorganization or individual. </documentation> + * </annotation> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class TelephoneTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.TelephoneType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimePeriodTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimePeriodTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimePeriodTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,125 @@ +package org.geotools.wcs.bindings; + +import javax.xml.namespace.QName; + +import org.geotools.gml3.GML; +import org.geotools.metadata.iso.citation.Citations; +import org.geotools.referencing.NamedIdentifier; +import org.geotools.temporal.object.DefaultInstant; +import org.geotools.temporal.object.DefaultPeriod; +import org.geotools.temporal.object.DefaultPosition; +import org.geotools.temporal.reference.DefaultTemporalReferenceSystem; +import org.geotools.util.SimpleInternationalString; +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.temporal.Instant; +import org.opengis.temporal.Period; +import org.opengis.temporal.Position; +import org.opengis.temporal.TemporalReferenceSystem; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type http://www.opengis.net/wcs:TimePeriodType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="TimePeriodType"> + * <annotation> + * <documentation>This is a variation of the GML TimePeriod, which allows the beginning and end of a time-period to be expressed in short-form inline using the begin/endPosition element, which allows an identifiable TimeInstant to be defined simultaneously with using it, or by reference, using xlinks on the begin/end elements. </documentation> + * </annotation> + * <sequence> + * <element name="beginPosition" type="gml:TimePositionType"/> + * <element name="endPosition" type="gml:TimePositionType"/> + * <element minOccurs="0" name="timeResolution" type="gml:TimeDurationType"/> + * </sequence> + * <attribute default="#ISO-8601" name="frame" type="anyURI" use="optional"/> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class TimePeriodTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.TimePeriodType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return Period.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + String frameName = (String) node + .getAttributeValue("frame", "#ISO-8601"); + NamedIdentifier frameID = new NamedIdentifier(Citations.CRS, frameName); + TemporalReferenceSystem frame = new DefaultTemporalReferenceSystem( + frameID, null); + + Instant begining = new DefaultInstant((Position) node.getChild("beginPosition").getValue()); + Instant ending = new DefaultInstant((Position) node.getChild("endPosition").getValue()); + + Period timePeriod = new DefaultPeriod(begining, ending); + + return timePeriod; + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#encode(java.lang.Object, + * org.w3c.dom.Document, org.w3c.dom.Element) + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + Period timePeriod = (Period) object; + + if (timePeriod == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + Period timePeriod = (Period) object; + + if (timePeriod == null) { + return null; + } + + if (name.getLocalPart().equals("beginPosition")) { + return timePeriod.getBeginning().getPosition(); + } + + if (name.getLocalPart().equals("endPosition")) { + return timePeriod.getEnding().getPosition(); + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimePeriodTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimeSequenceTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimeSequenceTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimeSequenceTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,142 @@ +package org.geotools.wcs.bindings; + +import java.util.LinkedList; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.geotools.gml3.GML; +import org.geotools.temporal.object.DefaultInstant; +import org.geotools.temporal.object.DefaultPeriod; +import org.geotools.temporal.object.DefaultPosition; +import org.geotools.util.SimpleInternationalString; +import org.geotools.wcs.WCS; +import org.geotools.xml.AbstractComplexBinding; +import org.geotools.xml.ElementInstance; +import org.geotools.xml.Node; +import org.opengis.temporal.Instant; +import org.opengis.temporal.Period; +import org.opengis.temporal.Position; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +/** + * Binding object for the type http://www.opengis.net/wcs:TimeSequenceType. + * + * <p> + * + * <pre> + * <code> + * <complexType name="TimeSequenceType"> + * <annotation> + * <documentation>An ordered sequence of time positions or intervals. The time positions and periods shall be ordered from the oldest to the newest. </documentation> + * </annotation> + * <choice maxOccurs="unbounded"> + * <element ref="gml:timePosition"/> + * <element ref="wcs:timePeriod"/> + * </choice> + * </complexType> + * + * </code> + * </pre> + * + * </p> + * + * @generated + */ +public class TimeSequenceTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.TimeSequenceType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return List.class; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + List<Node> timePositions = node.getChildren("timePosition"); + + if (timePositions != null && !timePositions.isEmpty()) { + List<Position> results = new LinkedList<Position>(); + for (Node timePositionNode : timePositions) { + results.add((Position) timePositionNode.getValue()); + } + + return results; + } else { + List<Node> timePeriods = node.getChildren("timePeriod"); + if (timePeriods != null && !timePeriods.isEmpty()) { + List<Period> results = new LinkedList<Period>(); + for (Node timePeriodNode : timePeriods) { + Instant begining = new DefaultInstant((Position) timePeriodNode.getChild("beginPosition").getValue()); + Instant ending = new DefaultInstant((Position) timePeriodNode.getChild("endPosition").getValue()); + + Period timePeriod = new DefaultPeriod(begining, ending); + + results.add(timePeriod); + } + + return results; + } + } + + return null; + } + + /* + * (non-Javadoc) + * + * @see org.geotools.xml.AbstractComplexBinding#encode(java.lang.Object, + * org.w3c.dom.Document, org.w3c.dom.Element) + */ + @Override + public Element encode(Object object, Document document, Element value) + throws Exception { + List timeSequence = (List) object; + + if (timeSequence == null) { + value.appendChild(document.createElementNS(GML.NAMESPACE, GML.Null.getLocalPart())); + } + + return null; + } + + public Object getProperty(Object object, QName name) { + List timeSequence = (List) object; + + if (timeSequence == null || timeSequence.isEmpty()) { + return null; + } + + if (name.getLocalPart().equals("timePeriod") && timeSequence.get(0) instanceof Period) { + return timeSequence; + } + + if (name.getLocalPart().equals("timePosition") + && timeSequence.get(0) instanceof Position) { + List<Position> result = new LinkedList<Position>(); + + for (Position position : (List<Position>) timeSequence) + result.add(position); + + return result; + } + + return null; + } +} \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TimeSequenceTypeBinding.java ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TypedLiteralTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TypedLiteralTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/TypedLiteralTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,69 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:TypedLiteralType. + * + * <p> + * <pre> + * <code> + * <complexType name="TypedLiteralType"> + * <annotation> + * <documentation>A single value for a variable, encoded as a string. This type can be used for one value, for a spacing between allowed values, or for the default value of a parameter. The "type" attribute indicates the datatype of this value (default is a string). The value for a typed literal is found by applying the datatype mapping associated with the datatype URI to the lexical form string. </documentation> + * </annotation> + * <simpleContent> + * <extension base="string"> + * <attribute ref="wcs:type" use="optional"> + * <annotation> + * <documentation>Should be included unless the datatype is string, or this "type" attribute is included in an enclosing element. </documentation> + * </annotation> + * </attribute> + * </extension> + * </simpleContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class TypedLiteralTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.TypedLiteralType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumBaseTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumBaseTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumBaseTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,64 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:valueEnumBaseType. + * + * <p> + * <pre> + * <code> + * <complexType name="valueEnumBaseType"> + * <annotation> + * <documentation>List of all the valid values and/or ranges of values for this variable. For numeric variables, signed values shall be ordered from negative infinity to positive infinity. For intervals, the "type" and "semantic" attributes are inherited by children elements, but can be superceded by them. </documentation> + * </annotation> + * <choice maxOccurs="unbounded"> + * <element ref="wcs:interval"/> + * <element ref="wcs:singleValue"/> + * </choice> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ValueEnumBaseTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.valueEnumBaseType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueEnumTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,74 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:valueEnumType. + * + * <p> + * <pre> + * <code> + * <complexType name="valueEnumType"> + * <annotation> + * <documentation>List of all the valid values and/or intervals of values for this variable. For numeric variables, signed values shall be ordered from negative infinity to positive infinity. For intervals, the type and semantic attributes are inherited by children elements, but can be superceded here. </documentation> + * </annotation> + * <complexContent> + * <extension base="wcs:valueEnumBaseType"> + * <attribute ref="wcs:type" use="optional"> + * <annotation> + * <documentation>Should be included if the data type is not string, and the valueEnumBaseType does not include any "interval" elements that include this attribute. </documentation> + * </annotation> + * </attribute> + * <attribute ref="wcs:semantic" use="optional"> + * <annotation> + * <documentation>Should be included if the semantics or meaning is not clearly specified elsewhere, and the valueEnumBaseType does not include any "interval" elements that include this attribute. </documentation> + * </annotation> + * </attribute> + * </extension> + * </complexContent> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ValueEnumTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.valueEnumType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueRangeTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueRangeTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/ValueRangeTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,92 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:valueRangeType. + * + * <p> + * <pre> + * <code> + * <complexType name="valueRangeType"> + * <annotation> + * <documentation>The range of an interval. If the "min" or "max" element is not included, there is no value limit in that direction. Inclusion of the specified minimum and maximum values in the range shall be defined by the "closure". (The interval can be bounded or semi-bounded with different closures.) The data type and the semantic of the values are inherited by children and may be superceded by them. This range may be qualitative, i.e., nominal (age range) or qualitative (percentage) meaning that a value between min/max can be queried. </documentation> + * </annotation> + * <sequence> + * <element minOccurs="0" name="min" type="wcs:TypedLiteralType"> + * <annotation> + * <documentation>Minimum value of this numeric parameter. </documentation> + * </annotation> + * </element> + * <element minOccurs="0" name="max" type="wcs:TypedLiteralType"> + * <annotation> + * <documentation>Maximum value of this numeric parameter. </documentation> + * </annotation> + * </element> + * </sequence> + * <attribute ref="wcs:type" use="optional"> + * <annotation> + * <documentation>Can be omitted when the datatype of values in this interval is string, or the "type" attribute is included in an enclosing element. </documentation> + * </annotation> + * </attribute> + * <attribute ref="wcs:semantic" use="optional"> + * <annotation> + * <documentation>Can be omitted when the semantics or meaning of values in this interval is clearly specified elsewhere, or the "semantic" attribute is included in an enclosing element. </documentation> + * </annotation> + * </attribute> + * <attribute default="false" name="atomic" type="boolean" use="optional"> + * <annotation> + * <documentation>What does this attribute mean? Is it useful and not redundant? When should this attribute be included or omitted? TBD. </documentation> + * </annotation> + * </attribute> + * <attribute ref="wcs:closure" use="optional"> + * <annotation> + * <documentation>Shall be included unless the default value applies. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class ValueRangeTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.valueRangeType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,112 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:WCSCapabilityType. + * + * <p> + * <pre> + * <code> + * <complexType name="WCSCapabilityType"> + * <annotation> + * <documentation>XML encoded WCS GetCapabilities operation response. The Capabilities document provides clients with service metadata about a specific service instance, including metadata about the coverages served. </documentation> + * </annotation> + * <sequence> + * <element name="Request"> + * <complexType name="WCSCapabilityType_Request"> + * <sequence> + * <element name="GetCapabilities"> + * <complexType> + * <sequence> + * <element maxOccurs="unbounded" + * name="DCPType" type="wcs:DCPTypeType"/> + * </sequence> + * </complexType> + * </element> + * <element name="DescribeCoverage"> + * <complexType> + * <sequence> + * <element maxOccurs="unbounded" + * name="DCPType" type="wcs:DCPTypeType"/> + * </sequence> + * </complexType> + * </element> + * <element name="GetCoverage"> + * <complexType> + * <sequence> + * <element maxOccurs="unbounded" + * name="DCPType" type="wcs:DCPTypeType"/> + * </sequence> + * </complexType> + * </element> + * </sequence> + * </complexType> + * </element> + * <element name="Exception"> + * <complexType name="WCSCapabilityType_Exception"> + * <sequence> + * <element maxOccurs="unbounded" name="Format" type="string"/> + * </sequence> + * </complexType> + * </element> + * <element minOccurs="0" name="VendorSpecificCapabilities"> + * <complexType name="WCSCapabilityType_VendorSpecificCapabilities"> + * <sequence> + * <any/> + * </sequence> + * </complexType> + * </element> + * </sequence> + * <attribute fixed="1.0.0" name="version" type="string" use="optional"/> + * <attribute name="updateSequence" type="string" use="optional"> + * <annotation> + * <documentation>Service metadata document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When not supported by server, server shall not return this attribute. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class WCSCapabilityTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.WCSCapabilityType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_ExceptionBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_ExceptionBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_ExceptionBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,60 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:WCSCapabilityType_Exception. + * + * <p> + * <pre> + * <code> + * <complexType name="WCSCapabilityType_Exception"> + * <sequence> + * <element maxOccurs="unbounded" name="Format" type="string"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class WCSCapabilityType_ExceptionBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.WCSCapabilityType_Exception; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_RequestBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_RequestBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_RequestBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,80 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:WCSCapabilityType_Request. + * + * <p> + * <pre> + * <code> + * <complexType name="WCSCapabilityType_Request"> + * <sequence> + * <element name="GetCapabilities"> + * <complexType> + * <sequence> + * <element maxOccurs="unbounded" name="DCPType" type="wcs:DCPTypeType"/> + * </sequence> + * </complexType> + * </element> + * <element name="DescribeCoverage"> + * <complexType> + * <sequence> + * <element maxOccurs="unbounded" name="DCPType" type="wcs:DCPTypeType"/> + * </sequence> + * </complexType> + * </element> + * <element name="GetCoverage"> + * <complexType> + * <sequence> + * <element maxOccurs="unbounded" name="DCPType" type="wcs:DCPTypeType"/> + * </sequence> + * </complexType> + * </element> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class WCSCapabilityType_RequestBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.WCSCapabilityType_Request; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_VendorSpecificCapabilitiesBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_VendorSpecificCapabilitiesBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCSCapabilityType_VendorSpecificCapabilitiesBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,60 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:WCSCapabilityType_VendorSpecificCapabilities. + * + * <p> + * <pre> + * <code> + * <complexType name="WCSCapabilityType_VendorSpecificCapabilities"> + * <sequence> + * <any/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class WCSCapabilityType_VendorSpecificCapabilitiesBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.WCSCapabilityType_VendorSpecificCapabilities; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCS_CapabilitiesTypeBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCS_CapabilitiesTypeBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/WCS_CapabilitiesTypeBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,71 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:WCS_CapabilitiesType. + * + * <p> + * <pre> + * <code> + * <complexType name="WCS_CapabilitiesType"> + * <annotation> + * <documentation>Metadata for a WCS server, also known as Capabilities document. Reply from a WCS that performed the GetCapabilities operation. </documentation> + * </annotation> + * <sequence> + * <element ref="wcs:Service"/> + * <element ref="wcs:Capability"/> + * <element ref="wcs:ContentMetadata"/> + * </sequence> + * <attribute fixed="1.0.0" name="version" type="string" use="required"/> + * <attribute name="updateSequence" type="string" use="optional"> + * <annotation> + * <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When supported by server, server shall return this attribute. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class WCS_CapabilitiesTypeBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS.WCS_CapabilitiesType; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_ContentMetadataBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_ContentMetadataBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_ContentMetadataBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,67 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_ContentMetadata. + * + * <p> + * <pre> + * <code> + * <complexType name="_ContentMetadata"> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" ref="wcs:CoverageOfferingBrief"/> + * </sequence> + * <attributeGroup ref="gml:AssociationAttributeGroup"/> + * <attribute fixed="1.0.0" name="version" type="string" use="optional"/> + * <attribute name="updateSequence" type="string" use="optional"> + * <annotation> + * <documentation>Service metadata document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When not supported by server, server shall not return this attribute. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _ContentMetadataBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._ContentMetadata; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_CoverageDescriptionBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_CoverageDescriptionBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_CoverageDescriptionBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,66 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_CoverageDescription. + * + * <p> + * <pre> + * <code> + * <complexType name="_CoverageDescription"> + * <sequence> + * <element maxOccurs="unbounded" ref="wcs:CoverageOffering"/> + * </sequence> + * <attribute fixed="1.0.0" name="version" type="string" use="required"/> + * <attribute name="updateSequence" type="string" use="optional"> + * <annotation> + * <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _CoverageDescriptionBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._CoverageDescription; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_DescribeCoverageBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_DescribeCoverageBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_DescribeCoverageBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,66 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_DescribeCoverage. + * + * <p> + * <pre> + * <code> + * <complexType name="_DescribeCoverage"> + * <sequence> + * <element maxOccurs="unbounded" minOccurs="0" name="Coverage" type="string"> + * <annotation> + * <documentation>Name or identifier of this coverage. The same name value shall not be used for any other coverages available from the same server. A client can obtain this name by a prior GetCapabilities request, or possibly from a third-party source. If this element is omitted, the server may return descriptions of every coverage offering available, or return a service exception. </documentation> + * </annotation> + * </element> + * </sequence> + * <attribute fixed="WCS" name="service" type="string" use="required"/> + * <attribute fixed="1.0.0" name="version" type="string" use="required"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _DescribeCoverageBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._DescribeCoverage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCapabilitiesBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCapabilitiesBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCapabilitiesBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,67 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_GetCapabilities. + * + * <p> + * <pre> + * <code> + * <complexType name="_GetCapabilities"> + * <sequence> + * <element default="/" minOccurs="0" name="section" type="wcs:CapabilitiesSectionType"/> + * </sequence> + * <attribute fixed="WCS" name="service" type="string" use="required"/> + * <attribute fixed="1.0.0" name="version" type="string" use="optional"/> + * <attribute name="updateSequence" type="string" use="optional"> + * <annotation> + * <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When omitted or not supported by server, server shall return latest complete service metadata document. </documentation> + * </annotation> + * </attribute> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _GetCapabilitiesBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._GetCapabilities; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCoverageBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCoverageBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_GetCoverageBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,74 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_GetCoverage. + * + * <p> + * <pre> + * <code> + * <complexType name="_GetCoverage"> + * <sequence> + * <element name="sourceCoverage" type="string"> + * <annotation> + * <documentation>The coverage offering (identified by its "name") that this request will draw from.</documentation> + * </annotation> + * </element> + * <element name="domainSubset" type="wcs:DomainSubsetType"/> + * <element minOccurs="0" name="rangeSubset" type="wcs:RangeSubsetType"/> + * <element minOccurs="0" ref="wcs:interpolationMethod"> + * <annotation> + * <documentation>Spatial interpolation method to be used in resampling data from its original form to the requested CRS and/or grid size. Method shall be among those listed for the requested coverage in the DescribeCoverage response.</documentation> + * </annotation> + * </element> + * <element name="output" type="wcs:OutputType"/> + * </sequence> + * <attribute fixed="WCS" name="service" type="string" use="required"/> + * <attribute fixed="1.0.0" name="version" type="string" use="required"/> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _GetCoverageBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._GetCoverage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_axisDescriptionBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_axisDescriptionBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_axisDescriptionBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,60 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_axisDescription. + * + * <p> + * <pre> + * <code> + * <complexType name="_axisDescription"> + * <sequence> + * <element ref="wcs:AxisDescription"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _axisDescriptionBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._axisDescription; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_keywordsBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_keywordsBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_keywordsBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,61 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_keywords. + * + * <p> + * <pre> + * <code> + * <complexType name="_keywords"> + * <sequence> + * <element maxOccurs="unbounded" name="keyword" type="string"/> + * <element minOccurs="0" name="type" type="gml:CodeType"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _keywordsBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._keywords; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_rangeSetBinding.java =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_rangeSetBinding.java (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/java/org/geotools/wcs/bindings/_rangeSetBinding.java 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,60 @@ +package org.geotools.wcs.bindings; + + +import org.geotools.wcs.WCS; +import org.geotools.xml.*; + + +import javax.xml.namespace.QName; + +/** + * Binding object for the type http://www.opengis.net/wcs:_rangeSet. + * + * <p> + * <pre> + * <code> + * <complexType name="_rangeSet"> + * <sequence> + * <element ref="wcs:RangeSet"/> + * </sequence> + * </complexType> + * + * </code> + * </pre> + * </p> + * + * @generated + */ +public class _rangeSetBinding extends AbstractComplexBinding { + + /** + * @generated + */ + public QName getTarget() { + return WCS._rangeSet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Class getType() { + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * + * @generated modifiable + */ + public Object parse(ElementInstance instance, Node node, Object value) + throws Exception { + + //TODO: implement and remove call to super + return super.parse(instance,node,value); + } + +} \ No newline at end of file Added: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/gml4wcs.xsd =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/gml4wcs.xsd (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/gml4wcs.xsd 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,529 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema +xmlns="http://www.w3.org/2001/XMLSchema" +xmlns:gml="http://www.opengis.net/gml" +xmlns:xlink="http://www.w3.org/1999/xlink" +targetNamespace="http://www.opengis.net/gml" +elementFormDefault="qualified" +version="3.00" xml:lang="en"> + <annotation> + <appinfo>gml4wcs.xsd v1.0.0 2003-07-29</appinfo> + <documentation>GML profile for WCS </documentation> + <documentation>AEW 03/07/22 Changes made: + Edited documentation of "name" element + </documentation> + <documentation>JDE 2003-07-28: + Added indeterminatePosition attribute to timePosition + Added 11 new elements and types from geometryBasic2d.xsd (to define Polygon, used in CoverageDescription...SpatialDomain) + </documentation> + <documentation>AEW 03/07/29 Changes made: + Rearranged elements and types and inserted comments indicating the GML schema from which groups of elements and types were copied or edited into this profile + </documentation> + <documentation>JDE 2003-07-30 Added TimeDurationType</documentation> + </annotation> + <!-- ======== includes and imports =================================== --> + <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <!-- =========================================================== + GML profile elements and types from gmlBase.xsd ============================================================== --> + <element name="_Object" abstract="true"> + <annotation> + <documentation>This abstract element is the head of a substitutionGroup hierararchy which may contain either simpleContent or complexContent elements. It is used to assert the model position of "class" elements declared in other GML schemas. </documentation> + </annotation> + </element> + <!-- ============================================================== --> + <element name="_GML" type="gml:AbstractGMLType" abstract="true" substitutionGroup="gml:_Object"> + <annotation> + <documentation>Global element which acts as the head of a substitution group that may include any element which is a GML feature, object, geometry or complex value</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractGMLType" abstract="true"> + <annotation> + <documentation> The optional attribute "id" is omitted from this profile. </documentation> + <documentation>All complexContent GML elements are directly or indirectly derived from this abstract supertype to establish a hierarchy of GML types that may be distinguished from other XML types by their ancestry. </documentation> + </annotation> + <sequence> + <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:description" minOccurs="0"/> + <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Multiple names may be provided. These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute. In an instance document there will usually only be one name per authority. </documentation> + </annotation> + </element> + </sequence> + </complexType> + <!-- =========================================================== --> + <element name="name" type="gml:CodeType"> + <annotation> + <documentation>Identifier for the object, normally a descriptive name. An object may have several names, typically assigned by different authorities. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <attribute name="id" type="ID"> + <annotation> + <documentation>Database handle for the object. It is of XML type “ID”, so is constrained to be unique in the XML document within which it occurs. An external identifier for the object in the form of a URI may be constructed using standard XML and XPointer methods. This is done by concatenating the URI for the document, a fragment separator “#”, and the value of the id attribute. </documentation> + </annotation> + </attribute> + <!-- =========================================================== --> + <element name="description" type="gml:StringOrRefType"> + <annotation> + <documentation>Contains a simple text description of the object, or refers to an external description. </documentation> + </annotation> + </element> + <!-- ===================================================== --> + <complexType name="StringOrRefType"> + <annotation> + <documentation> +This type is available wherever there is a need for a "text" type property. It is of string type, so the text can be included inline, but the value can also be referenced remotely via xlinks from the AssociationAttributeGroup. If the remote reference is present, then the value obtained by traversing the link should be used, and the string content of the element can be used for an annotation. </documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </extension> + </simpleContent> + </complexType> + <!-- =========================================================== --> + <element name="metaDataProperty" type="gml:MetaDataPropertyType"> + <annotation> + <documentation>Contains or refers to a metadata package that contains metadata properties. </documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="MetaDataPropertyType"> + <annotation> + <documentation> Base type for complex metadata property types.</documentation> + </annotation> + <sequence> + <element ref="gml:_MetaData" minOccurs="0"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attribute name="about" type="anyURI" use="optional"/> + </complexType> + <!-- =========================================================== --> + <element name="_MetaData" type="gml:AbstractMetaDataType" abstract="true" substitutionGroup="gml:_Object"> + <annotation> + <documentation>Abstract element which acts as the head of a substitution group for packages of MetaData properties. </documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractMetaDataType" abstract="true" mixed="true"> + <annotation> + <documentation>An abstract base type for complex metadata types.</documentation> + </annotation> + <attribute ref="gml:id" use="optional"/> + </complexType> + <!-- =========================================================== --> + <attributeGroup name="AssociationAttributeGroup"> + <annotation> + <documentation>Attribute group used to enable property elements to refer to their value remotely. It contains the “simple link” components from xlinks.xsd, with all members “optional”, and the remoteSchema attribute, which is also optional. These attributes can be attached to any element, thus allowing it to act as a pointer. The 'remoteSchema' attribute allows an element that carries link attributes to indicate that the element is declared in a remote schema rather than by the schema that constrains the current document instance. </documentation> + </annotation> + <attributeGroup ref="xlink:simpleLink"/> + <attribute ref="gml:remoteSchema" use="optional"/> + </attributeGroup> + <!-- =========================================================== --> + <attribute name="remoteSchema" type="anyURI"> + <annotation> + <documentation>Reference to an XML Schema fragment that specifies the content model of the property’s value. This is in conformance with the XML Schema Section 4.14 Referencing Schemas from Elsewhere. </documentation> + </annotation> + </attribute> + <!-- =========================================================== --> + <complexType name="ReferenceType"> + <annotation> + <documentation> A pattern or base for derived types used to specify complex types corresponding to a UML aggregation association. An instance of this type serves as a pointer to a remote Object. + </documentation> + </annotation> + <sequence/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <!-- =========================================================== + GML profile elements and types from geometryBasic0d1d.xsd ============================================================== --> + <element name="_Geometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:_GML"> + <annotation> + <documentation>The "_Geometry" element is the abstract head of the substituition group for all geometry elements of GML 3. This includes pre-defined and user-defined geometry elements. Any geometry element must be a direct or indirect extension/restriction of AbstractGeometryType and must be directly or indirectly in the substitution group of "_Geometry".</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractGeometryType" abstract="true"> + <annotation> + <documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute ("id"), a name (attribute "name") and a description (attribute "description"). It may be associated with a spatial reference system (attribute "srsName"). The following rules shall be adhered: - Every geometry type shall derive from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of _Geometry.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryBaseType"> + <attribute name="srsName" type="anyURI" use="optional"> + <annotation> + <documentation>No gid attribute added.</documentation> + <documentation>In general srsName points to a CRS instance of CoordinateReferenceSystemType (see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the location the URI points to (Note: These "WKCRS"-ids still have to be specified). If no srsName attribute is given, the CRS must be specified as part of the larger context this geometry element is part of, e.g. a geometric aggregate.</documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="AbstractGeometryBaseType" abstract="true"> + <annotation> + <documentation>Removes name, description, and metadataLink from AbstractGMLType. </documentation> + </annotation> + <complexContent> + <restriction base="gml:AbstractGMLType"/> + </complexContent> + </complexType> + <!-- =========================================================== --> + <element name="_GeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" substitutionGroup="gml:_Geometry"> + <annotation> + <documentation>The "_GeometricPrimitive" element is the abstract head of the substituition group for all (pre- and user-defined) geometric primitives.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractGeometricPrimitiveType" abstract="true"> + <annotation> + <documentation>This is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"/> + </complexContent> + </complexType> + <!-- ============================================================== --> + <element name="Envelope" type="gml:EnvelopeType" substitutionGroup="gml:_Geometry"/> + <!-- =========================================================== --> + <complexType name="EnvelopeType"> + <annotation> + <documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element ref="gml:pos" minOccurs="2" maxOccurs="2"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="pos" type="gml:DirectPositionType"/> + <!-- =========================================================== --> + <complexType name="PointType"> + <annotation> + <documentation>A Point is defined by a single coordinate tuple.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <annotation> + <documentation>This profile uses only the "pos" element - no coordinates or coord.</documentation> + </annotation> + <element ref="gml:pos"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="VectorType"> + <annotation> + <documentation>A Vector is an ordered set of numbers called coordinates that represent a position in a coordinate reference system (CRS). For some application the components of the position may be adjusted to yield a unit vector.</documentation> + </annotation> + <simpleContent> + <restriction base="gml:DirectPositionType"/> + </simpleContent> + </complexType> + <!-- ============================================================== --> + <complexType name="DirectPositionType"> + <annotation> + <documentation>DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since DirectPositions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the "srsName" attribute will in general be missing, if this particular DirectPosition is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.</documentation> + </annotation> + <simpleContent> + <extension base="gml:doubleList"> + <attribute name="dimension" type="positiveInteger" use="optional"> + <annotation> + <documentation>The attribute "dimension" is the length of coordinate sequence (the number of entries in the list). This is determined by the coordinate reference system.</documentation> + </annotation> + </attribute> + </extension> + </simpleContent> + </complexType> + <!-- =========================================================== + GML profile elements and types from basicTypes.xsd ============================================================== --> + <complexType name="CodeType"> + <annotation> + <documentation>Name or code with an (optional) authority. Text token. + If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus + or authority for the term, such as the organisation who assigned the value, + or the dictionary from which it is taken. + A text string with an optional codeSpace attribute. </documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute name="codeSpace" type="anyURI" use="optional"/> + </extension> + </simpleContent> + </complexType> + <!-- =========================================================== --> + <complexType name="CodeListType"> + <annotation> + <documentation>List of values on a uniform nominal scale. List of text tokens. + In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string. + If a codeSpace attribute is present, then its value is a reference to + a Reference System for the value, a dictionary or code list.</documentation> + </annotation> + <simpleContent> + <extension base="gml:NameList"> + <attribute name="codeSpace" type="anyURI" use="optional"/> + </extension> + </simpleContent> + </complexType> + <!-- =========================================================== --> + <simpleType name="NameList"> + <annotation> + <documentation>XML List based on XML Schema Name type. An element of this type contains a space-separated list of Name values</documentation> + </annotation> + <list itemType="Name"/> + </simpleType> + <!-- =========================================================== --> + <simpleType name="integerList"> + <annotation> + <documentation>XML List based on XML Schema integer type. An element of this type contains a space-separated list of integer values</documentation> + </annotation> + <list itemType="integer"/> + </simpleType> + <!-- =========================================================== --> + <simpleType name="doubleList"> + <annotation> + <documentation>XML List based on XML Schema double type. An element of this type contains a space-separated list of double values</documentation> + </annotation> + <list itemType="double"/> + </simpleType> + <!-- =========================================================== + GML profile elements and types from feature.xsd ============================================================== --> + <element name="boundedBy" type="gml:BoundingShapeType"/> + <!-- =========================================================== --> + <complexType name="BoundingShapeType"> + <annotation> + <documentation>Bounding shape.</documentation> + </annotation> + <sequence> + <element ref="gml:Envelope"/> + </sequence> + </complexType> + <!-- =========================================================== --> + <element name="EnvelopeWithTimePeriod" type="gml:EnvelopeWithTimePeriodType" substitutionGroup="gml:Envelope"/> + <!-- =========================================================== --> + <complexType name="EnvelopeWithTimePeriodType"> + <annotation> + <documentation>Envelope that includes also a temporal extent.</documentation> + </annotation> + <complexContent> + <extension base="gml:EnvelopeType"> + <sequence> + <element ref="gml:timePosition" minOccurs="2" maxOccurs="2"/> + </sequence> + <attribute name="frame" type="anyURI" use="optional" default="#ISO-8601"/> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== + GML profile elements and types from temporal.xsd ============================================================== --> + <element name="timePosition" type="gml:TimePositionType"> + <annotation> + <documentation>Direct representation of a temporal position. </documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="TimePositionType" final="#all"> + <annotation> + <documentation> + Indeterminate time values are also allowed, as described in ISO 19108. The indeterminatePosition + attribute can be used alone or it can qualify a specific value for temporal position (e.g. before + 2002-12, after 1019624400). For time values that identify position within a calendar, the + calendarEraName attribute provides the name of the calendar era to which the date is + referenced (e.g. the Meiji era of the Japanese calendar). + </documentation> + </annotation> + <simpleContent> + <extension base="gml:TemporalPositionType"> + <attribute name="calendarEraName" type="string" use="optional"/> + <attribute name="frame" type="anyURI" use="optional" default="#ISO-8601"/> + <attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType" use="optional"/> + </extension> + </simpleContent> + </complexType> + <!-- =========================================================== --> + <simpleType name="TemporalPositionType"> + <annotation> + <documentation> + Here we have collapsed the hierarchy of subtypes for temporal position in 19108 + by defining a union of simple types for indicating temporal position relative to a + specific reference system. + Date and time may be indicated with varying degrees of precision: + year, year-month, date, or dateTime (all ISO 8601 format). Note + that the dateTime type does not allow right-truncation (i.e. omitting + seconds). An ordinal era may be referenced via URI, and a decimal value + can be used to indicate the distance from the scale origin (e.g. UNIX time, + GPS calendar). + </documentation> + </annotation> + <union memberTypes="dateTime date gYearMonth gYear anyURI decimal"/> + </simpleType> + <!-- ================================================================== --> + <simpleType name="TimeIndeterminateValueType"> + <annotation> + <documentation xml:lang="en"> + This enumerated data type specifies values for indeterminate positions. + </documentation> + </annotation> + <restriction base="string"> + <enumeration value="after"/> + <enumeration value="before"/> + <enumeration value="now"/> + <enumeration value="unknown"/> + </restriction> + </simpleType> + <!-- ===================================== --> + <simpleType name="TimeDurationType"> + <annotation> + <documentation xml:lang="en"> + Base type for describing temporal length or distance. The value space is further + constrained by subtypes that conform to the ISO 8601 or ISO 11404 standards. + </documentation> + </annotation> + <union memberTypes="duration decimal"/> + </simpleType> + <!-- =========================================================== + GML profile elements and types from grids.xsd ============================================================== --> + <element name="Grid" type="gml:GridType" substitutionGroup="gml:_Geometry"/> + <!-- =========================================================== --> + <complexType name="GridType"> + <annotation> + <documentation>Implicitly defines an unrectified grid, which is a network composed of two or more sets of equally spaced parallel lines in which the members of each set intersect the members of the other sets at right angles. This profile does not extend AbstractGeometryType, so it defines the srsName attribute.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"> + <sequence> + <element name="limits" type="gml:GridLimitsType"/> + <element name="axisName" type="string" maxOccurs="unbounded"/> + </sequence> + <attribute name="dimension" type="positiveInteger" use="required"/> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="GridLimitsType"> + <sequence> + <element name="GridEnvelope" type="gml:GridEnvelopeType"/> + </sequence> + </complexType> + <!-- =========================================================== --> + <complexType name="GridEnvelopeType"> + <annotation> + <documentation>Provides grid coordinate values for the diametrically opposed corners of an envelope that bounds a section of grid. The value of a single coordinate is the number of offsets from the origin of the grid in the direction of a specific axis.</documentation> + </annotation> + <sequence> + <element name="low" type="gml:integerList"/> + <element name="high" type="gml:integerList"/> + </sequence> + </complexType> + <!-- =========================================================== --> + <element name="RectifiedGrid" type="gml:RectifiedGridType" substitutionGroup="gml:Grid"/> + <!-- =========================================================== --> + <complexType name="RectifiedGridType"> + <annotation> + <documentation>A rectified grid has an origin and vectors that define its post locations.</documentation> + </annotation> + <complexContent> + <extension base="gml:GridType"> + <sequence> + <element name="origin" type="gml:PointType"/> + <element name="offsetVector" type="gml:VectorType" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== + GML profile elements and types from geometryBasic2d.xsd, for Polygon ============================================================== --> + <element name="_Surface" type="gml:AbstractSurfaceType" abstract="true" substitutionGroup="gml:_GeometricPrimitive"> + <annotation> + <documentation>The "_Surface" element is the abstract head of the substituition group for all (continuous) surface elements.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractSurfaceType"> + <annotation> + <documentation> + An abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometricPrimitiveType"/> + </complexContent> + </complexType> + <!-- =========================================================== --> + <element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:_Surface"/> + <!-- =========================================================== --> + <complexType name="PolygonType"> + <annotation> + <documentation>A Polygon is a special surface that is defined by a single surface patch. The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. It is backwards compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is implemented by PolygonPatch.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractSurfaceType"> + <sequence> + <element ref="gml:exterior" minOccurs="0"/> + <element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <element name="exterior" type="gml:AbstractRingPropertyType"> + <annotation> + <documentation>A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <element name="interior" type="gml:AbstractRingPropertyType"> + <annotation> + <documentation>A boundary of a surface consists of a number of rings. The "interior" rings seperate the surface / surface patch from the area enclosed by the rings.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractRingPropertyType"> + <annotation> + <documentation> + Encapsulates a ring to represent the surface boundary property of a surface. + </documentation> + </annotation> + <sequence> + <element ref="gml:LinearRing"/> + </sequence> + </complexType> + <!-- =========================================================== --> + <element name="_Ring" type="gml:AbstractRingType" abstract="true" substitutionGroup="gml:_Geometry"> + <annotation> + <documentation>The "_Ring" element is the abstract head of the substituition group for all closed boundaries of a surface patch.</documentation> + </annotation> + </element> + <!-- =========================================================== --> + <complexType name="AbstractRingType" abstract="true"> + <annotation> + <documentation> + An abstraction of a ring to support surface boundaries of different complexity. + </documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractGeometryType"/> + </complexContent> + </complexType> + <!-- =========================================================== --> + <element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:_Ring"/> + <!-- =========================================================== --> + <complexType name="LinearRingType"> + <annotation> + <documentation>A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates must be coincident.</documentation> + </annotation> + <complexContent> + <extension base="gml:AbstractRingType"> + <sequence> + <annotation> + <documentation>This GML profile supports only one way to specify the control points of a linear ring: a sequence of "pos" (DirectPositionType).</documentation> + </annotation> + <element ref="gml:pos" minOccurs="4" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> +</schema> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/gml4wcs/gml4wcs.xsd ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/describeCoverage.xsd =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/describeCoverage.xsd (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/describeCoverage.xsd 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema +xmlns="http://www.w3.org/2001/XMLSchema" +xmlns:wcs="http://www.opengis.net/wcs" +xmlns:gml="http://www.opengis.net/gml" +targetNamespace="http://www.opengis.net/wcs" +elementFormDefault="qualified" +attributeFormDefault="unqualified" +version="1.0.1" xml:lang="en"> + <annotation> + <appinfo>describeCoverage.xsd v1.0.1 2005-07-18</appinfo> + <documentation>This schema defines the DescribeCoverage operation request and reply XML elements and types, used by an OGC Web Coverage Service (WCS). </documentation> + <documentation>JDE 2003-07-24 changes: + Changed first and third "include" below to "import" so as to bring more than one namespace + Made spatialDomain a global element so as to substitute for it in GetCoverage spatialSubset + </documentation> + <documentation> JDE 2003-07-28 - Made temporalSubset of type TimeSequenceType (from owsBase.xsd, uses gml:timePosition). </documentation> + <documentation>AEW 03/07/29 Changes made: + Edited documentation of some elements and types + </documentation> + <documentation>AEW 03/07/30 Changes made: + Corrrected defintion of temporalDomain element, makiing first letter of name lower case + </documentation> + <documentation>AEW 03/08/01 Changes made: + Edited documentation of many types + </documentation> + <documentation>JDE 03/08/27 Changes made: + Made DescribeCoverage/@service and DescribeCoverage/@version required + Added CoverageDescription/@version (required) and CoverageDescription/@updateSequence (optional) + </documentation> + <documentation>AEW 04/07/14 Changes made: + Changed two "import" statement for the "wcs" namespace to "include" statements. + Added "import" statement for the "gml" namespace used in gml4wcs.xsd. + </documentation> + <documentation>AEW 05/07/15 Changes made: + Changed documentation of updateSequence attribute in CoverageDescription element + </documentation> + </annotation> + <!-- ============================================================== + includes and imports + ============================================================== --> + <include schemaLocation="./wcsCapabilities.xsd"/> + <include schemaLocation="./values.xsd"/> + <import namespace="http://www.opengis.net/gml" schemaLocation="./gml4wcs.xsd"/> + <!-- ============================================================== + elements and types + ============================================================== --> + <element name="DescribeCoverage"> + <annotation> + <documentation>Request to a WCS to perform the DescribeCoverage operation. In this XML encoding, no "request" parameter is included, since the element name specifies the specific operation. </documentation> + </annotation> + <complexType> + <sequence> + <element name="Coverage" type="string" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Name or identifier of this coverage. The same name value shall not be used for any other coverages available from the same server. A client can obtain this name by a prior GetCapabilities request, or possibly from a third-party source. If this element is omitted, the server may return descriptions of every coverage offering available, or return a service exception. </documentation> + </annotation> + </element> + </sequence> + <attribute name="service" type="string" use="required" fixed="WCS"/> + <attribute name="version" type="string" use="required" fixed="1.0.0"/> + </complexType> + </element> + <!-- =========================================================== --> + <element name="CoverageDescription"> + <annotation> + <documentation>Reply from a WCS that performed the DescribeCoverage operation, containing one or more full coverage offering descriptions. </documentation> + </annotation> + <complexType> + <sequence> + <element ref="wcs:CoverageOffering" maxOccurs="unbounded"/> + </sequence> + <attribute name="version" type="string" use="required" fixed="1.0.0"/> + <attribute name="updateSequence" type="string" use="optional"> + <annotation> + <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. </documentation> + </annotation> + </attribute> + </complexType> + </element> + <!-- =========================================================== --> + <element name="CoverageOffering" type="wcs:CoverageOfferingType" substitutionGroup="gml:_GML"/> + <!-- =========================================================== --> + <complexType name="CoverageOfferingType"> + <annotation> + <documentation>Full description of one coverage available from a WCS instance. </documentation> + </annotation> + <complexContent> + <extension base="wcs:CoverageOfferingBriefType"> + <sequence> + <element ref="wcs:domainSet"/> + <element ref="wcs:rangeSet"/> + <element ref="wcs:supportedCRSs"/> + <element ref="wcs:supportedFormats"/> + <element ref="wcs:supportedInterpolations" minOccurs="0"> + <annotation> + <documentation>Specifies whether and how the server can interpolate coverage values over the spatial domain, when a GetCoverage request requires resampling, reprojection, or other generalization. If supportedInterpolations is absent or empty with no default, then clients should assume nearest-neighbor interpolation. If the only interpolation method listed is ‘none’, clients can only retrieve coverages from this layer in its native CRS and at its native resolution. </documentation> + </annotation> + </element> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ============================================================= + DomainSet elements and types + ============================================================== --> + <element name="domainSet" type="wcs:DomainSetType"/> + <!-- =========================================================== --> + <complexType name="DomainSetType"> + <annotation> + <documentation>Defines the spatial-temporal domain set of a coverage offering. The domainSet shall include a SpatialDomain (describing the spatial locations for which coverages can be requested), a TemporalDomain (describing the time instants or inter-vals for which coverages can be requested), or both. </documentation> + </annotation> + <choice> + <sequence> + <element ref="wcs:spatialDomain"/> + <element ref="wcs:temporalDomain" minOccurs="0"/> + </sequence> + <element ref="wcs:temporalDomain"/> + </choice> + </complexType> + <!-- =========================================================== --> + <element name="spatialDomain" type="wcs:SpatialDomainType"/> + <!-- =========================================================== --> + <complexType name="SpatialDomainType"> + <annotation> + <documentation>Defines the spatial domain of a coverage offering. A server shall describe the spatial domain by its edges, using one or more gml:Envelope elements. The gml:EnvelopeWithTimePeriod element may be used in place of gml:Envelope, to add the time bounds of the coverage offering. Each of these elements describes a bounding box defined by two points in space (or two positions in space and two in time). This bounding box could simply duplicate the information in the lonLatEnvelope of CoverageOfferingBrief; but the intent is to describe the locations in more detail (e.g., in several different CRSs, or several rectangular areas instead of one overall bounding box). + +In addition, a server can describe the internal grid structure of a coverage offering, using a gml:Grid (or gml:RectifiedGrid) in addition to a gml:Envelope. This element can help clients assess the fitness of the gridded data for their use (e.g. its native resolution, inferred from the offsetVector of a gml:RectifiedGrid), and to formulate grid coverage requests expressed in the internal grid coordinate reference system. + +Finally, a server can describe the spatial domain by means of a (repeatable) gml:Polygon, representing the polygon(s) covered by the coverage spatial domain. This is particularly useful for areas that are poorly approximated by a gml:Envelope (such as satellite image swaths, island groups, other non-convex areas). </documentation> + </annotation> + <sequence> + <element ref="gml:Envelope" maxOccurs="unbounded"/> + <element ref="gml:Grid" minOccurs="0" maxOccurs="unbounded"/> + <element ref="gml:Polygon" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </complexType> + <!-- ========================================================== --> + <element name="temporalDomain" type="wcs:TimeSequenceType"> + <annotation> + <documentation>Defines the temporal domain of a coverage offering, that is, the times for which valid data are available. The times shall to be ordered from the oldest to the newest. </documentation> + </annotation> + </element> + <!-- ============================================================= + RangeSet description elements and types + ============================================================== --> + <element name="rangeSet"> + <annotation> + <documentation>GML property containing one RangeSet GML object. </documentation> + </annotation> + <complexType> + <sequence> + <element ref="wcs:RangeSet"/> + </sequence> + </complexType> + </element> + <!-- =========================================================== --> + <element name="RangeSet" type="wcs:RangeSetType" substitutionGroup="gml:_GML"/> + <!-- =========================================================== --> + <complexType name="RangeSetType"> + <annotation> + <documentation>Defines the properties (categories, measures, or values) assigned to each location in the domain. Any such property may be a scalar (numeric or text) value, such as population density, or a compound (vector or tensor) value, such as incomes by race, or radiances by wavelength. The semantic of the range set is typically an observable and is referenced by a URI. A rangeSet also has a reference system that is reffered by the URI in the refSys attribute. The refSys is either qualitative (classification) or quantitative (uom). The three attributes can be included either here and in each axisDescription. If included in both places, the values in the axisDescription over-ride those included in the RangeSet. </documentation> + </annotation> + <complexContent> + <extension base="wcs:AbstractDescriptionType"> + <sequence> + <element ref="wcs:axisDescription" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Defines a range provided by a coverage. Multiple occurences are used for compound observations, to descibe an additional parameter (that is, an independent variable besides space and time), plus the valid values of this parameter (which GetCoverage requests can use to select subsets of a coverage offering). </documentation> + </annotation> + </element> + <element name="nullValues" type="wcs:valueEnumType" minOccurs="0"> + <annotation> + <documentation>Values used when valid values are not available. (The coverage encoding may specify a fixed value for null (e.g. “–99999” or “N/A”), but often the choice is up to the provider and must be communicated to the client outside of the coverage itself.) </documentation> + </annotation> + </element> + </sequence> + <attribute ref="wcs:semantic" use="optional"/> + <attribute name="refSys" type="anyURI" use="optional"> + <annotation> + <documentation>Pointer to the reference system in which values are expressed. This attribute shall be included either here or in each AxisDescriptionType. </documentation> + </annotation> + </attribute> + <attribute name="refSysLabel" type="string" use="optional"> + <annotation> + <documentation>Short human-readable label denoting the reference system, for human interface display. This attribute shall be included either here or in each AxisDescriptionType. </documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <!-- ============================================================== + Common elements and types for describing valid values in the DomainSet and RangeSet + ============================================================== --> + <element name="axisDescription"> + <annotation> + <documentation>GML property containing one AxisDescription GML object. </documentation> + </annotation> + <complexType> + <sequence> + <element ref="wcs:AxisDescription"/> + </sequence> + </complexType> + </element> + <!-- ========================================================== --> + <element name="AxisDescription" type="wcs:AxisDescriptionType" substitutionGroup="gml:_GML"/> + <!-- ========================================================== --> + <complexType name="AxisDescriptionType"> + <annotation> + <documentation>Description of a measured or observed quantity, and list of the “valid” quantity values (values for which measurements are available or “by which” aggregate values are available). The semantic is the URI of the quantity (for example observable or mathematical variable). The refSys attribute is a URI to a reference system, and the refSysLabel is the label used by client to refer the reference system. </documentation> + </annotation> + <complexContent> + <extension base="wcs:AbstractDescriptionType"> + <sequence> + <element name="values"> + <annotation> + <documentation>The type and value constraints for the values of this axis.</documentation> + </annotation> + <complexType> + <complexContent> + <extension base="wcs:valueEnumType"> + <sequence> + <element name="default" type="wcs:TypedLiteralType" minOccurs="0"> + <annotation> + <documentation>Ordered sequence of the parameter value(s) that the server will use for GetCoverage requests which omit a constraint on this parameter axis. (GetCoverage requests against a coverage offering whose AxisDescription has no default must specify a valid constraint for this parameter.) </documentation> + </annotation> + </element> + </sequence> + </extension> + </complexContent> + </complexType> + </element> + </sequence> + <attribute ref="wcs:semantic" use="optional"/> + <attribute name="refSys" type="anyURI" use="optional"> + <annotation> + <documentation>Pointer to the reference system in which values are expressed. This attribute shall be included either here or in RangeSetType. </documentation> + </annotation> + </attribute> + <attribute name="refSysLabel" type="string" use="optional"> + <annotation> + <documentation>Short human-readable label denoting the reference system, for human interface display. This attribute shall be included either here or in RangeSetType. </documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> +</schema> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/describeCoverage.xsd ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/getCoverage.xsd =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/getCoverage.xsd (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/getCoverage.xsd 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema +xmlns:gml="http://www.opengis.net/gml" +xmlns="http://www.w3.org/2001/XMLSchema" +xmlns:wcs="http://www.opengis.net/wcs" +targetNamespace="http://www.opengis.net/wcs" +elementFormDefault="qualified" +attributeFormDefault="unqualified" +version="1.0.1" xml:lang="en"> + <annotation> + <appinfo>getCoverage.xsd v1.0.1 2005-07-18</appinfo> + <documentation>This schema defines the GetCoverage operation request and response XML elements and types, used by an OGC Web Coverage Service (WCS). This schema is believed to be a GML Application Schema. </documentation> + <documentation>AEW 03/07/22 Changes made: + Removed [xmlns:t=""] above + Added [version="1.0.0" xml:lang="en"] above + Removed [abstract="true"] from CoverageRequest + Combined CoverageRequestType with CoverageRequest + Changed names of all elements in CoverageRequest to start with lower case letter + Defined new OutputType for "output" element in CoverageRequest + Removed restriction of DomainSetType from DomainSubsetType, to make schema valid + Added documention to DomainSubsetType, CoverageRequest, RangeSubsetType + Changed definition of "name" in RangeSubsetType, to produce valid schema. Should this "name" attribute be changed to "label"? + Simplified definition of axisSubset in RangeSubsetType + </documentation> + <documentation>AEW 03/07/29 Changes made: + Added documentation to DomainSubsetType, GridOp + </documentation> + <documentation>AEW 03/08/01 Changes made: + Edited documentation of many types + </documentation> + <documentation>JDE 03/08/27 Changes made: + Made both GetCoverage/@service and DescribeCoverage/@version required + </documentation> + <documentation>AEW 04/07/17 Changes made: + Changed "import" statement for the "wcs" namespace to an "include" statement. + Added "import" statement for "gml" namespace used in gml4wcs.xsd. + </documentation> + </annotation> + <!-- ========================================================== + includes and imports + ========================================================== --> + <include schemaLocation="./describeCoverage.xsd"/> + <import namespace="http://www.opengis.net/gml" schemaLocation="./gml4wcs.xsd"/> + <!-- ============================================================== + elements and types + ============================================================== --> + <element name="GetCoverage"> + <annotation> + <documentation>Request to a WCS to perform the GetCoverage operation. In this XML encoding, no "request" parameter is included, since the element name specifies the specific operation. </documentation> + </annotation> + <complexType> + <sequence> + <element name="sourceCoverage" type="string"> + <annotation> + <documentation>The coverage offering (identified by its "name") that this request will draw from.</documentation> + </annotation> + </element> + <element name="domainSubset" type="wcs:DomainSubsetType"/> + <element name="rangeSubset" type="wcs:RangeSubsetType" minOccurs="0"/> + <element ref="wcs:interpolationMethod" minOccurs="0"> + <annotation> + <documentation>Spatial interpolation method to be used in resampling data from its original form to the requested CRS and/or grid size. Method shall be among those listed for the requested coverage in the DescribeCoverage response.</documentation> + </annotation> + </element> + <element name="output" type="wcs:OutputType"/> + </sequence> + <attribute name="service" type="string" use="required" fixed="WCS"/> + <attribute name="version" type="string" use="required" fixed="1.0.0"/> + </complexType> + </element> + <!-- ======================================================= --> + <complexType name="DomainSubsetType"> + <annotation> + <documentation>Defines the desired subset of the domain set of the coverage. Is a GML property containing either or both spatialSubset and temporalSubset GML objects. </documentation> + </annotation> + <choice> + <sequence> + <element ref="wcs:spatialSubset"/> + <element ref="wcs:temporalSubset" minOccurs="0"/> + </sequence> + <element ref="wcs:temporalSubset"/> + </choice> + </complexType> + <!-- ======================================================= --> + <element name="spatialSubset" type="wcs:SpatialSubsetType"/> + <!-- ======================================================= --> + <complexType name="SpatialSubsetType"> + <annotation> + <documentation>Definition of a subset of a coverage spatial domain. Currently, only a grid subset of a coverage domain. </documentation> + </annotation> + <complexContent> + <restriction base="wcs:SpatialDomainType"> + <sequence> + <element ref="gml:Envelope"/> + <element ref="gml:Grid"/> + </sequence> + </restriction> + </complexContent> + </complexType> + <!-- ======================================================= --> + <element name="temporalSubset" type="wcs:TimeSequenceType"/> + <!-- ======================================================= --> + <complexType name="RangeSubsetType"> + <annotation> + <documentation>Definition of a subset of the named coverage range(s). Currently, only a value enumeration definition of a range subset. </documentation> + </annotation> + <sequence> + <element name="axisSubset" maxOccurs="unbounded"> + <annotation> + <documentation>Ordered sequence of points and/or intervals along one axis of a compound range set. </documentation> + </annotation> + <complexType> + <complexContent> + <extension base="wcs:valueEnumBaseType"> + <attribute name="name" type="string" use="required"> + <annotation> + <documentation>Name or identifier of one axis in this coverage. This name shall match that of an AxisDescription element in the DescribeCoverage XML response. </documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + </element> + </sequence> + </complexType> + <!-- ======================================================= --> + <complexType name="OutputType"> + <annotation> + <documentation>Asks for the GetCoverage response to be expressed in a particular Coordinate Reference System (crs) and encoded in a particular format. </documentation> + </annotation> + <sequence> + <element name="crs" type="gml:CodeType" minOccurs="0"> + <annotation> + <documentation>Identifier of the Coordinate Reference System (crs) in which GetCoverage response shall be expressed. Identifier shall be among those listed under supportedCRSs in the DescribeCoverage XML response. </documentation> + </annotation> + </element> + <element name="format" type="gml:CodeType"> + <annotation> + <documentation>Identifier of the format in which GetCoverage response shall be encoded. Identifier shall be among those listed under supportedFormats in the DescribeCoverage XML response. </documentation> + </annotation> + </element> + </sequence> + </complexType> +</schema> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/getCoverage.xsd ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/owsBase.xsd =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/owsBase.xsd (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/owsBase.xsd 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,269 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema +xmlns="http://www.w3.org/2001/XMLSchema" +xmlns:wcs="http://www.opengis.net/wcs" +xmlns:gml="http://www.opengis.net/gml" +targetNamespace="http://www.opengis.net/wcs" +elementFormDefault="qualified" +attributeFormDefault="unqualified" +version="1.0.0" xml:lang="en"> + <annotation> + <appinfo>owsBase.xsd v1.0.0 2004-07-15</appinfo> + <documentation> This schema defines the XML elements and types expected to be used by multiple OGC Web Services (OWSs). This schema is believed to be a GML Application Schema. </documentation> + <documentation>AEW 03/07/22 Changes made: + Added [xml:lang="en"] above + Moved interpolationMethod and InterpolationMethodType here from DescribeCoverage.xsd, because I know the WCTS will also use it. + Added documentation elements in InterpolationMethodType + (JDE 2003-07-28) Added LonLatBoundingBox, TimeSequence, name and description. + </documentation> + <documentation>AEW 03/07/29 Changes made: + Edited documentation of "keywords" element and various other parts + </documentation> + <documentation>AEW 03/07/30 Changes made: + Changed Substitution Group of lonLatEnvelope to gml:Envelope + </documentation> + <documentation>JDE 03/07/30 Changes made: + Removed the Substitution Group on lonLatEnvelope (we only want to use it in the context of CoverageOfferingBrief) + Added timeResolution to TimePeriodType + </documentation> + <documentation>AEW 03/08/01 Changes made: + In SupportedCRSsType, changed element name from NativeCRSs to nativeCRSs + Edited documentation of many types + </documentation> + <documentation>AEW 04/07/17 Changes made: + Changed fived value of srsName attribute in LonLatEnvelopeBaseType to URN value in "ogc" URN namespace, based on OWS Common and OGC 05-010. Also, defined srsName attribute as being anyURI type, and explicitly marked its use as optional. + Modified definition of wcs:name element to be in gml:name substitutionGroup. + Modified definition of wcs:description element to no longer be in gml:name substitutionGroup. + </documentation> + </annotation> + <!-- ============================================================== + includes and imports + ============================================================== --> + <import namespace="http://www.opengis.net/gml" schemaLocation="gml4wcs.xsd"/> + <!-- ============================================================ + Elements and types + ============================================================== --> + <element name="name" type="string"> + <annotation> + <documentation>Identifier for the object, normally a descriptive name. </documentation> + <documentation>For WCS use, removed optional CodeSpace attribute from gml:name.</documentation> + </annotation> + </element> + <!-- ===========================================================--> + <element name="description" type="string"> + <annotation> + <documentation>Contains a simple text description of the object. </documentation> + <documentation>For WCS use, removed optional AssociationAttributeGroup from gml:description. </documentation> + </annotation> + </element> + <!-- ===========================================================--> + <element name="keywords"> + <annotation> + <documentation>Unordered list of one or more commonly used or formalised word(s) or phrase(s) used to describe the subject. When needed, the optional "type" can name the type of the associated list of keywords that shall all have the same type. Also when needed, the codeSpace attribute of that "type" can also reference the type name authority and/or thesaurus. (Largely based on MD_Keywords class in ISO 19115.) </documentation> + </annotation> + <complexType> + <sequence> + <element name="keyword" type="string" maxOccurs="unbounded"/> + <element name="type" type="gml:CodeType" minOccurs="0"/> + </sequence> + </complexType> + </element> + <!-- =========================================================== --> + <element name="lonLatEnvelope" type="wcs:LonLatEnvelopeType"/> + <!-- =========================================================== --> + <complexType name="LonLatEnvelopeBaseType"> + <annotation> + <documentation>For WCS use, LonLatEnvelopeBaseType restricts gml:Envelope to the WGS84 geographic CRS with Longitude preceding Latitude and both using decimal degrees only. If included, height values are third and use metre units. </documentation> + <documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. </documentation> + </annotation> + <complexContent> + <restriction base="gml:EnvelopeType"> + <sequence> + <element ref="gml:pos" minOccurs="2" maxOccurs="2"/> + </sequence> + <attribute name="srsName" type="anyURI" use="optional" fixed="urn:ogc:def:crs:OGC:1.3:CRS84"/> + </restriction> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="LonLatEnvelopeType"> + <annotation> + <documentation>Defines spatial extent by extending LonLatEnvelope with an optional time position pair. </documentation> + </annotation> + <complexContent> + <extension base="wcs:LonLatEnvelopeBaseType"> + <sequence minOccurs="0"> + <element ref="gml:timePosition" minOccurs="2" maxOccurs="2"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <element name="TimeSequence" type="wcs:TimeSequenceType"/> + <!-- =========================================================== --> + <complexType name="TimeSequenceType"> + <annotation> + <documentation>An ordered sequence of time positions or intervals. The time positions and periods shall be ordered from the oldest to the newest. </documentation> + </annotation> + <choice maxOccurs="unbounded"> + <element ref="gml:timePosition"/> + <element ref="wcs:timePeriod"/> + </choice> + </complexType> + <!-- ========================================================= --> + <element name="timePeriod" type="wcs:TimePeriodType"/> + <!-- ========================================================= --> + <complexType name="TimePeriodType"> + <annotation> + <documentation>This is a variation of the GML TimePeriod, which allows the beginning and end of a time-period to be expressed in short-form inline using the begin/endPosition element, which allows an identifiable TimeInstant to be defined simultaneously with using it, or by reference, using xlinks on the begin/end elements. </documentation> + </annotation> + <sequence> + <element name="beginPosition" type="gml:TimePositionType"/> + <element name="endPosition" type="gml:TimePositionType"/> + <element name="timeResolution" type="gml:TimeDurationType" minOccurs="0"/> + </sequence> + <attribute name="frame" type="anyURI" use="optional" default="#ISO-8601"/> + </complexType> + <!-- ============================================================= + Metadata Link elements and types + ============================================================== --> + <element name="metadataLink" type="wcs:MetadataLinkType" substitutionGroup="gml:metaDataProperty"/> + <!-- =========================================================== --> + <complexType name="MetadataLinkType"> + <annotation> + <documentation>Refers to a metadata package that contains metadata properties for an object. The metadataType attribute indicates the type of metadata referred to. </documentation> + </annotation> + <complexContent> + <extension base="wcs:MetadataAssociationType"> + <attribute name="metadataType" use="required"> + <simpleType> + <restriction base="NMTOKEN"> + <enumeration value="TC211"> + <annotation> + <documentation>This metadata uses a profile of ISO TC211’s Geospatial Metadata Standard 19115. </documentation> + </annotation> + </enumeration> + <enumeration value="FGDC"> + <annotation> + <documentation>This metadata uses a profile of the US FGDC Content Standard for Digital Geospatial Metadata. </documentation> + </annotation> + </enumeration> + <enumeration value="other"> + <annotation> + <documentation>This metadata uses some other metadata standard(s) and/or no standard. </documentation> + </annotation> + </enumeration> + </restriction> + </simpleType> + </attribute> + </extension> + </complexContent> + </complexType> + <!-- ========================================================== --> + <complexType name="MetadataAssociationType"> + <annotation> + <documentation>Refers to a metadata package that contains metadata properties for an object. </documentation> + </annotation> + <complexContent> + <restriction base="gml:MetaDataPropertyType"> + <sequence/> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attribute name="about" type="anyURI" use="optional"/> + </restriction> + </complexContent> + </complexType> + <!-- ============================================================= + Supported Format elements and types- + ============================================================= --> + <element name="supportedFormats" type="wcs:SupportedFormatsType"/> + <!-- ========================================================== --> + <complexType name="SupportedFormatsType"> + <annotation> + <documentation>Unordered list of data transfer formats supported. </documentation> + </annotation> + <sequence> + <element ref="wcs:formats" maxOccurs="unbounded"/> + </sequence> + <attribute name="nativeFormat" type="string" use="optional"> + <annotation> + <documentation>Identifiers of one format in which the data is stored. </documentation> + </annotation> + </attribute> + </complexType> + <!-- ========================================================== --> + <element name="formats" type="gml:CodeListType"> + <annotation> + <documentation>Identifiers of one or more formats in which coverage content can be retrieved. The codeSpace optional attribute can reference the semantic of the format identifiers. </documentation> + </annotation> + </element> + <!-- ============================================================ + Supports CRSs elemente and types + ============================================================= --> + <element name="supportedCRSs" type="wcs:SupportedCRSsType"/> + <!-- ========================================================== --> + <complexType name="SupportedCRSsType"> + <annotation> + <documentation>Unordered list(s) of identifiers of Coordinate Reference Systems (CRSs) supported in server operation requests and responses. </documentation> + </annotation> + <sequence> + <choice> + <element name="requestResponseCRSs" type="gml:CodeListType" maxOccurs="unbounded"> + <annotation> + <documentation>Unordered list of identifiers of the CRSs in which the server can both accept requests and deliver responses for this data. These CRSs should include the native CRSs defined below. </documentation> + </annotation> + </element> + <sequence> + <element name="requestCRSs" type="gml:CodeListType" maxOccurs="unbounded"> + <annotation> + <documentation>Unordered list of identifiers of the CRSs in which the server can accept requests for this data. These CRSs should include the native CRSs defined below. </documentation> + </annotation> + </element> + <element name="responseCRSs" type="gml:CodeListType" maxOccurs="unbounded"> + <annotation> + <documentation>Unordered list of identifiers of the CRSs in which the server can deliver responses for this data. These CRSs should include the native CRSs defined below. </documentation> + </annotation> + </element> + </sequence> + </choice> + <element name="nativeCRSs" type="gml:CodeListType" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Unordered list of identifiers of the CRSs in which the server stores this data, that is, the CRS(s) in which data can be obtained without any distortion or degradation. </documentation> + </annotation> + </element> + </sequence> + </complexType> + <!-- ============================================================== + Interpolation Method elements and types + ============================================================== --> + <element name="supportedInterpolations" type="wcs:SupportedInterpolationsType"/> + <!-- =============================================== --> + <complexType name="SupportedInterpolationsType"> + <annotation> + <documentation>Unordered list of interpolation methods supported. </documentation> + </annotation> + <sequence> + <element ref="wcs:interpolationMethod" maxOccurs="unbounded"/> + </sequence> + <attribute name="default" type="wcs:InterpolationMethodType" use="optional" default="nearest neighbor"/> + </complexType> + <!-- ========================================================= --> + <element name="interpolationMethod" type="wcs:InterpolationMethodType"/> + <!-- ========================================================= --> + <simpleType name="InterpolationMethodType"> + <annotation> + <documentation>Codes that identify interpolation methods. The meanings of these codes are defined in Annex B of ISO 19123: Geographic information — Schema for coverage geometry and functions. </documentation> + </annotation> + <restriction base="string"> + <enumeration value="nearest neighbor"/> + <enumeration value="bilinear"/> + <enumeration value="bicubic"/> + <enumeration value="lost area"/> + <enumeration value="barycentric"/> + <enumeration value="none"> + <annotation> + <documentation>No interpolation. </documentation> + </annotation> + </enumeration> + </restriction> + </simpleType> +</schema> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/owsBase.xsd ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/values.xsd =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/values.xsd (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/values.xsd 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema +xmlns="http://www.w3.org/2001/XMLSchema" +xmlns:wcs="http://www.opengis.net/wcs" +xmlns:gml="http://www.opengis.net/gml" +targetNamespace="http://www.opengis.net/wcs" +elementFormDefault="qualified" +attributeFormDefault="unqualified" +version="1.0.1" xml:lang="en"> + <annotation> + <appinfo>values.xsd v1.0.1 2005-07-18</appinfo> + <documentation> This schema defines the values and enumeration elements and types used by the OGC Web Coverage Service (WCS). </documentation> + <documentation>JDE 2003-07-30 Removed empty "sequence" from valueEnumType</documentation> + <documentation>AEW 2005-07-15 Edited almost all documentation elements to remove TBRs and TBDs and to make them clearer. However, I do not know enough to resolve the TBD in the documentation of the "atomic" attribute in the valueRangeType. I also added documentation elements where I thought they were needed. </documentation> + </annotation> + <!-- ============================================================== + elements and types + ============================================================== --> + <complexType name="valueEnumType"> + <annotation> + <documentation>List of all the valid values and/or intervals of values for this variable. For numeric variables, signed values shall be ordered from negative infinity to positive infinity. For intervals, the type and semantic attributes are inherited by children elements, but can be superceded here. </documentation> + </annotation> + <complexContent> + <extension base="wcs:valueEnumBaseType"> + <attribute ref="wcs:type" use="optional"> + <annotation> + <documentation>Should be included if the data type is not string, and the valueEnumBaseType does not include any "interval" elements that include this attribute. </documentation> + </annotation> + </attribute> + <attribute ref="wcs:semantic" use="optional"> + <annotation> + <documentation>Should be included if the semantics or meaning is not clearly specified elsewhere, and the valueEnumBaseType does not include any "interval" elements that include this attribute. </documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <!-- ========================================================== --> + <complexType name="valueEnumBaseType"> + <annotation> + <documentation>List of all the valid values and/or ranges of values for this variable. For numeric variables, signed values shall be ordered from negative infinity to positive infinity. For intervals, the "type" and "semantic" attributes are inherited by children elements, but can be superceded by them. </documentation> + </annotation> + <choice maxOccurs="unbounded"> + <element ref="wcs:interval"/> + <element ref="wcs:singleValue"/> + </choice> + </complexType> + <!-- ========================================================== --> + <element name="singleValue" type="wcs:TypedLiteralType"> + <annotation> + <documentation>A single value for a quantity. </documentation> + </annotation> + </element> + <!-- ========================================================== --> + <element name="interval" type="wcs:intervalType"/> + <!-- ========================================================== --> + <complexType name="intervalType"> + <annotation> + <documentation>An interval of values of a numeric quantity. This interval can be continuous or discrete, defined by a fixed spacing between adjacent valid values. Note that the "type" and "semantic" attributes for min/max and "res" may be different (timeInstant and duration). </documentation> + </annotation> + <complexContent> + <extension base="wcs:valueRangeType"> + <sequence> + <element name="res" type="wcs:TypedLiteralType" minOccurs="0"> + <annotation> + <documentation>The regular distance or spacing between the allowed values in this interval. Shall be included when the allowed values are NOT continuous in this interval. Shall not be included when the allowed values are continuous in this interval. </documentation> + </annotation> + </element> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- ========================================================== --> + <complexType name="valueRangeType"> + <annotation> + <documentation>The range of an interval. If the "min" or "max" element is not included, there is no value limit in that direction. Inclusion of the specified minimum and maximum values in the range shall be defined by the "closure". (The interval can be bounded or semi-bounded with different closures.) The data type and the semantic of the values are inherited by children and may be superceded by them. This range may be qualitative, i.e., nominal (age range) or qualitative (percentage) meaning that a value between min/max can be queried. </documentation> + </annotation> + <sequence> + <element name="min" type="wcs:TypedLiteralType" minOccurs="0"> + <annotation> + <documentation>Minimum value of this numeric parameter. </documentation> + </annotation> + </element> + <element name="max" type="wcs:TypedLiteralType" minOccurs="0"> + <annotation> + <documentation>Maximum value of this numeric parameter. </documentation> + </annotation> + </element> + </sequence> + <attribute ref="wcs:type" use="optional"> + <annotation> + <documentation>Can be omitted when the datatype of values in this interval is string, or the "type" attribute is included in an enclosing element. </documentation> + </annotation> + </attribute> + <attribute ref="wcs:semantic" use="optional"> + <annotation> + <documentation>Can be omitted when the semantics or meaning of values in this interval is clearly specified elsewhere, or the "semantic" attribute is included in an enclosing element. </documentation> + </annotation> + </attribute> + <attribute name="atomic" type="boolean" use="optional" default="false"> + <annotation> + <documentation>What does this attribute mean? Is it useful and not redundant? When should this attribute be included or omitted? TBD. </documentation> + </annotation> + </attribute> + <attribute ref="wcs:closure" use="optional"> + <annotation> + <documentation>Shall be included unless the default value applies. </documentation> + </annotation> + </attribute> + </complexType> + <!-- ========================================================== --> + <attribute name="closure" default="closed"> + <annotation> + <documentation>Specifies which of the minimum and maximum values are included in the range. Note that plus and minus infinity are considered closed bounds. </documentation> + </annotation> + <simpleType> + <restriction base="NMTOKENS"> + <enumeration value="closed"> + <annotation> + <documentation>The specified minimum and maximum values are included in this range. </documentation> + </annotation> + </enumeration> + <enumeration value="open"> + <annotation> + <documentation>The specified minimum and maximum values are NOT included in this range. </documentation> + </annotation> + </enumeration> + <enumeration value="open-closed"> + <annotation> + <documentation>The specified minimum value is NOT included in this range, and the specified maximum value IS included in this range. </documentation> + </annotation> + </enumeration> + <enumeration value="closed-open"> + <annotation> + <documentation>The specified minimum value IS included in this range, and the specified maximum value is NOT included in this range. </documentation> + </annotation> + </enumeration> + </restriction> + </simpleType> + </attribute> + <!-- ============================================================ --> + <complexType name="TypedLiteralType"> + <annotation> + <documentation>A single value for a variable, encoded as a string. This type can be used for one value, for a spacing between allowed values, or for the default value of a parameter. The "type" attribute indicates the datatype of this value (default is a string). The value for a typed literal is found by applying the datatype mapping associated with the datatype URI to the lexical form string. </documentation> + </annotation> + <simpleContent> + <extension base="string"> + <attribute ref="wcs:type" use="optional"> + <annotation> + <documentation>Should be included unless the datatype is string, or this "type" attribute is included in an enclosing element. </documentation> + </annotation> + </attribute> + </extension> + </simpleContent> + </complexType> + <!-- =========================================================== --> + <attribute name="type" type="anyURI"> + <annotation> + <documentation>Datatype of a typed literal value. This URI typically references XSD simple types. It has the same semantic as rdf:datatype. </documentation> + </annotation> + </attribute> + <!-- =========================================================== --> + <attribute name="semantic" type="anyURI"> + <annotation> + <documentation>Definition of the semantics or meaning of the values in the XML element it belongs to. The value of this "semantic" attribute can be a RDF Property or Class of a taxonomy or ontology. </documentation> + </annotation> + </attribute> +</schema> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/values.xsd ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/wcsCapabilities.xsd =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/wcsCapabilities.xsd (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/wcsCapabilities.xsd 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,395 @@ +<?xml version="1.0" encoding="UTF-8"?> +<schema +xmlns="http://www.w3.org/2001/XMLSchema" +xmlns:wcs="http://www.opengis.net/wcs" +xmlns:xlink="http://www.w3.org/1999/xlink" +xmlns:gml="http://www.opengis.net/gml" +targetNamespace="http://www.opengis.net/wcs" +elementFormDefault="qualified" +attributeFormDefault="unqualified" +version="1.0.1" xml:lang="en"> + <annotation> + <appinfo>wcsCapabilities.xsd v1.0.1 2005-07-18</appinfo> + <documentation>This schema defines the Capabilities operation request and reply XML elements and types used by an OGC Web Coverage Service (WCS). This schema with the schemas it uses are believed to be GML Application Schemas. </documentation> + <documentation>AEW 03/07/22 Changes made: Changed element name "Section" to "section" in GetCapabilities Added documentation elements in GetCapabilities, CapabilitiesSectionType, ContentMetadata, AbstractDescriptionBaseType, AbstractDescriptionType Expanded documentation of WCS_CapabilitiesType Moved documentation from Service to ServiceType Edited documentation of OnlineResourceType, electronicMailAddress in AddressType Expanded separator comment before ContentMetadata elements and types Added separator comment before CoverageOfferingBrief Moved metadataLink from AbstractDescriptionType to AbstractDescriptionBaseType </documentation> + <documentation>in CoverageOfferingBrief, replaced boundedBy with a new lonLatBoundingBox (added to owsBase.xsd); and made temporal domain of type TimeSequenceType.</documentation> + <documentation>AEW 03/07/29 Changes made: Changed optionality and documentation os "fees" and accessConstraints" elements in ServiceType Changed reference to gml:description to reference to (wcs:)description in AbstractDescriptionBaseType </documentation> + <documentation>AEW 03/07/30 Changes made: Added "version" and "updateSequence" attributes to ServiceType, WCSCapabilityType, and ContentMetadata </documentation> + <documentation>JDE 03/07/30 - Added "version" and "updateSequence" attributes to WCS_Capabilities type 03/08/27 - Made "version" attribute required </documentation> + <documentation>AEW 04/07/13 Changes made: Added declaration of the "xlink" namespace. In wcs:AbstractDescriptionType, added the elements wcs:description and wcs:name, and the attribute "gml:id" with use="prohibited". </documentation> + <documentation>AEW 05/07/18 Changes made: Changed documentation of updateSequence attribute in GetCapabilities element, WCS_CapabilitiesType, ServiceType, WCSCapabilityType, and ContentMetadata element. Added documentation of all enumeration values in CapabilitiesSectionType. Added documentation of WCSCapabilityType, DCPTypeType, CoverageOfferingBriefType, and AbstractDescriptionType. </documentation> + <documentation>JDE 2005/08/31 Changes made: AbstractDescriptionBaseType: made metadataLink repeatable </documentation> + </annotation> + <!-- ============================================================== includes and imports ============================================================== --> + <include schemaLocation="./owsBase.xsd"/> + <import namespace="http://www.opengis.net/gml" schemaLocation="./gml4wcs.xsd"/> + <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> + <!-- ============================================================== elements and types ============================================================== --> + <element name="GetCapabilities"> + <annotation> + <documentation>Request to a WCS to perform the GetCapabilities operation. In this XML encoding, no "request" parameter is included, since the element name specifies the specific operation. </documentation> + </annotation> + <complexType> + <sequence> + <element name="section" type="wcs:CapabilitiesSectionType" default="/" minOccurs="0"/> + </sequence> + <attribute name="service" type="string" use="required" fixed="WCS"/> + <attribute name="version" type="string" use="optional" fixed="1.0.0"/> + <attribute name="updateSequence" type="string" use="optional"> + <annotation> + <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When omitted or not supported by server, server shall return latest complete service metadata document. </documentation> + </annotation> + </attribute> + </complexType> + </element> + <!-- =========================================================== --> + <simpleType name="CapabilitiesSectionType"> + <annotation> + <documentation>Identification of desired part of full Capabilities XML document to be returned. </documentation> + </annotation> + <restriction base="string"> + <enumeration value="/"> + <annotation> + <documentation>TBD. </documentation> + </annotation> + </enumeration> + <enumeration value="/WCS_Capabilities/Service"> + <annotation> + <documentation>TBD. </documentation> + </annotation> + </enumeration> + <enumeration value="/WCS_Capabilities/Capability"> + <annotation> + <documentation>TBD. </documentation> + </annotation> + </enumeration> + <enumeration value="/WCS_Capabilities/ContentMetadata"> + <annotation> + <documentation>TBD. </documentation> + </annotation> + </enumeration> + </restriction> + </simpleType> + <!-- =========================================================== --> + <element name="WCS_Capabilities" type="wcs:WCS_CapabilitiesType"/> + <!-- =========================================================== --> + <complexType name="WCS_CapabilitiesType"> + <annotation> + <documentation>Metadata for a WCS server, also known as Capabilities document. Reply from a WCS that performed the GetCapabilities operation. </documentation> + </annotation> + <sequence> + <element ref="wcs:Service"/> + <element ref="wcs:Capability"/> + <element ref="wcs:ContentMetadata"/> + </sequence> + <attribute name="version" type="string" use="required" fixed="1.0.0"/> + <attribute name="updateSequence" type="string" use="optional"> + <annotation> + <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When supported by server, server shall return this attribute. </documentation> + </annotation> + </attribute> + </complexType> + <!-- ============================================================= Service elements and types ============================================================== --> + <element name="Service" type="wcs:ServiceType" substitutionGroup="gml:_GML"/> + <!-- =========================================================== --> + <complexType name="ServiceType"> + <annotation> + <documentation>A minimal, human readable rescription of the service. </documentation> + </annotation> + <complexContent> + <extension base="wcs:AbstractDescriptionType"> + <sequence> + <element ref="wcs:keywords" minOccurs="0" maxOccurs="unbounded"/> + <element name="responsibleParty" type="wcs:ResponsiblePartyType" minOccurs="0"/> + <element name="fees" type="gml:CodeListType"> + <annotation> + <documentation>A text string identifying any fees imposed by the service provider. The keyword NONE shall be used to mean no fees. </documentation> + </annotation> + </element> + <element name="accessConstraints" type="gml:CodeListType" maxOccurs="unbounded"> + <annotation> + <documentation>A text string identifying any access constraints imposed by the service provider. The keyword NONE shall be used to mean no access constraints are imposed. </documentation> + </annotation> + </element> + </sequence> + <attribute name="version" type="string" use="optional" fixed="1.0.0"/> + <attribute name="updateSequence" type="string" use="optional"> + <annotation> + <documentation>Service metadata (Capabilities) document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When supported by server, server shall return this attribute. </documentation> + </annotation> + </attribute> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="ResponsiblePartyType"> + <annotation> + <documentation>Identification of, and means of communication with, person(s) and organizations associated with the server. </documentation> + </annotation> + <sequence> + <choice> + <sequence> + <element name="individualName" type="string"> + <annotation> + <documentation>Name of the responsible person-surname, given name, title separated by a delimiter. </documentation> + </annotation> + </element> + <element name="organisationName" type="string" minOccurs="0"/> + </sequence> + <element name="organisationName" type="string"> + <annotation> + <documentation>Name of the responsible organizationt. </documentation> + </annotation> + </element> + </choice> + <element name="positionName" type="string" minOccurs="0"> + <annotation> + <documentation>Role or position of the responsible person. </documentation> + </annotation> + </element> + <element name="contactInfo" type="wcs:ContactType" minOccurs="0"> + <annotation> + <documentation>Address of the responsible party. </documentation> + </annotation> + </element> + </sequence> + </complexType> + <!-- =========================================================== --> + <complexType name="ContactType"> + <annotation> + <documentation>Information required to enable contact with the responsible person and/or organization. </documentation> + </annotation> + <sequence> + <element name="phone" type="wcs:TelephoneType" minOccurs="0"> + <annotation> + <documentation>Telephone numbers at which the organization or individual may becontacted. </documentation> + </annotation> + </element> + <element name="address" type="wcs:AddressType" minOccurs="0"> + <annotation> + <documentation>Physical and email address at which the organization or individualmay be contacted. </documentation> + </annotation> + </element> + <element name="onlineResource" type="wcs:OnlineResourceType" minOccurs="0"> + <annotation> + <documentation>On-line information that can be used to contact the individual ororganization. </documentation> + </annotation> + </element> + </sequence> + </complexType> + <!-- =========================================================== --> + <complexType name="OnlineResourceType"> + <annotation> + <documentation>Reference to on-line resource from which data can be obtained. </documentation> + </annotation> + <attributeGroup ref="xlink:simpleLink"/> + </complexType> + <!-- ========================================================== --> + <complexType name="TelephoneType"> + <annotation> + <documentation>Telephone numbers for contacting the responsible individual or organization. </documentation> + </annotation> + <sequence> + <element name="voice" type="string" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Telephone number by which individuals can speak to the responsible organization or individual. </documentation> + </annotation> + </element> + <element name="facsimile" type="string" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Telephone number of a facsimile machine for the responsibleorganization or individual. </documentation> + </annotation> + </element> + </sequence> + </complexType> + <!-- =========================================================== --> + <complexType name="AddressType"> + <annotation> + <documentation>Location of the responsible individual or organization. </documentation> + </annotation> + <sequence> + <element name="deliveryPoint" type="string" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Address line for the location (as described in ISO 11180, Annex A). </documentation> + </annotation> + </element> + <element name="city" type="string" minOccurs="0"> + <annotation> + <documentation>City of the location. </documentation> + </annotation> + </element> + <element name="administrativeArea" type="string" minOccurs="0"> + <annotation> + <documentation>State ot province of the location. </documentation> + </annotation> + </element> + <element name="postalCode" type="string" minOccurs="0"> + <annotation> + <documentation>ZIP or other postal code. </documentation> + </annotation> + </element> + <element name="country" type="string" minOccurs="0"> + <annotation> + <documentation>Country of the physical address. </documentation> + </annotation> + </element> + <element name="electronicMailAddress" type="string" minOccurs="0" maxOccurs="unbounded"> + <annotation> + <documentation>Address of the electronic mailbox of the responsible organization or individual. </documentation> + </annotation> + </element> + </sequence> + </complexType> + <!-- ============================================================= WCSCapabilityType types and elements ============================================================== --> + <element name="Capability" type="wcs:WCSCapabilityType"/> + <complexType name="WCSCapabilityType"> + <annotation> + <documentation>XML encoded WCS GetCapabilities operation response. The Capabilities document provides clients with service metadata about a specific service instance, including metadata about the coverages served. </documentation> + </annotation> + <sequence> + <element name="Request"> + <complexType> + <sequence> + <element name="GetCapabilities"> + <complexType> + <sequence> + <element name="DCPType" type="wcs:DCPTypeType" maxOccurs="unbounded"/> + </sequence> + </complexType> + </element> + <element name="DescribeCoverage"> + <complexType> + <sequence> + <element name="DCPType" type="wcs:DCPTypeType" maxOccurs="unbounded"/> + </sequence> + </complexType> + </element> + <element name="GetCoverage"> + <complexType> + <sequence> + <element name="DCPType" type="wcs:DCPTypeType" maxOccurs="unbounded"/> + </sequence> + </complexType> + </element> + </sequence> + </complexType> + </element> + <element name="Exception"> + <complexType> + <sequence> + <element name="Format" type="string" maxOccurs="unbounded"/> + </sequence> + </complexType> + </element> + <element name="VendorSpecificCapabilities" minOccurs="0"> + <complexType> + <sequence> + <any/> + </sequence> + </complexType> + </element> + </sequence> + <attribute name="version" type="string" use="optional" fixed="1.0.0"/> + <attribute name="updateSequence" type="string" use="optional"> + <annotation> + <documentation>Service metadata document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When not supported by server, server shall not return this attribute. </documentation> + </annotation> + </attribute> + </complexType> + <!-- =========================================================== --> + <complexType name="DCPTypeType"> + <annotation> + <documentation>Connect point URLs for the HTTP Distributed Computing Platform (DCP). Normally, only one Get and/or one Post is included in this element. More than one Get and/or Post is allowed to support including alternative URLs for uses such as load balancing or backup. </documentation> + </annotation> + <sequence> + <element name="HTTP"> + <complexType> + <choice maxOccurs="unbounded"> + <element name="Get"> + <complexType> + <sequence> + <element name="OnlineResource" type="wcs:OnlineResourceType"/> + </sequence> + </complexType> + </element> + <element name="Post"> + <complexType> + <sequence> + <element name="OnlineResource" type="wcs:OnlineResourceType"/> + </sequence> + </complexType> + </element> + </choice> + </complexType> + </element> + </sequence> + </complexType> + <!-- ============================================================= ContentMetadata elements and types =========================================================== --> + <element name="ContentMetadata"> + <annotation> + <documentation>Unordered list of brief descriptions of all coverages avaialble from this WCS, or a reference to another service from which this information is available. </documentation> + </annotation> + <complexType> + <sequence> + <element ref="wcs:CoverageOfferingBrief" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + <attribute name="version" type="string" use="optional" fixed="1.0.0"/> + <attribute name="updateSequence" type="string" use="optional"> + <annotation> + <documentation>Service metadata document version, having values that are "increased" whenever any change is made in service metadata document. Values are selected by each server, and are always opaque to clients. When not supported by server, server shall not return this attribute. </documentation> + </annotation> + </attribute> + </complexType> + </element> + <!-- =========================================================== --> + <element name="CoverageOfferingBrief" type="wcs:CoverageOfferingBriefType" substitutionGroup="gml:_GML"/> + <!-- =========================================================== --> + <complexType name="CoverageOfferingBriefType"> + <annotation> + <documentation>Brief description of one coverage avaialble from a WCS. </documentation> + </annotation> + <complexContent> + <extension base="wcs:AbstractDescriptionType"> + <sequence> + <element ref="wcs:lonLatEnvelope"/> + <element ref="wcs:keywords" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="AbstractDescriptionBaseType" abstract="true"> + <annotation> + <documentation>Description of a WCS object. </documentation> + </annotation> + <complexContent> + <restriction base="gml:AbstractGMLType"> + <sequence> + <!-- element ref="metadataLink" minOccurs="0" maxOccurs="unbounded"/ --> + </sequence> + </restriction> + </complexContent> + </complexType> + <!-- =========================================================== --> + <complexType name="AbstractDescriptionType" abstract="true"> + <annotation> + <documentation>Human-readable descriptive information for the object it is included within.</documentation> + </annotation> + <complexContent> + <extension base="wcs:AbstractDescriptionBaseType"> + <sequence> + <element ref="wcs:metadataLink" minOccurs="0" maxOccurs="unbounded"/> + <element ref="wcs:description" minOccurs="0"/> + <element ref="wcs:name"/> + <element name="label" type="string"> + <annotation> + <documentation>Short human-readable label for this object, for human interface display. </documentation> + </annotation> + </element> + </sequence> + <attribute ref="gml:id" use="prohibited"/> + </extension> + </complexContent> + </complexType> +</schema> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/main/resources/org/geotools/wcs/wcsCapabilities.xsd ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/site/apt/review.apt =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/site/apt/review.apt (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/site/apt/review.apt 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,17 @@ +Module XML WCS Bindings +~~~~~~~~~~~~~~~~~~~~~~~ + + Module Maintainer: Justin Deoliveira + + IP Review: + + * Alessio Fabiani, August 21th, 2008 + + STATUS as of July 2008: CLEAN + + * All classes created for the geotools project by the module maintainer + have been updated to assign (c) to OSGEO in the header. + + * Much of the binding classes (marked with a @generated tag and then modified by hand) + lack the @author attribution tag. + \ No newline at end of file Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/site/apt/review.apt ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/modules/extension/xsd/xsd-wcs/src/site/site.xml =================================================================== --- trunk/modules/extension/xsd/xsd-wcs/src/site/site.xml (rev 0) +++ trunk/modules/extension/xsd/xsd-wcs/src/site/site.xml 2009-11-09 14:30:13 UTC (rev 34349) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<project name="Geotools 2"> + <body> + <!-- ==================================================== --> + <!-- Links to appears just below the right banner --> + <!-- ==================================================== --> + <links> + <item name="Geotools" href="http://www.geotools.org/"/> + <item name="GeoAPI" href="http://geoapi.sourceforge.net/"/> + <item name="Javadoc" href="http://javadoc.geotools.fr/snapshot/"/> + </links> + + <!-- ==================================================== --> + <!-- Menus to appears on the left side of each page --> + <!-- ==================================================== --> + <menu name="Geotools"> + <item name="Download" href="http://www.geotools.org/display/GEOTOOLS/Downloads"/> + <item name="Full Javadoc" href="http://javadoc.geotools.fr/snapshot/"/> + <item name="All Reports" href="http://maven.geotools.fr/reports/"/> + <item name="Legal review" href="review.html"/> + </menu> + + ${reports} <!-- Replaced by menus for any configured reports (mailing lists, etc.) --> + + <menu name="Use"> + <item name="Articles" href="http://www.geotools.org/display/GEOTOOLS/Articles"/> + <item name="Tutorials" href="http://www.geotools.org/display/GEOTOOLS/Tutorials"/> + <item name="Snippets" href="http://www.geotools.org/display/GEOTOOLS/Snippets"/> + </menu> + </body> +</project> Property changes on: trunk/modules/extension/xsd/xsd-wcs/src/site/site.xml ___________________________________________________________________ Added: svn:eol-style + native ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ GeoTools-commits mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/geotools-commits |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |