You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2018/02/26 11:28:20 UTC
svn commit: r1825355 [8/15] - in /sis/trunk: ./
application/sis-console/src/test/java/org/apache/sis/console/
core/sis-build-helper/src/main/resources/org/apache/sis/internal/book/
core/sis-metadata/ core/sis-metadata/src/main/java/org/apache/sis/inter...
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -49,7 +49,7 @@ import org.apache.sis.util.iso.Types;
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Guilhem Legal (Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -177,7 +177,7 @@ public class DefaultConformanceResult ex
* @return explanation of the meaning of conformance, or {@code null}.
*/
@Override
- @XmlElement(name = "explanation", required = true)
+ @XmlElement(name = "explanation")
public InternationalString getExplanation() {
return explanation;
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultCoverageResult.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -25,7 +25,6 @@ import org.opengis.metadata.quality.Cove
import org.opengis.metadata.distribution.DataFile;
import org.opengis.metadata.spatial.SpatialRepresentation;
import org.opengis.metadata.spatial.SpatialRepresentationType;
-import org.apache.sis.xml.Namespaces;
/**
@@ -55,7 +54,7 @@ import org.apache.sis.xml.Namespaces;
*
* @author Cédric Briançon (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -67,7 +66,7 @@ import org.apache.sis.xml.Namespaces;
"resultFormat",
"resultFile"
})
-@XmlRootElement(name = "QE_CoverageResult", namespace = Namespaces.GMI)
+@XmlRootElement(name = "QE_CoverageResult")
public class DefaultCoverageResult extends AbstractResult implements CoverageResult {
/**
* Serial number for inter-operability with different versions.
@@ -157,7 +156,7 @@ public class DefaultCoverageResult exten
* @return spatial representation of the coverage result, or {@code null}.
*/
@Override
- @XmlElement(name = "spatialRepresentationType", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "spatialRepresentationType", required = true)
public SpatialRepresentationType getSpatialRepresentationType() {
return spatialRepresentationType;
}
@@ -178,7 +177,7 @@ public class DefaultCoverageResult exten
* @return digital representation of data quality measures composing the coverage result, or {@code null}.
*/
@Override
- @XmlElement(name = "resultSpatialRepresentation", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "resultSpatialRepresentation", required = true)
public SpatialRepresentation getResultSpatialRepresentation() {
return resultSpatialRepresentation;
}
@@ -200,7 +199,7 @@ public class DefaultCoverageResult exten
* @return description of the content of the result coverage, or {@code null}.
*/
@Override
- @XmlElement(name = "resultContentDescription", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "resultContentDescription", required = true)
public CoverageDescription getResultContentDescription() {
return resultContentDescription;
}
@@ -222,7 +221,7 @@ public class DefaultCoverageResult exten
* @return format of the result coverage data, or {@code null}.
*/
@Override
- @XmlElement(name = "resultFormat", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "resultFormat", required = true)
public Format getResultFormat() {
return resultFormat;
}
@@ -243,7 +242,7 @@ public class DefaultCoverageResult exten
* @return data file containing the result coverage data, or {@code null}.
*/
@Override
- @XmlElement(name = "resultFile", namespace = Namespaces.GMX, required = true)
+ @XmlElement(name = "resultFile", required = true)
public DataFile getResultFile() {
return resultFile;
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -27,6 +27,8 @@ import org.opengis.metadata.quality.Scop
import org.opengis.metadata.maintenance.ScopeCode;
import org.apache.sis.metadata.iso.ISOMetadata;
import org.apache.sis.metadata.iso.maintenance.DefaultScope;
+import org.apache.sis.internal.jaxb.FilterByVersion;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
/**
@@ -52,7 +54,7 @@ import org.apache.sis.metadata.iso.maint
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -187,7 +189,7 @@ public class DefaultDataQuality extends
* @return quantitative quality information for the data.
*/
@Override
- @XmlElement(name = "report")
+ @XmlElement(name = "report", required = true)
public Collection<Element> getReports() {
return reports = nonNullCollection(reports, Element.class);
}
@@ -205,11 +207,13 @@ public class DefaultDataQuality extends
* Returns non-quantitative quality information about the lineage of the data specified by the scope.
*
* @return non-quantitative quality information about the lineage of the data specified, or {@code null}.
+ *
+ * @see <a href="https://issues.apache.org/jira/browse/SIS-394">Issue SIS-394</a>
*/
@Override
- @XmlElement(name = "lineage")
+ @XmlElement(name = "lineage", namespace = LegacyNamespaces.GMD)
public Lineage getLineage() {
- return lineage;
+ return FilterByVersion.LEGACY_METADATA.accept() ? lineage : null;
}
/**
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultDomainConsistency.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Doma
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultFormatConsistency.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Form
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultGriddedDataPositionalAccuracy.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Grid
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultNonQuantitativeAttributeAccuracy.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -19,6 +19,7 @@ package org.apache.sis.metadata.iso.qual
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlRootElement;
import org.opengis.metadata.quality.NonQuantitativeAttributeAccuracy;
+import org.apache.sis.xml.Namespaces;
/**
@@ -38,13 +39,13 @@ import org.opengis.metadata.quality.NonQ
* </ul>
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
@SuppressWarnings("CloneableClassWithoutClone") // ModifiableMetadata needs shallow clones.
-@XmlType(name = "DQ_NonQuantitativeAttributeAccuracy_Type")
-@XmlRootElement(name = "DQ_NonQuantitativeAttributeAccuracy")
+@XmlType(name = "DQ_NonQuantitativeAttributeAccuracy_Type", namespace = Namespaces.GMD) // TODO: renamed NonQuantitativeAttributeCorrectness
+@XmlRootElement(name = "DQ_NonQuantitativeAttributeAccuracy", namespace = Namespaces.GMD)
public class DefaultNonQuantitativeAttributeAccuracy extends AbstractThematicAccuracy
implements NonQuantitativeAttributeAccuracy
{
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeAttributeAccuracy.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Quan
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResult.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -25,6 +25,8 @@ import org.opengis.metadata.quality.Quan
import org.opengis.util.InternationalString;
import org.opengis.util.Record;
import org.opengis.util.RecordType;
+import org.apache.sis.internal.jaxb.FilterByVersion;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
/**
@@ -46,12 +48,14 @@ import org.opengis.util.RecordType;
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.3
* @module
*/
@SuppressWarnings("CloneableClassWithoutClone") // ModifiableMetadata needs shallow clones.
@XmlType(name = "DQ_QuantitativeResult_Type", propOrder = {
+ "values",
"valueType",
"valueUnit",
"errorStatistic"
@@ -139,7 +143,7 @@ public class DefaultQuantitativeResult e
* @return Quantitative value or values.
*/
@Override
-// @XmlElement(name = "value", required = true) // TODO
+ @XmlElement(name = "value", required = true)
public List<Record> getValues() {
return values = nonNullList(values, Record.class);
}
@@ -163,7 +167,7 @@ public class DefaultQuantitativeResult e
* @return value type for reporting a data quality result, or {@code null}.
*/
@Override
- @XmlElement(name = "valueType")
+ @XmlElement(name = "valueRecordType")
public RecordType getValueType() {
RecordType type = valueType;
if (type == null && values != null) {
@@ -200,7 +204,7 @@ public class DefaultQuantitativeResult e
* @return value unit for reporting a data quality result, or {@code null}.
*/
@Override
- @XmlElement(name = "valueUnit", required = true)
+ @XmlElement(name = "valueUnit")
public Unit<?> getValueUnit() {
return valueUnit;
}
@@ -219,11 +223,13 @@ public class DefaultQuantitativeResult e
* Returns the statistical method used to determine the value.
*
* @return statistical method used to determine the value, or {@code null}.
+ *
+ * @see <a href="https://issues.apache.org/jira/browse/SIS-394">Issue SIS-394</a>
*/
@Override
- @XmlElement(name = "errorStatistic")
+ @XmlElement(name = "errorStatistic", namespace = LegacyNamespaces.GMD)
public InternationalString getErrorStatistic() {
- return errorStatistic;
+ return FilterByVersion.LEGACY_METADATA.accept() ? errorStatistic : null;
}
/**
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultRelativeInternalPositionalAccuracy.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -40,7 +40,7 @@ import org.opengis.metadata.quality.Rela
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultScope.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -35,7 +35,7 @@ import org.opengis.metadata.maintenance.
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.5
+ * @version 1.0
* @since 0.3
* @module
*
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalConsistency.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Temp
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTemporalValidity.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Temp
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultThematicClassificationCorrectness.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Them
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultTopologicalConsistency.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -39,7 +39,7 @@ import org.opengis.metadata.quality.Topo
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/DefaultUsability.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -19,7 +19,7 @@ package org.apache.sis.metadata.iso.qual
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlRootElement;
import org.opengis.metadata.quality.Usability;
-import org.apache.sis.xml.Namespaces;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
/**
@@ -40,13 +40,16 @@ import org.apache.sis.xml.Namespaces;
*
* @author Cédric Briançon (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
+ *
+ * @deprecated Not found in ISO 19115-3:2016 schemas.
*/
+@Deprecated
@SuppressWarnings("CloneableClassWithoutClone") // ModifiableMetadata needs shallow clones.
-@XmlType(name = "QE_Usability_Type")
-@XmlRootElement(name = "QE_Usability", namespace = Namespaces.GMI)
+@XmlType(name = "QE_Usability_Type", namespace = LegacyNamespaces.GMI)
+@XmlRootElement(name = "QE_Usability", namespace = LegacyNamespaces.GMI)
public class DefaultUsability extends AbstractElement implements Usability {
/**
* Serial number for inter-operability with different versions.
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/quality/package-info.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -109,16 +109,23 @@
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
* @author Guilhem Legal (Geomatys)
- * @version 0.3
- * @since 0.3
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
+ *
+ * @see <a href="https://issues.apache.org/jira/browse/SIS-394">SIS-394</a>
+ *
+ * @since 0.3
* @module
*/
-@XmlSchema(location=Schemas.METADATA_XSD, elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.GMD, xmlns = {
- @XmlNs(prefix = "gmx", namespaceURI = Namespaces.GMX),
- @XmlNs(prefix = "gmi", namespaceURI = Namespaces.GMI),
- @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
- @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
- @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
+@XmlSchema(location="http://standards.iso.org/iso/19157/-2/mdq/1.0/mdq.xsd",
+ elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.MDQ,
+ xmlns = {
+ @XmlNs(prefix = "mdq", namespaceURI = Namespaces.MDQ), // Metadata for Data Quality
+ @XmlNs(prefix = "mrd", namespaceURI = Namespaces.MRD), // Metadata for Resource Distribution
+ @XmlNs(prefix = "dqc", namespaceURI = Namespaces.DQC), // Data Quality Common Classes
+ @XmlNs(prefix = "mcc", namespaceURI = Namespaces.MCC), // Metadata Common Classes
+ @XmlNs(prefix = "gmd", namespaceURI = LegacyNamespaces.GMD),
+ @XmlNs(prefix = "gmi", namespaceURI = LegacyNamespaces.GMI)
})
@XmlAccessorType(XmlAccessType.NONE)
@XmlJavaTypeAdapters({
@@ -126,25 +133,22 @@
@XmlJavaTypeAdapter(DQ_Element.class),
@XmlJavaTypeAdapter(DQ_EvaluationMethodTypeCode.class),
@XmlJavaTypeAdapter(DQ_Result.class),
- @XmlJavaTypeAdapter(EX_Extent.class),
+ @XmlJavaTypeAdapter(GO_Boolean.class),
+ @XmlJavaTypeAdapter(GO_DateTime.class),
+ @XmlJavaTypeAdapter(GO_Record.class),
+ @XmlJavaTypeAdapter(GO_RecordType.class),
@XmlJavaTypeAdapter(LI_Lineage.class),
@XmlJavaTypeAdapter(MD_ContentInformation.class),
@XmlJavaTypeAdapter(MD_Format.class),
@XmlJavaTypeAdapter(MD_Identifier.class),
@XmlJavaTypeAdapter(MD_Scope.class),
- @XmlJavaTypeAdapter(MD_ScopeCode.class),
- @XmlJavaTypeAdapter(MD_ScopeDescription.class),
@XmlJavaTypeAdapter(MD_SpatialRepresentation.class),
@XmlJavaTypeAdapter(MD_SpatialRepresentationTypeCode.class),
@XmlJavaTypeAdapter(MX_DataFile.class),
// Java types, primitive types and basic OGC types handling
@XmlJavaTypeAdapter(UnitAdapter.class),
- @XmlJavaTypeAdapter(StringAdapter.class),
- @XmlJavaTypeAdapter(InternationalStringAdapter.class),
- @XmlJavaTypeAdapter(GO_DateTime.class),
- @XmlJavaTypeAdapter(GO_RecordType.class),
- @XmlJavaTypeAdapter(GO_Boolean.class), @XmlJavaTypeAdapter(type=boolean.class, value=GO_Boolean.class)
+ @XmlJavaTypeAdapter(InternationalStringAdapter.class)
})
package org.apache.sis.metadata.iso.quality;
@@ -156,7 +160,7 @@ import javax.xml.bind.annotation.XmlAcce
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
import org.apache.sis.xml.Namespaces;
-import org.apache.sis.internal.jaxb.Schemas;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
import org.apache.sis.internal.jaxb.gco.*;
import org.apache.sis.internal.jaxb.code.*;
import org.apache.sis.internal.jaxb.metadata.*;
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractGeolocationInformation.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -25,7 +25,6 @@ import org.opengis.metadata.quality.Data
import org.opengis.metadata.spatial.GCPCollection;
import org.opengis.metadata.spatial.GeolocationInformation;
import org.apache.sis.metadata.iso.ISOMetadata;
-import org.apache.sis.xml.Namespaces;
/**
@@ -42,13 +41,14 @@ import org.apache.sis.xml.Namespaces;
*
* @author Cédric Briançon (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.3
* @module
*/
@SuppressWarnings("CloneableClassWithoutClone") // ModifiableMetadata needs shallow clones.
@XmlType(name = "AbstractMI_GeolocationInformation_Type")
-@XmlRootElement(name = "MI_GeolocationInformation", namespace = Namespaces.GMI)
+@XmlRootElement(name = "AbstractMI_GeolocationInformation")
@XmlSeeAlso(DefaultGCPCollection.class)
public class AbstractGeolocationInformation extends ISOMetadata implements GeolocationInformation {
/**
@@ -120,7 +120,7 @@ public class AbstractGeolocationInformat
* @return an overall assessment of quality of geolocation information.
*/
@Override
- @XmlElement(name = "qualityInfo", namespace = Namespaces.GMI)
+ @XmlElement(name = "qualityInfo")
public Collection<DataQuality> getQualityInfo() {
return qualityInfo = nonNullCollection(qualityInfo, DataQuality.class);
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/AbstractSpatialRepresentation.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -40,13 +40,13 @@ import org.apache.sis.metadata.iso.ISOMe
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
@SuppressWarnings("CloneableClassWithoutClone") // ModifiableMetadata needs shallow clones.
@XmlType(name = "AbstractMD_SpatialRepresentation_Type")
-@XmlRootElement(name = "MD_SpatialRepresentation")
+@XmlRootElement(name = "AbstractMD_SpatialRepresentation")
@XmlSeeAlso({
DefaultGridSpatialRepresentation.class,
DefaultVectorSpatialRepresentation.class
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultDimension.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -20,11 +20,11 @@ import javax.xml.bind.annotation.XmlType
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import org.opengis.annotation.UML;
import org.opengis.util.InternationalString;
import org.opengis.metadata.spatial.Dimension;
import org.opengis.metadata.spatial.DimensionNameType;
import org.apache.sis.internal.jaxb.gco.GO_Measure;
+import org.apache.sis.internal.jaxb.gco.InternationalStringAdapter;
import org.apache.sis.metadata.iso.ISOMetadata;
import org.apache.sis.metadata.TitleProperty;
import org.apache.sis.measure.ValueRange;
@@ -33,6 +33,7 @@ import org.apache.sis.util.ArgumentCheck
import static org.apache.sis.internal.metadata.MetadataUtilities.ensurePositive;
// Branch-specific imports
+import org.opengis.annotation.UML;
import static org.opengis.annotation.Obligation.OPTIONAL;
import static org.opengis.annotation.Specification.ISO_19115;
@@ -58,7 +59,8 @@ import static org.opengis.annotation.Spe
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
* @author Rémi Maréchal (Geomatys)
- * @version 0.5
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -68,8 +70,8 @@ import static org.opengis.annotation.Spe
"dimensionName",
"dimensionSize",
"resolution",
-/// "dimensionTitle",
-/// "dimensionDescription"
+ "dimensionTitle",
+ "dimensionDescription"
})
@XmlRootElement(name = "MD_Dimension")
public class DefaultDimension extends ISOMetadata implements Dimension {
@@ -260,7 +262,8 @@ public class DefaultDimension extends IS
*
* @since 0.5
*/
-/// @XmlElement(name = "dimensionTitle")
+ @XmlElement(name = "dimensionTitle")
+ @XmlJavaTypeAdapter(InternationalStringAdapter.Since2014.class)
@UML(identifier="dimensionTitle", obligation=OPTIONAL, specification=ISO_19115)
public InternationalString getDimensionTitle() {
return dimensionTitle;
@@ -285,7 +288,8 @@ public class DefaultDimension extends IS
*
* @since 0.5
*/
-/// @XmlElement(name = "dimensionDescription")
+ @XmlElement(name = "dimensionDescription")
+ @XmlJavaTypeAdapter(InternationalStringAdapter.Since2014.class)
@UML(identifier="dimensionDescription", obligation=OPTIONAL, specification=ISO_19115)
public InternationalString getDimensionDescription() {
return dimensionDescription;
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -24,7 +24,6 @@ import org.opengis.geometry.DirectPositi
import org.opengis.metadata.quality.Element;
import org.opengis.metadata.spatial.GCP;
import org.apache.sis.metadata.iso.ISOMetadata;
-import org.apache.sis.xml.Namespaces;
/**
@@ -47,7 +46,7 @@ import org.apache.sis.xml.Namespaces;
*
* @author Cédric Briançon (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
*
* @see DefaultGCPCollection
*
@@ -59,7 +58,7 @@ import org.apache.sis.xml.Namespaces;
//"geographicCoordinates",
"accuracyReports"
})
-@XmlRootElement(name = "MI_GCP", namespace = Namespaces.GMI)
+@XmlRootElement(name = "MI_GCP")
public class DefaultGCP extends ISOMetadata implements GCP {
/**
* Serial number for inter-operability with different versions.
@@ -153,7 +152,7 @@ public class DefaultGCP extends ISOMetad
* @return accuracy of a ground control point.
*/
@Override
- @XmlElement(name = "accuracyReport", namespace = Namespaces.GMI)
+ @XmlElement(name = "accuracyReport")
public Collection<Element> getAccuracyReports() {
return accuracyReports = nonNullCollection(accuracyReports, Element.class);
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCPCollection.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -25,7 +25,6 @@ import org.opengis.metadata.spatial.GCPC
import org.opengis.referencing.ReferenceSystem;
import org.opengis.util.InternationalString;
import org.apache.sis.metadata.TitleProperty;
-import org.apache.sis.xml.Namespaces;
/**
@@ -50,7 +49,7 @@ import org.apache.sis.xml.Namespaces;
*
* @author Cédric Briançon (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
*
* @see DefaultGCP
*
@@ -65,7 +64,7 @@ import org.apache.sis.xml.Namespaces;
"coordinateReferenceSystem",
"GCPs"
})
-@XmlRootElement(name = "MI_GCPCollection", namespace = Namespaces.GMI)
+@XmlRootElement(name = "MI_GCPCollection")
public class DefaultGCPCollection extends AbstractGeolocationInformation implements GCPCollection {
/**
* Serial number for inter-operability with different versions.
@@ -148,7 +147,7 @@ public class DefaultGCPCollection extend
* @return the identifier, or {@code null}.
*/
@Override
- @XmlElement(name = "collectionIdentification", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "collectionIdentification", required = true)
public Integer getCollectionIdentification() {
return collectionIdentification;
}
@@ -169,7 +168,7 @@ public class DefaultGCPCollection extend
* @return name of the GCP collection, or {@code null}.
*/
@Override
- @XmlElement(name = "collectionName", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "collectionName", required = true)
public InternationalString getCollectionName() {
return collectionName;
}
@@ -190,7 +189,7 @@ public class DefaultGCPCollection extend
* @return coordinate reference system in which the ground control points are defined, or {@code null}.
*/
@Override
- @XmlElement(name = "coordinateReferenceSystem", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "coordinateReferenceSystem", required = true)
public ReferenceSystem getCoordinateReferenceSystem() {
return coordinateReferenceSystem;
}
@@ -211,7 +210,7 @@ public class DefaultGCPCollection extend
* @return ground control point(s).
*/
@Override
- @XmlElement(name = "gcp", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "gcp", required = true)
public Collection<GCP> getGCPs() {
return GCPs = nonNullCollection(GCPs, GCP.class);
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeometricObjects.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -46,7 +46,7 @@ import static org.apache.sis.internal.me
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.5
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeorectified.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -29,7 +29,6 @@ import org.opengis.geometry.primitive.Po
import org.opengis.util.InternationalString;
import org.apache.sis.internal.jaxb.Context;
import org.apache.sis.util.resources.Messages;
-import org.apache.sis.xml.Namespaces;
/**
@@ -68,7 +67,7 @@ import org.apache.sis.xml.Namespaces;
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -299,7 +298,7 @@ public class DefaultGeorectified extends
* @return the center point, or {@code null}.
*/
@Override
- @XmlElement(name = "centerPoint")
+ @XmlElement(name = "centrePoint")
public Point getCenterPoint() {
return centerPoint;
}
@@ -383,7 +382,7 @@ public class DefaultGeorectified extends
* @return geographic references used to validate georectification.
*/
@Override
- @XmlElement(name = "checkPoint", namespace = Namespaces.GMI)
+ @XmlElement(name = "checkPoint")
public Collection<GCP> getCheckPoints() {
return checkPoints = nonNullCollection(checkPoints, GCP.class);
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGeoreferenceable.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -26,7 +26,6 @@ import org.opengis.util.InternationalStr
import org.opengis.metadata.citation.Citation;
import org.opengis.metadata.spatial.Georeferenceable;
import org.opengis.metadata.spatial.GeolocationInformation;
-import org.apache.sis.xml.Namespaces;
/**
@@ -60,7 +59,8 @@ import org.apache.sis.xml.Namespaces;
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.3
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -69,6 +69,7 @@ import org.apache.sis.xml.Namespaces;
"controlPointAvailable",
"orientationParameterAvailable",
"orientationParameterDescription",
+ "georeferencedParameters",
"parameterCitations",
"geolocationInformation"
})
@@ -247,7 +248,7 @@ public class DefaultGeoreferenceable ext
* @return terms which support grid data georeferencing, or {@code null}.
*/
@Override
-/// @XmlElement(name = "georeferencedParameters", required = true)
+ @XmlElement(name = "georeferencedParameters", required = true)
public Record getGeoreferencedParameters() {
return georeferencedParameters;
}
@@ -288,7 +289,7 @@ public class DefaultGeoreferenceable ext
* @return a geolocalisation of the data.
*/
@Override
- @XmlElement(name = "geolocationInformation", namespace = Namespaces.GMI, required = true)
+ @XmlElement(name = "geolocationInformation", required = true)
public Collection<GeolocationInformation> getGeolocationInformation() {
return geolocationInformation = nonNullCollection(geolocationInformation, GeolocationInformation.class);
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGridSpatialRepresentation.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -55,7 +55,7 @@ import static org.apache.sis.internal.me
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.5
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -216,7 +216,7 @@ public class DefaultGridSpatialRepresent
* @return information about spatial-temporal axis properties.
*/
@Override
- @XmlElement(name = "axisDimensionProperties", required = true)
+ @XmlElement(name = "axisDimensionProperties")
public List<Dimension> getAxisDimensionProperties() {
return axisDimensionProperties = nonNullList(axisDimensionProperties, Dimension.class);
}
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultVectorSpatialRepresentation.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -40,7 +40,7 @@ import org.opengis.metadata.spatial.Vect
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.3
+ * @version 1.0
* @since 0.3
* @module
*/
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/package-info.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -83,21 +83,25 @@
* @author Martin Desruisseaux (IRD, Geomatys)
* @author Touraïvane (IRD)
* @author Cédric Briançon (Geomatys)
- * @version 0.5
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.3
* @module
*/
-@XmlSchema(location=Schemas.METADATA_XSD, elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.GMD, xmlns = {
- @XmlNs(prefix = "gmi", namespaceURI = Namespaces.GMI),
- @XmlNs(prefix = "gmd", namespaceURI = Namespaces.GMD),
- @XmlNs(prefix = "gco", namespaceURI = Namespaces.GCO),
- @XmlNs(prefix = "xsi", namespaceURI = Namespaces.XSI)
+@XmlSchema(location="http://standards.iso.org/iso/19115/-3/msr/1.0/msr.xsd",
+ elementFormDefault=XmlNsForm.QUALIFIED, namespace=Namespaces.MSR,
+ xmlns = {
+ @XmlNs(prefix = "msr", namespaceURI = Namespaces.MSR), // Metadata for Spatial Representation
+ @XmlNs(prefix = "mcc", namespaceURI = Namespaces.MCC), // Metadata Common Classes
+ @XmlNs(prefix = "dqc", namespaceURI = Namespaces.DQC) // Data Quality Common Classes
})
@XmlAccessorType(XmlAccessType.NONE)
@XmlJavaTypeAdapters({
@XmlJavaTypeAdapter(CI_Citation.class),
@XmlJavaTypeAdapter(DQ_DataQuality.class),
@XmlJavaTypeAdapter(DQ_Element.class),
+ @XmlJavaTypeAdapter(GO_Integer.class),
+ @XmlJavaTypeAdapter(GO_Record.class),
@XmlJavaTypeAdapter(GM_Object.class),
@XmlJavaTypeAdapter(MD_CellGeometryCode.class),
@XmlJavaTypeAdapter(MD_Dimension.class),
@@ -112,8 +116,7 @@
// Java types, primitive types and basic OGC types handling
@XmlJavaTypeAdapter(InternationalStringAdapter.class),
- @XmlJavaTypeAdapter(GO_Integer.class), @XmlJavaTypeAdapter(type=int.class, value=GO_Integer.class),
- @XmlJavaTypeAdapter(GO_Boolean.class), @XmlJavaTypeAdapter(type=boolean.class, value=GO_Boolean.class)
+ @XmlJavaTypeAdapter(value=GO_Boolean.class, type=boolean.class)
})
package org.apache.sis.metadata.iso.spatial;
@@ -125,7 +128,6 @@ import javax.xml.bind.annotation.XmlAcce
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
import org.apache.sis.xml.Namespaces;
-import org.apache.sis.internal.jaxb.Schemas;
import org.apache.sis.internal.jaxb.gco.*;
import org.apache.sis.internal.jaxb.code.*;
import org.apache.sis.internal.jaxb.metadata.*;
Modified: sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/main/java/org/apache/sis/metadata/package-info.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -103,7 +103,7 @@
* </ul>
*
* <div class="section">How Metadata are marshalled</div>
- * The ISO 19139 standard defines how ISO 19115 metadata shall be represented in XML.
+ * The ISO 19115-3 standard defines how ISO 19115-1 metadata shall be represented in XML.
* The SIS library supports XML marshalling and unmarshalling with JAXB annotations.
*
* <p>Only the implementation classes defined in the {@link org.apache.sis.metadata.iso} packages and sub-packages
Modified: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -27,10 +27,12 @@ import org.opengis.metadata.citation.Cit
import org.opengis.metadata.citation.ResponsibleParty;
import org.opengis.metadata.citation.PresentationForm;
import org.apache.sis.metadata.iso.citation.DefaultCitation;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
import org.apache.sis.internal.jaxb.Schemas;
import org.apache.sis.xml.XML;
import org.apache.sis.xml.Namespaces;
import org.apache.sis.xml.MarshallerPool;
+import org.apache.sis.test.DependsOnMethod;
import org.apache.sis.test.XMLTestCase;
import org.junit.Test;
@@ -42,7 +44,7 @@ import static org.apache.sis.test.Assert
*
* @author Martin Desruisseaux (Geomatys)
* @author Guilhem Legal (Geomatys)
- * @version 0.5
+ * @version 1.0
*
* @see <a href="http://jira.geotoolkit.org/browse/GEOTK-121">GEOTK-121</a>
*
@@ -52,13 +54,14 @@ import static org.apache.sis.test.Assert
public final strictfp class CodeListMarshallingTest extends XMLTestCase {
/**
* Returns a XML string to use for testing purpose.
+ * Note that responsible party exists only in legacy ISO 19115:2003 model.
*
* @param baseURL the base URL of XML schemas.
*/
private static String getResponsiblePartyXML(final String baseURL) {
- return "<gmd:CI_ResponsibleParty xmlns:gmd=\"" + Namespaces.GMD + "\">\n" +
+ return "<gmd:CI_ResponsibleParty xmlns:gmd=\"" + LegacyNamespaces.GMD + "\">\n" +
" <gmd:role>\n" +
- " <gmd:CI_RoleCode codeList=\"" + baseURL + Schemas.CODELISTS_PATH + "#CI_RoleCode\"" +
+ " <gmd:CI_RoleCode codeList=\"" + baseURL + Schemas.CODELISTS_PATH_LEGACY + "#CI_RoleCode\"" +
" codeListValue=\"principalInvestigator\">" + "Principal investigator</gmd:CI_RoleCode>\n" +
" </gmd:role>\n" +
"</gmd:CI_ResponsibleParty>";
@@ -67,15 +70,31 @@ public final strictfp class CodeListMars
/**
* Returns a XML string to use for testing purpose.
*
- * @param baseURL the base URL of XML schemas.
- */
- private static String getCitationXML(final String baseURL, final String language, final String value) {
- return "<gmd:CI_Date xmlns:gmd=\"" + Namespaces.GMD + "\">\n" +
- " <gmd:dateType>\n" +
- " <gmd:CI_DateTypeCode codeList=\"" + baseURL + Schemas.CODELISTS_PATH + "#CI_DateTypeCode\"" +
- " codeListValue=\"creation\" codeSpace=\"" + language + "\">" + value + "</gmd:CI_DateTypeCode>\n" +
- " </gmd:dateType>\n" +
- "</gmd:CI_Date>";
+ * @param language three-letter ISO code.
+ * @param dateType date type code list in the language identified by {@code language}.
+ * @param legacy {@code true} for ISO 19139:2007 format, {@code false} for ISO 19115-3 format.
+ */
+ private static String getCitationXML(final String language, final String dateType, final boolean legacy) {
+ final Object[] args = new Object[] {
+ "cit", // Prefix
+ Namespaces.CIT, // Namespace
+ Schemas.METADATA_ROOT, // Base URL of code list path
+ Schemas.CODELISTS_PATH, // Relative code list path in base URL
+ language, dateType
+ };
+ if (legacy) {
+ args[0] = "gmd"; // Prefix
+ args[1] = LegacyNamespaces.GMD; // Namespace
+ args[2] = Schemas.METADATA_ROOT_LEGACY; // Base URL of code list path
+ args[3] = Schemas.CODELISTS_PATH_LEGACY; // Relative code list path in base URL
+ }
+ return String.format(
+ "<%1$s:CI_Date xmlns:%1$s=\"%2$s\">\n" +
+ " <%1$s:dateType>\n" +
+ " <%1$s:CI_DateTypeCode codeList=\"%3$s%4$s#CI_DateTypeCode\"" +
+ " codeListValue=\"creation\" codeSpace=\"%5$s\">%6$s</%1$s:CI_DateTypeCode>\n" +
+ " </%1$s:dateType>\n" +
+ "</%1$s:CI_Date>", args);
}
/**
@@ -85,14 +104,14 @@ public final strictfp class CodeListMars
*/
@Test
public void testDefaultURL() throws JAXBException {
- final String expected = getResponsiblePartyXML(Schemas.METADATA_ROOT);
+ final String expected = getResponsiblePartyXML(Schemas.METADATA_ROOT_LEGACY);
final ResponsibleParty rp = (ResponsibleParty) XML.unmarshal(expected);
assertEquals(Role.PRINCIPAL_INVESTIGATOR, rp.getRole());
/*
* Use the convenience method in order to avoid the effort of creating
* our own MarshallerPool.
*/
- final String actual = XML.marshal(rp);
+ final String actual = marshal(rp, VERSION_2007);
assertXmlEquals(expected, actual, "xmlns:*");
}
@@ -103,14 +122,15 @@ public final strictfp class CodeListMars
*/
@Test
public void testISO_URL() throws JAXBException {
- final String expected = getResponsiblePartyXML(Schemas.ISO_19139_ROOT);
+ final String expected = getResponsiblePartyXML("http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/");
final ResponsibleParty rp = (ResponsibleParty) XML.unmarshal(expected);
assertEquals(Role.PRINCIPAL_INVESTIGATOR, rp.getRole());
final MarshallerPool pool = getMarshallerPool();
final Marshaller marshaller = pool.acquireMarshaller();
+ marshaller.setProperty(XML.METADATA_VERSION, VERSION_2007);
marshaller.setProperty(XML.SCHEMAS, Collections.singletonMap("gmd",
- "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas")); // Intentionally omit trailing '/'.
+ "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas")); // Intentionally omit trailing '/'.
final String actual = marshal(marshaller, rp);
pool.recycle(marshaller);
assertXmlEquals(expected, actual, "xmlns:*");
@@ -123,13 +143,36 @@ public final strictfp class CodeListMars
*/
@Test
public void testLocalization() throws JAXBException {
+ testLocalization(false);
+ }
+
+ /**
+ * Tests a code list localization in ISO 19139:2007.
+ *
+ * @throws JAXBException if an error occurred while marshaling the XML.
+ *
+ * @since 1.0
+ */
+ @Test
+ @DependsOnMethod("testLocalization")
+ public void testLocalizationLegacyXML() throws JAXBException {
+ testLocalization(true);
+ }
+
+ /**
+ * Implementation of {@link #testLocalization()} and {@link #testLocalizationLegacyXML()}.
+ */
+ private void testLocalization(final boolean legacy) throws JAXBException {
final MarshallerPool pool = getMarshallerPool();
final Marshaller marshaller = pool.acquireMarshaller();
+ if (legacy) {
+ marshaller.setProperty(XML.METADATA_VERSION, VERSION_2007);
+ }
/*
* First, test using the French locale.
*/
marshaller.setProperty(XML.LOCALE, Locale.FRENCH);
- String expected = getCitationXML(Schemas.METADATA_ROOT, "fra", "Création");
+ String expected = getCitationXML("fra", "Création", legacy);
CitationDate ci = (CitationDate) XML.unmarshal(expected);
assertEquals(DateType.CREATION, ci.getDateType());
String actual = marshal(marshaller, ci);
@@ -138,7 +181,7 @@ public final strictfp class CodeListMars
* Tests again using the English locale.
*/
marshaller.setProperty(XML.LOCALE, Locale.ENGLISH);
- expected = getCitationXML(Schemas.METADATA_ROOT, "eng", "Creation");
+ expected = getCitationXML("eng", "Creation", legacy);
ci = (CitationDate) XML.unmarshal(expected);
assertEquals(DateType.CREATION, ci.getDateType());
actual = marshal(marshaller, ci);
@@ -156,21 +199,22 @@ public final strictfp class CodeListMars
public void testExtraCodes() throws JAXBException {
final DefaultCitation id = new DefaultCitation();
id.setPresentationForms(Arrays.asList(
- PresentationForm.valueOf("IMAGE_DIGITAL"), // Existing code with UML id="imageDigital"
- PresentationForm.valueOf("test"))); // New code
+ PresentationForm.valueOf("IMAGE_DIGITAL"), // Existing code with UML id="imageDigital"
+ PresentationForm.valueOf("test"))); // New code
final String xml = marshal(id);
-
- // "IMAGE_DIGITAL" is marshalled as "imageDigital" because is contains a UML id, which is lower-case.
+ /*
+ * "IMAGE_DIGITAL" is marshalled as "imageDigital" because is contains a UML id, which is lower-case.
+ */
assertXmlEquals(
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + "\">\n" +
- " <gmd:presentationForm>\n" +
- " <gmd:CI_PresentationFormCode codeListValue=\"imageDigital\">Image digital</gmd:CI_PresentationFormCode>\n" +
- " </gmd:presentationForm>\n" +
- " <gmd:presentationForm>\n" +
- " <gmd:CI_PresentationFormCode codeListValue=\"test\">Test</gmd:CI_PresentationFormCode>\n" +
- " </gmd:presentationForm>\n" +
- "</gmd:CI_Citation>\n",
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + "\">\n" +
+ " <cit:presentationForm>\n" +
+ " <cit:CI_PresentationFormCode codeListValue=\"imageDigital\">Image digital</cit:CI_PresentationFormCode>\n" +
+ " </cit:presentationForm>\n" +
+ " <cit:presentationForm>\n" +
+ " <cit:CI_PresentationFormCode codeListValue=\"test\">Test</cit:CI_PresentationFormCode>\n" +
+ " </cit:presentationForm>\n" +
+ "</cit:CI_Citation>\n",
xml, "xmlns:*", "codeList", "codeSpace");
}
}
Modified: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -32,7 +32,8 @@ import static org.apache.sis.test.Assert
* Tests the XML marshaling of {@code Enum}.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.6
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.5
* @module
*/
@@ -44,32 +45,32 @@ public final strictfp class EnumMarshall
*/
@Test
public void testTopicCategories() throws JAXBException {
- final Collection<TopicCategory> expected = Arrays.asList(
+ final Collection<TopicCategory> topics = Arrays.asList(
TopicCategory.OCEANS,
TopicCategory.ENVIRONMENT,
TopicCategory.IMAGERY_BASE_MAPS_EARTH_COVER); // We need to test at least one enum with many words.
final DefaultDataIdentification id = new DefaultDataIdentification();
- id.setTopicCategories(expected);
+ id.setTopicCategories(topics);
+ String expected =
+ "<mri:MD_DataIdentification xmlns:mri=\"" + Namespaces.MRI + "\">\n" +
+ " <mri:topicCategory>\n" +
+ " <mri:MD_TopicCategoryCode>environment</mri:MD_TopicCategoryCode>\n" +
+ " </mri:topicCategory>\n" +
+ " <mri:topicCategory>\n" +
+ " <mri:MD_TopicCategoryCode>imageryBaseMapsEarthCover</mri:MD_TopicCategoryCode>\n" +
+ " </mri:topicCategory>\n" +
+ " <mri:topicCategory>\n" +
+ " <mri:MD_TopicCategoryCode>oceans</mri:MD_TopicCategoryCode>\n" +
+ " </mri:topicCategory>\n" +
+ "</mri:MD_DataIdentification>";
- final String xml = marshal(id);
- assertXmlEquals(
- "<gmd:MD_DataIdentification xmlns:gmd=\"" + Namespaces.GMD + "\">\n" +
- " <gmd:topicCategory>\n" +
- " <gmd:MD_TopicCategoryCode>environment</gmd:MD_TopicCategoryCode>\n" +
- " </gmd:topicCategory>\n" +
- " <gmd:topicCategory>\n" +
- " <gmd:MD_TopicCategoryCode>imageryBaseMapsEarthCover</gmd:MD_TopicCategoryCode>\n" +
- " </gmd:topicCategory>\n" +
- " <gmd:topicCategory>\n" +
- " <gmd:MD_TopicCategoryCode>oceans</gmd:MD_TopicCategoryCode>\n" +
- " </gmd:topicCategory>\n" +
- "</gmd:MD_DataIdentification>",
- xml, "xmlns:*");
+ final String xml = marshal(id, VERSION_2014);
+ assertXmlEquals(expected, xml, "xmlns:*");
/*
* Unmarshall the above XML and verify that we find all the topic categories.
*/
- final Collection<TopicCategory> unmarshalled = unmarshal(DefaultDataIdentification.class, xml).getTopicCategories();
- assertSetEquals(expected, unmarshalled);
+ final Collection<TopicCategory> unmarshalled = unmarshal(DefaultDataIdentification.class, expected).getTopicCategories();
+ assertSetEquals(topics, unmarshalled);
}
}
Modified: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/PT_LocaleTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/PT_LocaleTest.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/PT_LocaleTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/PT_LocaleTest.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -19,9 +19,8 @@ package org.apache.sis.internal.jaxb.cod
import java.util.Arrays;
import java.util.Locale;
import javax.xml.bind.JAXBException;
+import org.apache.sis.util.Version;
import org.apache.sis.metadata.iso.DefaultMetadata;
-import org.apache.sis.internal.jaxb.Schemas;
-import org.apache.sis.xml.Namespaces;
import org.apache.sis.test.XMLTestCase;
import org.junit.Test;
@@ -32,28 +31,13 @@ import static org.apache.sis.test.Assert
* Tests the XML marshaling of {@link PT_Locale}.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.4
* @module
*/
public final strictfp class PT_LocaleTest extends XMLTestCase {
/**
- * The path to the {@code gmxCodelists.xml} path.
- */
- private static final String CODELISTS_PATH = Schemas.METADATA_ROOT + Schemas.CODELISTS_PATH;
-
- /**
- * The {@code <gmd:characterEncoding>} element to be repeated for every locale. This element is not
- * of interest for this test. In current Apache SIS implementation, it is totally redundant with the
- * encoding declared in the XML header. Unfortunately those elements are mandatory according OGC/ISO
- * schemas, so we have to carry their weight.
- */
- private static final String ENCODING =
- " <gmd:characterEncoding>\n" +
- " <gmd:MD_CharacterSetCode codeList=\"" + CODELISTS_PATH + "#MD_CharacterSetCode\" codeListValue=\"utf8\">UTF-8</gmd:MD_CharacterSetCode>\n" +
- " </gmd:characterEncoding>\n";
-
- /**
* The locales to use for the tests. For better test coverage we need at least:
*
* <ul>
@@ -66,51 +50,19 @@ public final strictfp class PT_LocaleTes
};
/**
- * XML representation of the {@link #LOCALES} list.
+ * Tests marshalling of a few locales using the specified version of metadata schema.
+ *
+ * @param filename name of the file containing expected result.
+ * @param ignoredNodes the fully-qualified names of the nodes to ignore.
*/
- private static final String XML =
- "<gmd:MD_Metadata xmlns:gmd=\"" + Namespaces.GMD + "\">\n" +
- " <gmd:language>\n" +
- " <gmd:LanguageCode codeList=\"http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#LanguageCode\" codeListValue=\"eng\" codeSpace=\"eng\">English</gmd:LanguageCode>\n" +
- " </gmd:language>\n" +
- " <gmd:locale>\n" +
- " <gmd:PT_Locale>\n" +
- " <gmd:languageCode>\n" +
- " <gmd:LanguageCode codeList=\"" + CODELISTS_PATH + "#LanguageCode\" codeListValue=\"jpn\" codeSpace=\"eng\">Japanese</gmd:LanguageCode>\n" +
- " </gmd:languageCode>\n" + ENCODING +
- " </gmd:PT_Locale>\n" +
- " </gmd:locale>\n" +
- " <gmd:locale>\n" +
- " <gmd:PT_Locale>\n" +
- " <gmd:languageCode>\n" +
- " <gmd:LanguageCode codeList=\"" + CODELISTS_PATH + "#LanguageCode\" codeListValue=\"eng\" codeSpace=\"eng\">English</gmd:LanguageCode>\n" +
- " </gmd:languageCode>\n" +
- " <gmd:country>\n" +
- " <gmd:Country codeList=\"" + CODELISTS_PATH + "#Country\" codeListValue=\"CA\" codeSpace=\"eng\">Canada</gmd:Country>\n" +
- " </gmd:country>\n" + ENCODING +
- " </gmd:PT_Locale>\n" +
- " </gmd:locale>\n" +
- " <gmd:locale>\n" +
- " <gmd:PT_Locale>\n" +
- " <gmd:languageCode>\n" +
- " <gmd:LanguageCode codeList=\"" + CODELISTS_PATH + "#LanguageCode\" codeListValue=\"fra\" codeSpace=\"eng\">French</gmd:LanguageCode>\n" +
- " </gmd:languageCode>\n" +
- " <gmd:country>\n" +
- " <gmd:Country codeList=\"" + CODELISTS_PATH + "#Country\" codeListValue=\"FR\" codeSpace=\"eng\">France</gmd:Country>\n" +
- " </gmd:country>\n" + ENCODING +
- " </gmd:PT_Locale>\n" +
- " </gmd:locale>\n" +
- " <gmd:locale>\n" +
- " <gmd:PT_Locale>\n" +
- " <gmd:languageCode>\n" +
- " <gmd:LanguageCode codeList=\"" + CODELISTS_PATH + "#LanguageCode\" codeListValue=\"fra\" codeSpace=\"eng\">French</gmd:LanguageCode>\n" +
- " </gmd:languageCode>\n" +
- " <gmd:country>\n" +
- " <gmd:Country codeList=\"" + CODELISTS_PATH + "#Country\" codeListValue=\"CA\" codeSpace=\"eng\">Canada</gmd:Country>\n" +
- " </gmd:country>\n" + ENCODING +
- " </gmd:PT_Locale>\n" +
- " </gmd:locale>\n" +
- "</gmd:MD_Metadata>";
+ private void marshalAndCompare(final String filename, final Version version, final String... ignoredNodes)
+ throws JAXBException
+ {
+ final DefaultMetadata metadata = new DefaultMetadata();
+ metadata.setLanguages(Arrays.asList(LOCALES));
+ assertMarshalEqualsFile(filename, metadata, version, STRICT, ignoredNodes,
+ new String[] {"xmlns:*", "xsi:*"});
+ }
/**
* Tests marshalling of a few locales.
@@ -119,9 +71,19 @@ public final strictfp class PT_LocaleTes
*/
@Test
public void testMarshalling() throws JAXBException {
- final DefaultMetadata metadata = new DefaultMetadata();
- metadata.setLanguages(Arrays.asList(LOCALES));
- assertXmlEquals(XML, marshal(metadata), "xlmns:*");
+ marshalAndCompare("Locales.xml", VERSION_2014,
+ "mdb:contact", "mdb:dateInfo", "mdb:identificationInfo");
+ }
+
+ /**
+ * Tests marshalling to legacy ISO 19139:2007 schema.
+ *
+ * @throws JAXBException if an error occurred during (un)marshalling.
+ */
+ @Test
+ public void testMarshallingLegacy() throws JAXBException {
+ marshalAndCompare("Locales (legacy).xml", VERSION_2007,
+ "gmd:contact", "gmd:dateStamp", "gmd:identificationInfo");
}
/**
@@ -131,7 +93,18 @@ public final strictfp class PT_LocaleTes
*/
@Test
public void testUnmarshalling() throws JAXBException {
- final DefaultMetadata metadata = unmarshal(DefaultMetadata.class, XML);
+ final DefaultMetadata metadata = unmarshalFile(DefaultMetadata.class, "Locales.xml");
+ assertArrayEquals(LOCALES, metadata.getLanguages().toArray());
+ }
+
+ /**
+ * Tests unmarshalling from legacy ISO 19139:2007 schema.
+ *
+ * @throws JAXBException if an error occurred during (un)marshalling.
+ */
+ @Test
+ public void testUnmarshallingLegacy() throws JAXBException {
+ final DefaultMetadata metadata = unmarshalFile(DefaultMetadata.class, "Locales (legacy).xml");
assertArrayEquals(LOCALES, metadata.getLanguages().toArray());
}
}
Modified: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -18,8 +18,8 @@ package org.apache.sis.internal.jaxb.met
import javax.xml.bind.JAXBException;
import org.opengis.util.MemberName;
-import org.apache.sis.util.iso.Names;
import org.apache.sis.xml.Namespaces;
+import org.apache.sis.util.iso.Names;
import org.apache.sis.test.XMLTestCase;
import org.junit.Test;
@@ -30,7 +30,8 @@ import static org.apache.sis.test.Assert
* Tests {@link ServiceParameter}.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.5
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.5
* @module
*/
@@ -50,6 +51,16 @@ public final strictfp class ServiceParam
}
/**
+ * Tests {@link ServiceParameter#getName()}.
+ */
+ @Test
+ public void testGetName() {
+ final ServiceParameter param = create();
+ assertEquals("name", "Version", String.valueOf(param.getName()));
+ assertEquals("valueClass", String.class, param.getValueClass());
+ }
+
+ /**
* Tests {@link ServiceParameter#getValueType()} and {@link ServiceParameter#getValueClass()}.
*/
@Test
@@ -60,27 +71,28 @@ public final strictfp class ServiceParam
}
/**
- * Tests {@link ServiceParameter#getOptionality()} and {@link ServiceParameter#setOptionality(String)}.
+ * Tests {@link ServiceParameter#getOptionalityLabel()} and {@link ServiceParameter#setOptionalityLabel(String)}.
*/
@Test
public void testOptionalityLabel() {
final ServiceParameter param = create();
- assertEquals("Optional", param.getOptionality());
+ assertEquals("Optional", param.getOptionalityLabel());
param.optionality = false;
- assertEquals("Mandatory", param.getOptionality());
+ assertEquals("Mandatory", param.getOptionalityLabel());
- param.setOptionality("Optional");
+ param.setOptionalityLabel("Optional");
assertTrue(param.optionality);
- param.setOptionality("Mandatory");
+ param.setOptionalityLabel("Mandatory");
assertFalse(param.optionality);
}
/**
* Tests marshalling of an almost empty parameter (except for default mandatory values).
* The main purpose is to ensure that the XML does not contains spurious elements like
- * empty enumeration wrapper.
+ * empty enumeration wrapper. For testing a complete marshalling,
+ * see {@link org.apache.sis.metadata.iso.identification.DefaultServiceIdentificationTest}.
*
* @throws JAXBException if an error occurred during marshalling.
*/
@@ -91,11 +103,11 @@ public final strictfp class ServiceParam
"<srv:SV_Parameter xmlns:srv=\"" + Namespaces.SRV + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
" <srv:optionality>\n" +
- " <gco:CharacterString>Mandatory</gco:CharacterString>\n" +
+ " <gco:Boolean>false</gco:Boolean>\n" +
" </srv:optionality>\n" +
" <srv:repeatability>\n" +
" <gco:Boolean>false</gco:Boolean>\n" +
" </srv:repeatability>\n" +
- "</srv:SV_Parameter>\n", xml, "xlmns:*");
+ "</srv:SV_Parameter>\n", xml, "xmlns:*");
}
}
Modified: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/NameMapTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/NameMapTest.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/NameMapTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/NameMapTest.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -35,7 +35,7 @@ import static org.apache.sis.metadata.Ke
* Unless otherwise specified, all tests use the {@link MetadataStandard#ISO_19115} constant.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.5
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -65,8 +65,8 @@ public final strictfp class NameMapTest
// new SimpleEntry<>("collectiveTitle", "collectiveTitle"), -- deprecated as of ISO 19115:2014
new SimpleEntry<>("ISBN", "ISBN"),
new SimpleEntry<>("ISSN", "ISSN"),
- new SimpleEntry<>("graphic", "graphics"),
- new SimpleEntry<>("onlineResource", "onlineResources")
+ new SimpleEntry<>("onlineResource", "onlineResources"),
+ new SimpleEntry<>("graphic", "graphics")
}, map.entrySet().toArray());
assertEquals("alternateTitles", map.get("alternateTitle"));
Modified: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java?rev=1825355&r1=1825354&r2=1825355&view=diff
==============================================================================
--- sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -36,7 +36,7 @@ import org.opengis.metadata.distribution
import org.opengis.metadata.constraint.Constraints;
import org.opengis.metadata.content.CoverageContentType;
import org.opengis.metadata.content.CoverageDescription;
-import org.opengis.metadata.identification.*; // Really using almost everything.
+import org.opengis.metadata.identification.*; // Really using almost everything.
import org.opengis.metadata.maintenance.MaintenanceInformation;
import org.opengis.metadata.spatial.SpatialRepresentationType;
import org.opengis.referencing.IdentifiedObject;
@@ -82,7 +82,7 @@ import static org.apache.sis.metadata.Pr
* to be updated.</p>
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.5
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -185,8 +185,8 @@ public final strictfp class PropertyAcce
// Citation.class, "getCollectiveTitle", "collectiveTitle", "collectiveTitle", "Collective title", InternationalString.class, -- deprecated as of ISO 19115:2014
Citation.class, "getISBN", "ISBN", "ISBN", "ISBN", String.class,
Citation.class, "getISSN", "ISSN", "ISSN", "ISSN", String.class,
- DefaultCitation.class, "getGraphics", "graphics", "graphic", "Graphics", BrowseGraphic[].class,
- DefaultCitation.class, "getOnlineResources", "onlineResources", "onlineResource", "Online resources", OnlineResource[].class);
+ DefaultCitation.class, "getOnlineResources", "onlineResources", "onlineResource", "Online resources", OnlineResource[].class,
+ DefaultCitation.class, "getGraphics", "graphics", "graphic", "Graphics", BrowseGraphic[].class);
}
/**
@@ -209,23 +209,24 @@ public final strictfp class PropertyAcce
Identification.class, "getCredits", "credits", "credit", "Credits", String[].class,
Identification.class, "getStatus", "status", "status", "Status", Progress[].class,
Identification.class, "getPointOfContacts", "pointOfContacts", "pointOfContact", "Point of contacts", ResponsibleParty[].class,
+ DataIdentification.class, "getSpatialRepresentationTypes", "spatialRepresentationTypes", "spatialRepresentationType", "Spatial representation types", SpatialRepresentationType[].class,
+ DataIdentification.class, "getSpatialResolutions", "spatialResolutions", "spatialResolution", "Spatial resolutions", Resolution[].class,
+// Identification.class, "getTemporalResolutions", "temporalResolutions", "temporalResolution", "Temporal resolutions", Duration[].class,
+ DataIdentification.class, "getTopicCategories", "topicCategories", "topicCategory", "Topic categories", TopicCategory[].class,
+ DataIdentification.class, "getExtents", "extents", "extent", "Extents", Extent[].class,
+ AbstractIdentification.class, "getAdditionalDocumentations", "additionalDocumentations", "additionalDocumentation", "Additional documentations", Citation[].class,
+ AbstractIdentification.class, "getProcessingLevel", "processingLevel", "processingLevel", "Processing level", Identifier.class,
Identification.class, "getResourceMaintenances", "resourceMaintenances", "resourceMaintenance", "Resource maintenances", MaintenanceInformation[].class,
Identification.class, "getGraphicOverviews", "graphicOverviews", "graphicOverview", "Graphic overviews", BrowseGraphic[].class,
Identification.class, "getResourceFormats", "resourceFormats", "resourceFormat", "Resource formats", Format[].class,
Identification.class, "getDescriptiveKeywords", "descriptiveKeywords", "descriptiveKeywords", "Descriptive keywords", Keywords[].class,
Identification.class, "getResourceSpecificUsages", "resourceSpecificUsages", "resourceSpecificUsage", "Resource specific usages", Usage[].class,
Identification.class, "getResourceConstraints", "resourceConstraints", "resourceConstraints", "Resource constraints", Constraints[].class,
- DataIdentification.class, "getSpatialRepresentationTypes", "spatialRepresentationTypes", "spatialRepresentationType", "Spatial representation types", SpatialRepresentationType[].class,
- DataIdentification.class, "getSpatialResolutions", "spatialResolutions", "spatialResolution", "Spatial resolutions", Resolution[].class,
+ AbstractIdentification.class, "getAssociatedResources", "associatedResources", "associatedResource", "Associated resources", DefaultAssociatedResource[].class,
DataIdentification.class, "getLanguages", "languages", "language", "Languages", Locale[].class,
DataIdentification.class, "getCharacterSets", "characterSets", "characterSet", "Character sets", CharacterSet[].class,
- DataIdentification.class, "getTopicCategories", "topicCategories", "topicCategory", "Topic categories", TopicCategory[].class,
DataIdentification.class, "getEnvironmentDescription", "environmentDescription", "environmentDescription", "Environment description", InternationalString.class,
- DataIdentification.class, "getExtents", "extents", "extent", "Extents", Extent[].class,
- DataIdentification.class, "getSupplementalInformation", "supplementalInformation", "supplementalInformation", "Supplemental information", InternationalString.class,
- AbstractIdentification.class, "getAdditionalDocumentations", "additionalDocumentations", "additionalDocumentation", "Additional documentations", Citation[].class,
- AbstractIdentification.class, "getAssociatedResources", "associatedResources", "associatedResource", "Associated resources", DefaultAssociatedResource[].class,
- AbstractIdentification.class, "getProcessingLevel", "processingLevel", "processingLevel", "Processing level", Identifier.class);
+ DataIdentification.class, "getSupplementalInformation", "supplementalInformation", "supplementalInformation", "Supplemental information", InternationalString.class);
}
/**
Copied: sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java (from r1825261, sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java)
URL: http://svn.apache.org/viewvc/sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java?p2=sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java&p1=sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java&r1=1825261&r2=1825355&rev=1825355&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java [UTF-8] (original)
+++ sis/trunk/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyConsistencyCheck.java [UTF-8] Mon Feb 26 11:28:17 2018
@@ -23,7 +23,6 @@ import java.util.Collection;
import java.util.Map;
import java.lang.reflect.Method;
import org.opengis.util.CodeList;
-import org.opengis.util.ControlledVocabulary;
import org.apache.sis.util.Numbers;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.util.collection.CheckedContainer;
@@ -132,11 +131,11 @@ public abstract strictfp class PropertyC
if (Date.class.isAssignableFrom(type)) {
return new Date(random.nextInt() * 1000L);
}
- if (ControlledVocabulary.class.isAssignableFrom(type)) try {
+ if (CodeList.class.isAssignableFrom(type)) try {
if (type == CodeList.class) {
return null;
}
- final ControlledVocabulary[] codes = (ControlledVocabulary[]) type.getMethod("values", (Class[]) null).invoke(null, (Object[]) null);
+ final CodeList<?>[] codes = (CodeList<?>[]) type.getMethod("values", (Class[]) null).invoke(null, (Object[]) null);
return codes[random.nextInt(codes.length)];
} catch (ReflectiveOperationException e) {
fail(e.toString());
@@ -191,7 +190,7 @@ public abstract strictfp class PropertyC
public void testPropertyValues() {
random = TestUtilities.createRandomNumberGenerator();
for (final Class<?> type : types) {
- if (!ControlledVocabulary.class.isAssignableFrom(type)) {
+ if (!CodeList.class.isAssignableFrom(type)) {
final Class<?> impl = getImplementation(type);
if (impl != null) {
assertTrue("Not an implementation of expected interface.", type.isAssignableFrom(impl));