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/24 16:22:51 UTC
svn commit: r1825260 [10/14] - in /sis/branches/JDK9: ./
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/...
Modified: sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -30,7 +30,7 @@ import static org.apache.sis.test.Assert
* Tests the XML marshalling of {@code FreeText}.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
*
* @see <a href="http://jira.geotoolkit.org/browse/GEOTK-107">GEOTK-107</a>
* @see <a href="http://jira.geotoolkit.org/browse/GEOTK-152">GEOTK-152</a>
@@ -60,26 +60,29 @@ public final strictfp class FreeTextMars
@Test
public void testStandard() throws JAXBException {
final String expected =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + "\" xmlns:gco=\"" + Namespaces.GCO + "\" xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
- " <gmd:title xsi:type=\"gmd:PT_FreeText_PropertyType\">\n" +
+ "<cit:CI_Citation xmlns:lan=\"" + Namespaces.LAN + '"'
+ + " xmlns:cit=\"" + Namespaces.CIT + '"'
+ + " xmlns:gco=\"" + Namespaces.GCO + '"'
+ + " xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
+ " <cit:title xsi:type=\"lan:PT_FreeText_PropertyType\">\n" +
" <gco:CharacterString>OpenSource Project</gco:CharacterString>\n" +
- " <gmd:PT_FreeText>\n" +
- " <gmd:textGroup>\n" +
- " <gmd:LocalisedCharacterString locale=\"#locale-eng\">OpenSource Project</gmd:LocalisedCharacterString>\n" +
- " </gmd:textGroup>\n" +
- " <gmd:textGroup>\n" +
- " <gmd:LocalisedCharacterString locale=\"#locale-ita\">Progetto OpenSource</gmd:LocalisedCharacterString>\n" +
- " </gmd:textGroup>\n" +
- " <gmd:textGroup>\n" +
- " <gmd:LocalisedCharacterString locale=\"#locale-fra\">Projet OpenSource</gmd:LocalisedCharacterString>\n" +
- " </gmd:textGroup>\n" +
- " </gmd:PT_FreeText>\n" +
- " </gmd:title>\n" +
- "</gmd:CI_Citation>\n";
+ " <lan:PT_FreeText>\n" +
+ " <lan:textGroup>\n" +
+ " <lan:LocalisedCharacterString locale=\"#locale-eng\">OpenSource Project</lan:LocalisedCharacterString>\n" +
+ " </lan:textGroup>\n" +
+ " <lan:textGroup>\n" +
+ " <lan:LocalisedCharacterString locale=\"#locale-ita\">Progetto OpenSource</lan:LocalisedCharacterString>\n" +
+ " </lan:textGroup>\n" +
+ " <lan:textGroup>\n" +
+ " <lan:LocalisedCharacterString locale=\"#locale-fra\">Projet OpenSource</lan:LocalisedCharacterString>\n" +
+ " </lan:textGroup>\n" +
+ " </lan:PT_FreeText>\n" +
+ " </cit:title>\n" +
+ "</cit:CI_Citation>\n";
- final Citation citation = (Citation) XML.unmarshal(expected);
+ final Citation citation = unmarshal(Citation.class, expected);
assertEquals(getExpectedI18N(), citation.getTitle());
- final String actual = XML.marshal(citation);
+ final String actual = marshal(citation);
assertXmlEquals(expected, actual, "xmlns:*");
}
@@ -94,20 +97,23 @@ public final strictfp class FreeTextMars
@Test
public void testLegacy() throws JAXBException {
final String legacy =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + "\" xmlns:gco=\"" + Namespaces.GCO + "\" xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
- " <gmd:title xsi:type=\"gmd:PT_FreeText_PropertyType\">\n" +
+ "<cit:CI_Citation xmlns:lan=\"" + Namespaces.LAN + '"'
+ + " xmlns:cit=\"" + Namespaces.CIT + '"'
+ + " xmlns:gco=\"" + Namespaces.GCO + '"'
+ + " xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
+ " <cit:title xsi:type=\"lan:PT_FreeText_PropertyType\">\n" +
" <gco:CharacterString>OpenSource Project</gco:CharacterString>\n" +
- " <gmd:PT_FreeText>\n" +
- " <gmd:textGroup>\n" +
- " <gmd:LocalisedCharacterString locale=\"#locale-eng\">OpenSource Project</gmd:LocalisedCharacterString>\n" +
- " <gmd:LocalisedCharacterString locale=\"#locale-ita\">Progetto OpenSource</gmd:LocalisedCharacterString>\n" +
- " <gmd:LocalisedCharacterString locale=\"#locale-fra\">Projet OpenSource</gmd:LocalisedCharacterString>\n" +
- " </gmd:textGroup>\n" +
- " </gmd:PT_FreeText>\n" +
- " </gmd:title>\n" +
- "</gmd:CI_Citation>\n";
+ " <lan:PT_FreeText>\n" +
+ " <lan:textGroup>\n" +
+ " <lan:LocalisedCharacterString locale=\"#locale-eng\">OpenSource Project</lan:LocalisedCharacterString>\n" +
+ " <lan:LocalisedCharacterString locale=\"#locale-ita\">Progetto OpenSource</lan:LocalisedCharacterString>\n" +
+ " <lan:LocalisedCharacterString locale=\"#locale-fra\">Projet OpenSource</lan:LocalisedCharacterString>\n" +
+ " </lan:textGroup>\n" +
+ " </lan:PT_FreeText>\n" +
+ " </cit:title>\n" +
+ "</cit:CI_Citation>\n";
- final Citation citation = (Citation) XML.unmarshal(legacy);
+ final Citation citation = unmarshal(Citation.class, legacy);
assertEquals(getExpectedI18N(), citation.getTitle());
}
}
Modified: sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -33,7 +33,7 @@ import static org.apache.sis.test.Metada
* Tests the XML marshalling of object having {@code nilReason} attribute.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
*
* @see <a href="http://jira.geotoolkit.org/browse/GEOTK-149">GEOTK-149</a>
*
@@ -49,15 +49,15 @@ public final strictfp class NilReasonMar
@Test
public void testMissing() throws JAXBException {
final String expected =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:title>\n" +
+ " <cit:title>\n" +
" <gco:CharacterString>A title</gco:CharacterString>\n" +
- " </gmd:title>\n" +
- " <gmd:series gco:nilReason=\"missing\"/>\n" +
- "</gmd:CI_Citation>";
+ " </cit:title>\n" +
+ " <cit:series gco:nilReason=\"missing\"/>\n" +
+ "</cit:CI_Citation>";
- final Citation citation = (Citation) XML.unmarshal(expected);
+ final Citation citation = unmarshal(Citation.class, expected);
assertTitleEquals("citation", "A title", citation);
final Series series = citation.getSeries();
@@ -71,9 +71,9 @@ public final strictfp class NilReasonMar
assertEquals("Series[missing]", series.toString());
assertNull("All attributes are expected to be null.", series.getName());
- final String actual = XML.marshal(citation);
+ final String actual = marshal(citation);
assertXmlEquals(expected, actual, "xmlns:*");
- assertEquals(citation, XML.unmarshal(actual));
+ assertEquals(citation, unmarshal(Citation.class, actual));
}
/**
@@ -87,15 +87,15 @@ public final strictfp class NilReasonMar
@DependsOnMethod("testMissing")
public void testMissingBoolean() throws JAXBException {
final String expected =
- "<gmd:DQ_ConformanceResult xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<mdq:DQ_ConformanceResult xmlns:mdq=\"" + Namespaces.MDQ + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:explanation>\n" +
+ " <mdq:explanation>\n" +
" <gco:CharacterString>An explanation</gco:CharacterString>\n" +
- " </gmd:explanation>\n" +
- " <gmd:pass gco:nilReason=\"missing\"/>\n" +
- "</gmd:DQ_ConformanceResult>";
+ " </mdq:explanation>\n" +
+ " <mdq:pass gco:nilReason=\"missing\"/>\n" +
+ "</mdq:DQ_ConformanceResult>";
- final ConformanceResult result = (ConformanceResult) XML.unmarshal(expected);
+ final ConformanceResult result = unmarshal(ConformanceResult.class, expected);
assertEquals("explanation", "An explanation", result.getExplanation().toString());
final Boolean pass = result.pass();
@@ -104,9 +104,9 @@ public final strictfp class NilReasonMar
assertNotSame("Expected a sentinel value.", Boolean.FALSE, pass);
assertSame("nilReason", NilReason.MISSING, NilReason.forObject(pass));
- final String actual = XML.marshal(result);
+ final String actual = marshal(result);
assertXmlEquals(expected, actual, "xmlns:*");
- assertEquals(result, XML.unmarshal(actual));
+ assertEquals(result, unmarshal(ConformanceResult.class, actual));
}
/**
@@ -121,12 +121,12 @@ public final strictfp class NilReasonMar
@SuppressWarnings("UnnecessaryBoxing")
public void testMissingInteger() throws JAXBException {
final String expected =
- "<gmd:MD_Dimension xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<msr:MD_Dimension xmlns:msr=\"" + Namespaces.MSR + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:dimensionSize gco:nilReason=\"unknown\"/>\n" +
- "</gmd:MD_Dimension>";
+ " <msr:dimensionSize gco:nilReason=\"unknown\"/>\n" +
+ "</msr:MD_Dimension>";
- final Dimension result = (Dimension) XML.unmarshal(expected);
+ final Dimension result = unmarshal(Dimension.class, expected);
final Integer size = result.getDimensionSize();
assertNotNull("Expected a sentinel value.", size);
@@ -134,9 +134,9 @@ public final strictfp class NilReasonMar
assertNotSame("Expected a sentinel value.", Integer.valueOf(0), size);
assertSame("nilReason", NilReason.UNKNOWN, NilReason.forObject(size));
- final String actual = XML.marshal(result);
+ final String actual = marshal(result);
assertXmlEquals(expected, actual, "xmlns:*");
- assertEquals(result, XML.unmarshal(actual));
+ assertEquals(result, unmarshal(Dimension.class, actual));
}
/**
@@ -148,13 +148,13 @@ public final strictfp class NilReasonMar
@DependsOnMethod("testMissing")
public void testMissingDouble() throws JAXBException {
final String expected =
- "<gmd:MD_Band xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<mrc:MD_Band xmlns:mrc=\"" + Namespaces.MRC + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:minValue gco:nilReason=\"unknown\"/>\n" +
- " <gmd:peakResponse gco:nilReason=\"missing\"/>\n" +
- "</gmd:MD_Band>";
+ " <mrc:minValue gco:nilReason=\"unknown\"/>\n" +
+ " <mrc:peakResponse gco:nilReason=\"missing\"/>\n" +
+ "</mrc:MD_Band>";
- final Band result = (Band) XML.unmarshal(expected);
+ final Band result = unmarshal(Band.class, expected);
final Double minValue = result.getMinValue();
assertNotNull("Expected a sentinel value.", minValue);
@@ -166,9 +166,9 @@ public final strictfp class NilReasonMar
assertTrue("Nil value shall be NaN.", peakResponse.isNaN());
assertSame("nilReason", NilReason.UNKNOWN, NilReason.forObject(peakResponse));
- final String actual = XML.marshal(result);
+ final String actual = marshal(result);
assertXmlEquals(expected, actual, "xmlns:*");
- assertEquals(result, XML.unmarshal(actual));
+ assertEquals(result, unmarshal(Band.class, actual));
}
/**
@@ -180,15 +180,15 @@ public final strictfp class NilReasonMar
@DependsOnMethod("testMissing")
public void testOther() throws JAXBException {
final String expected =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:title>\n" +
+ " <cit:title>\n" +
" <gco:CharacterString>A title</gco:CharacterString>\n" +
- " </gmd:title>\n" +
- " <gmd:series gco:nilReason=\"other:myReason\"/>\n" +
- "</gmd:CI_Citation>";
+ " </cit:title>\n" +
+ " <cit:series gco:nilReason=\"other:myReason\"/>\n" +
+ "</cit:CI_Citation>";
- final Citation citation = (Citation) XML.unmarshal(expected);
+ final Citation citation = unmarshal(Citation.class, expected);
assertTitleEquals("citation", "A title", citation);
final Series series = citation.getSeries();
@@ -201,9 +201,9 @@ public final strictfp class NilReasonMar
assertEquals("Series[other:myReason]", series.toString());
assertNull("All attributes are expected to be null.", series.getName());
- final String actual = XML.marshal(citation);
+ final String actual = marshal(citation);
assertXmlEquals(expected, actual, "xmlns:*");
- assertEquals(citation, XML.unmarshal(actual));
+ assertEquals(citation, unmarshal(Citation.class, actual));
}
/**
@@ -215,15 +215,15 @@ public final strictfp class NilReasonMar
@DependsOnMethod("testMissing")
public void testURI() throws JAXBException {
final String expected =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
" xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:title>\n" +
+ " <cit:title>\n" +
" <gco:CharacterString>A title</gco:CharacterString>\n" +
- " </gmd:title>\n" +
- " <gmd:series gco:nilReason=\"http://www.myreason.org\"/>\n" +
- "</gmd:CI_Citation>";
+ " </cit:title>\n" +
+ " <cit:series gco:nilReason=\"http://www.myreason.org\"/>\n" +
+ "</cit:CI_Citation>";
- final Citation citation = (Citation) XML.unmarshal(expected);
+ final Citation citation = unmarshal(Citation.class, expected);
assertTitleEquals("citation", "A title", citation);
final Series series = citation.getSeries();
@@ -236,8 +236,8 @@ public final strictfp class NilReasonMar
assertEquals("Series[http://www.myreason.org]", series.toString());
assertNull("All attributes are expected to be null.", series.getName());
- final String actual = XML.marshal(citation);
+ final String actual = marshal(citation);
assertXmlEquals(expected, actual, "xmlns:*");
- assertEquals(citation, XML.unmarshal(actual));
+ assertEquals(citation, unmarshal(Citation.class, actual));
}
}
Modified: sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -32,7 +32,7 @@ import static org.apache.sis.test.Metada
* Tests the XML marshalling of object having {@code uuid} or {@code uuidref} attributes.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
*
* @see <a href="http://jira.geotoolkit.org/browse/GEOTK-165">GEOTK-165</a>
*
@@ -50,50 +50,50 @@ public final strictfp class UUIDMarshall
* A XML with a {@code uuid} identifier in the {@code <gmd:CI_Series>} element.
*/
private static final String IDENTIFIED_XML =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
- " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:title>\n" +
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
+ " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
+ " <cit:title>\n" +
" <gco:CharacterString>My data</gco:CharacterString>\n" +
- " </gmd:title>\n" +
- " <gmd:series>\n" +
- " <gmd:CI_Series uuid=\"" + UUID_VALUE + "\">\n" +
- " <gmd:name>\n" +
+ " </cit:title>\n" +
+ " <cit:series>\n" +
+ " <cit:CI_Series uuid=\"" + UUID_VALUE + "\">\n" +
+ " <cit:name>\n" +
" <gco:CharacterString>My aggregate dataset</gco:CharacterString>\n" +
- " </gmd:name>\n" +
- " </gmd:CI_Series>\n" +
- " </gmd:series>\n" +
- "</gmd:CI_Citation>";
+ " </cit:name>\n" +
+ " </cit:CI_Series>\n" +
+ " </cit:series>\n" +
+ "</cit:CI_Citation>";
/**
* A XML with a {@code uuidref} identifier in the {@code <gmd:series>} element.
* This XML declares the method body anyway, which is kind of contradictory with usage of reference.
*/
private static final String REFERENCED_XML_WITH_BODY =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
- " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:title>\n" +
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
+ " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
+ " <cit:title>\n" +
" <gco:CharacterString>My data</gco:CharacterString>\n" +
- " </gmd:title>\n" +
- " <gmd:series uuidref=\"" + UUID_VALUE + "\">\n" +
- " <gmd:CI_Series>\n" +
- " <gmd:name>\n" +
+ " </cit:title>\n" +
+ " <cit:series uuidref=\"" + UUID_VALUE + "\">\n" +
+ " <cit:CI_Series>\n" +
+ " <cit:name>\n" +
" <gco:CharacterString>My aggregate dataset</gco:CharacterString>\n" +
- " </gmd:name>\n" +
- " </gmd:CI_Series>\n" +
- " </gmd:series>\n" +
- "</gmd:CI_Citation>";
+ " </cit:name>\n" +
+ " </cit:CI_Series>\n" +
+ " </cit:series>\n" +
+ "</cit:CI_Citation>";
/**
* A XML with a {@code uuidref} identifier in the {@code <gmd:series>} element.
*/
private static final String REFERENCED_XML =
- "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
- " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
- " <gmd:title>\n" +
+ "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
+ " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
+ " <cit:title>\n" +
" <gco:CharacterString>My data</gco:CharacterString>\n" +
- " </gmd:title>\n" +
- " <gmd:series uuidref=\"" + UUID_VALUE + "\"/>\n" +
- "</gmd:CI_Citation>";
+ " </cit:title>\n" +
+ " <cit:series uuidref=\"" + UUID_VALUE + "\"/>\n" +
+ "</cit:CI_Citation>";
/**
* Tests (un)marshalling of an object identified by the {@code uuid} attribute.
@@ -101,18 +101,18 @@ public final strictfp class UUIDMarshall
* in the {@code <gmd:CI_Series>} element of the following XML fragment:
*
* {@preformat xml
- * <gmd:CI_Citation>
- * <gmd:title>
+ * <cit:CI_Citation>
+ * <cit:title>
* <gco:CharacterString>My data</gco:CharacterString>
- * </gmd:title>
- * <gmd:series>
- * <gmd:CI_Series uuid="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
- * <gmd:name>
+ * </cit:title>
+ * <cit:series>
+ * <cit:CI_Series uuid="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
+ * <cit:name>
* <gco:CharacterString>My aggregate dataset</gco:CharacterString>
- * </gmd:name>
- * </gmd:CI_Series>
- * </gmd:series>
- * </gmd:CI_Citation>
+ * </cit:name>
+ * </cit:CI_Series>
+ * </cit:series>
+ * </cit:CI_Citation>
* }
*
* On an implementation note, the {@code uuid} and other attributes of the {@code <gmd:CI_Series>}
@@ -152,18 +152,18 @@ public final strictfp class UUIDMarshall
* in the {@code <gmd:series>} property of the following XML fragment:</p>
*
* {@preformat xml
- * <gmd:CI_Citation>
- * <gmd:title>
+ * <cit:CI_Citation>
+ * <cit:title>
* <gco:CharacterString>My data</gco:CharacterString>
- * </gmd:title>
- * <gmd:series uuidref="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
- * <gmd:CI_Series>
- * <gmd:name>
+ * </cit:title>
+ * <cit:series uuidref="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
+ * <cit:CI_Series>
+ * <cit:name>
* <gco:CharacterString>My aggregate dataset</gco:CharacterString>
- * </gmd:name>
- * </gmd:CI_Series>
- * </gmd:series>
- * </gmd:CI_Citation>
+ * </cit:name>
+ * </cit:CI_Series>
+ * </cit:series>
+ * </cit:CI_Citation>
* }
*
* On an implementation note, the {@code uuidref}, {@code xlink:href} and other attributes of the
Modified: sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -37,7 +37,7 @@ import static org.apache.sis.test.TestUt
* Tests the XML marshalling of object having {@code xlink} attribute.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
*
* @see <a href="http://jira.geotoolkit.org/browse/GEOTK-165">GEOTK-165</a>
*
@@ -50,26 +50,27 @@ public final strictfp class XLinkMarshal
* A XML with a {@code xlink:href} without element definition.
*/
private static final String LINK_ONLY_XML =
- "<gmd:MD_Metadata xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<mdb:MD_Metadata xmlns:mdb=\"" + Namespaces.MDB + '"' +
" xmlns:xlink=\"" + Namespaces.XLINK + "\">\n" +
- " <gmd:identificationInfo xlink:href=\"http://test.net\"/>\n" +
- "</gmd:MD_Metadata>";
+ " <mdb:identificationInfo xlink:href=\"http://test.net\"/>\n" +
+ "</mdb:MD_Metadata>";
/**
* A XML with a {@code xlink:href} without element definition.
*/
private static final String LINK_WITH_ELEMENT_XML =
- "<gmd:MD_Metadata xmlns:gmd=\"" + Namespaces.GMD + '"' +
+ "<mdb:MD_Metadata xmlns:mdb=\"" + Namespaces.MDB + '"' +
+ " xmlns:mri=\"" + Namespaces.MRI + '"' +
" xmlns:gco=\"" + Namespaces.GCO + '"' +
" xmlns:xlink=\"" + Namespaces.XLINK + "\">\n" +
- " <gmd:identificationInfo xlink:href=\"http://test.net\">\n" +
- " <gmd:MD_DataIdentification>\n" +
- " <gmd:abstract>\n" +
+ " <mdb:identificationInfo xlink:href=\"http://test.net\">\n" +
+ " <mri:MD_DataIdentification>\n" +
+ " <mri:abstract>\n" +
" <gco:CharacterString>This is a test.</gco:CharacterString>\n" +
- " </gmd:abstract>\n" +
- " </gmd:MD_DataIdentification>\n" +
- " </gmd:identificationInfo>\n" +
- "</gmd:MD_Metadata>";
+ " </mri:abstract>\n" +
+ " </mri:MD_DataIdentification>\n" +
+ " </mdb:identificationInfo>\n" +
+ "</mdb:MD_Metadata>";
/**
* Verifies if the given metadata contains the expected {@code xlink:href} attribute value.
@@ -90,9 +91,9 @@ public final strictfp class XLinkMarshal
* The XML fragment is:
*
* {@preformat xml
- * <gmd:MD_Metadata>
- * <gmd:identificationInfo xlink:href="http://test.net"/>
- * </gmd:MD_Metadata>
+ * <mdb:MD_Metadata>
+ * <mdb:identificationInfo xlink:href="http://test.net"/>
+ * </mdb:MD_Metadata>
* }
*
* @throws JAXBException if an error occurred during (un)marshalling.
@@ -107,7 +108,7 @@ public final strictfp class XLinkMarshal
final DefaultMetadata metadata = new DefaultMetadata();
metadata.setIdentificationInfo(Collections.singleton(identification));
- assertXmlEquals(LINK_ONLY_XML, XML.marshal(metadata), "xmlns:*");
+ assertXmlEquals(LINK_ONLY_XML, marshal(metadata), "xmlns:*");
verify(true, unmarshal(DefaultMetadata.class, LINK_ONLY_XML));
}
@@ -116,15 +117,15 @@ public final strictfp class XLinkMarshal
* The XML fragment is:
*
* {@preformat xml
- * <gmd:MD_Metadata>
- * <gmd:identificationInfo xlink:href="http://test.net">
- * <gmd:MD_DataIdentification>
- * <gmd:abstract>
+ * <mdb:MD_Metadata>
+ * <mdb:identificationInfo xlink:href="http://test.net">
+ * <mdb:MD_DataIdentification>
+ * <mdb:abstract>
* <gco:CharacterString>This is a test.</gco:CharacterString>
- * </gmd:abstract>
- * </gmd:MD_DataIdentification>
- * </gmd:identificationInfo>
- * </gmd:MD_Metadata>
+ * </mdb:abstract>
+ * </mdb:MD_DataIdentification>
+ * </mdb:identificationInfo>
+ * </mdb:MD_Metadata>
* }
*
* @throws JAXBException if an error occurred during (un)marshalling.
@@ -140,7 +141,7 @@ public final strictfp class XLinkMarshal
final DefaultMetadata metadata = new DefaultMetadata();
metadata.setIdentificationInfo(Collections.singleton(identification));
- assertXmlEquals(LINK_WITH_ELEMENT_XML, XML.marshal(metadata), "xmlns:*");
+ assertXmlEquals(LINK_WITH_ELEMENT_XML, marshal(metadata), "xmlns:*");
final DefaultMetadata unmarshal = unmarshal(DefaultMetadata.class, LINK_WITH_ELEMENT_XML);
verify(false, unmarshal);
assertTrue(metadata.equals(unmarshal, ComparisonMode.DEBUG));
Modified: sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml Sat Feb 24 16:22:48 2018
@@ -18,56 +18,87 @@
under the License.
-->
-<gmd:CI_Citation
- xmlns:gco = "http://www.isotc211.org/2005/gco"
- xmlns:gmd = "http://www.isotc211.org/2005/gmd"
- xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xlink = "http://www.w3.org/1999/xlink"
- xsi:schemaLocation = "http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd">
+<cit:CI_Citation
+ xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/1.0"
+ xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0"
+ xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/cit/1.0 http://standards.iso.org/iso/19115/-3/cit/1.0/cit.xsd
+ http://standards.iso.org/iso/19115/-3/gcx/1.0 http://standards.iso.org/iso/19115/-3/gcx/1.0/gcx.xsd">
- <gmd:title>
+ <cit:title>
<gco:CharacterString>Fight against poverty</gco:CharacterString>
- </gmd:title>
- <gmd:date>
- <gmd:CI_Date>
- <gmd:date>
+ </cit:title>
+ <cit:date>
+ <cit:CI_Date>
+ <cit:date>
<!-- International Day for the Eradication of Poverty -->
<gco:DateTime>2015-10-17T02:00:00+02:00</gco:DateTime>
- </gmd:date>
- <gmd:dateType>
- <gmd:CI_DateTypeCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode"
- codeListValue="adopted">Adopted</gmd:CI_DateTypeCode>
- </gmd:dateType>
- </gmd:CI_Date>
- </gmd:date>
- <gmd:citedResponsibleParty>
- <gmd:CI_ResponsibleParty>
- <gmd:individualName>
- <gco:CharacterString>Maid Marian</gco:CharacterString>
- </gmd:individualName>
- <gmd:contactInfo>
- <gmd:CI_Contact id="ip-protocol">
- <gmd:contactInstructions>
- <gco:CharacterString>Send carrier pigeon.</gco:CharacterString>
- </gmd:contactInstructions>
- </gmd:CI_Contact>
- </gmd:contactInfo>
- <gmd:role>
- <gmd:CI_RoleCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode"
- codeListValue="originator">Originator</gmd:CI_RoleCode>
- </gmd:role>
- </gmd:CI_ResponsibleParty>
- </gmd:citedResponsibleParty>
- <gmd:citedResponsibleParty>
- <gmd:CI_ResponsibleParty>
- <gmd:individualName>
- <gco:CharacterString>Robin Hood</gco:CharacterString>
- </gmd:individualName>
- <gmd:contactInfo xlink:href="#ip-protocol"/>
- <gmd:role>
- <gmd:CI_RoleCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode"
- codeListValue="funder">Funder</gmd:CI_RoleCode>
- </gmd:role>
- </gmd:CI_ResponsibleParty>
- </gmd:citedResponsibleParty>
-</gmd:CI_Citation>
+ </cit:date>
+ <cit:dateType>
+ <cit:CI_DateTypeCode codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_DateTypeCode"
+ codeListValue="adopted">Adopted</cit:CI_DateTypeCode>
+ </cit:dateType>
+ </cit:CI_Date>
+ </cit:date>
+ <cit:citedResponsibleParty>
+ <cit:CI_Responsibility>
+ <cit:role>
+ <cit:CI_RoleCode codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_RoleCode"
+ codeListValue="originator">Originator</cit:CI_RoleCode>
+ </cit:role>
+ <cit:party>
+ <cit:CI_Individual>
+ <cit:name>
+ <gco:CharacterString>Maid Marian</gco:CharacterString>
+ </cit:name>
+ <cit:contactInfo>
+ <cit:CI_Contact id="ip-protocol">
+ <cit:onlineResource>
+ <cit:CI_OnlineResource>
+ <cit:linkage>
+ <gcx:FileName src="https://tools.ietf.org/html/rfc1149">rfc1149</gcx:FileName>
+ </cit:linkage>
+ <cit:name>
+ <gco:CharacterString>IP over Avian Carriers</gco:CharacterString>
+ </cit:name>
+ <cit:description>
+ <gco:CharacterString>High delay, low throughput, and low altitude service.</gco:CharacterString>
+ </cit:description>
+ <cit:function>
+ <cit:CI_OnLineFunctionCode codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_OnLineFunctionCode"
+ codeListValue="offlineAccess">Offline access</cit:CI_OnLineFunctionCode>
+ </cit:function>
+ </cit:CI_OnlineResource>
+ </cit:onlineResource>
+ <cit:contactInstructions>
+ <gco:CharacterString>Send carrier pigeon.</gco:CharacterString>
+ </cit:contactInstructions>
+ </cit:CI_Contact>
+ </cit:contactInfo>
+ </cit:CI_Individual>
+ </cit:party>
+ </cit:CI_Responsibility>
+ </cit:citedResponsibleParty>
+ <cit:citedResponsibleParty>
+ <cit:CI_Responsibility>
+ <cit:role>
+ <cit:CI_RoleCode codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_RoleCode"
+ codeListValue="funder">Funder</cit:CI_RoleCode>
+ </cit:role>
+ <cit:party>
+ <cit:CI_Individual>
+ <cit:name>
+ <gco:CharacterString>Robin Hood</gco:CharacterString>
+ </cit:name>
+ <cit:contactInfo xlink:href="#ip-protocol"/>
+ </cit:CI_Individual>
+ </cit:party>
+ </cit:CI_Responsibility>
+ </cit:citedResponsibleParty>
+ <cit:presentationForm>
+ <cit:CI_PresentationFormCode codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_PresentationFormCode"
+ codeListValue="physicalObject">Physical object</cit:CI_PresentationFormCode>
+ </cit:presentationForm>
+</cit:CI_Citation>
Modified: sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml Sat Feb 24 16:22:48 2018
@@ -18,43 +18,44 @@
under the License.
-->
-<gmd:EX_Extent
- xmlns:gco = "http://www.isotc211.org/2005/gco"
- xmlns:gmd = "http://www.isotc211.org/2005/gmd"
+<gex:EX_Extent
+ xmlns:gex = "http://standards.iso.org/iso/19115/-3/gex/1.0"
+ xmlns:gco = "http://standards.iso.org/iso/19115/-3/gco/1.0"
xmlns:gml = "http://www.opengis.net/gml/3.2"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation = "http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd">
+ xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/gex/1.0
+ http://standards.iso.org/iso/19115/-3/gex/1.0/gex.xsd">
- <gmd:geographicElement>
- <gmd:EX_GeographicBoundingBox id="bbox">
- <gmd:extentTypeCode>
+ <gex:geographicElement>
+ <gex:EX_GeographicBoundingBox id="bbox">
+ <gex:extentTypeCode>
<gco:Boolean>true</gco:Boolean>
- </gmd:extentTypeCode>
- <gmd:westBoundLongitude>
+ </gex:extentTypeCode>
+ <gex:westBoundLongitude>
<gco:Decimal>-99.0</gco:Decimal>
- </gmd:westBoundLongitude>
- <gmd:eastBoundLongitude>
+ </gex:westBoundLongitude>
+ <gex:eastBoundLongitude>
<gco:Decimal>-79.0</gco:Decimal>
- </gmd:eastBoundLongitude>
- <gmd:southBoundLatitude>
+ </gex:eastBoundLongitude>
+ <gex:southBoundLatitude>
<gco:Decimal>14.9844</gco:Decimal>
- </gmd:southBoundLatitude>
- <gmd:northBoundLatitude>
+ </gex:southBoundLatitude>
+ <gex:northBoundLatitude>
<gco:Decimal>31.0</gco:Decimal>
- </gmd:northBoundLatitude>
- </gmd:EX_GeographicBoundingBox>
- </gmd:geographicElement>
- <gmd:temporalElement>
- <gmd:EX_TemporalExtent>
+ </gex:northBoundLatitude>
+ </gex:EX_GeographicBoundingBox>
+ </gex:geographicElement>
+ <gex:temporalElement>
+ <gex:EX_TemporalExtent>
<!-- TODO: This block needs the sis-temporal module.
- <gmd:extent>
+ <gex:extent>
<gml:TimePeriod gml:id="period">
<gml:description>Acquisition period</gml:description>
<gml:beginPosition>2010-01-27T08:26:10-05:00</gml:beginPosition>
<gml:endPosition>2010-08-27T08:26:10-05:00</gml:endPosition>
</gml:TimePeriod>
- </gmd:extent>
+ </gex:extent>
-->
- </gmd:EX_TemporalExtent>
- </gmd:temporalElement>
-</gmd:EX_Extent>
+ </gex:EX_TemporalExtent>
+ </gex:temporalElement>
+</gex:EX_Extent>
Modified: sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml Sat Feb 24 16:22:48 2018
@@ -19,85 +19,120 @@
-->
<srv:SV_ServiceIdentification
- xmlns:srv = "http://www.isotc211.org/2005/srv"
- xmlns:gmd = "http://www.isotc211.org/2005/gmd"
- xmlns:gco = "http://www.isotc211.org/2005/gco"
+ xmlns:srv = "http://standards.iso.org/iso/19115/-3/srv/2.0"
+ xmlns:mri = "http://standards.iso.org/iso/19115/-3/mri/1.0"
+ xmlns:cit = "http://standards.iso.org/iso/19115/-3/cit/1.0"
+ xmlns:gco = "http://standards.iso.org/iso/19115/-3/gco/1.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation = "http://www.isotc211.org/2005/srv http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd">
+ xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/srv/2.0
+ http://standards.iso.org/iso/19115/-3/srv/2.0/srv.xsd">
- <gmd:citation gco:nilReason="missing"/>
- <gmd:abstract>
+ <mri:citation gco:nilReason="missing"/>
+ <mri:abstract>
<gco:CharacterString>A dummy service for testing purpose.</gco:CharacterString>
- </gmd:abstract>
+ </mri:abstract>
<srv:serviceType>
- <gco:LocalName>Web Map Server</gco:LocalName>
+ <gco:ScopedName>Web Map Server</gco:ScopedName>
</srv:serviceType>
<srv:serviceTypeVersion>
<gco:CharacterString>1.0</gco:CharacterString>
</srv:serviceTypeVersion>
+ <srv:couplingType>
+ <srv:SV_CouplingType codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#SV_CouplingType" codeListValue="loose" codeSpace="eng">Loose</srv:SV_CouplingType>
+ </srv:couplingType>
+
<srv:coupledResource>
<srv:SV_CoupledResource>
- <srv:operationName>
- <gco:CharacterString>Get Map</gco:CharacterString>
- </srv:operationName>
- <srv:identifier>
- <gco:CharacterString>ABC-123</gco:CharacterString>
- </srv:identifier>
- <gco:ScopedName>mySpace:ABC-123</gco:ScopedName>
+ <srv:scopedName>
+ <gco:ScopedName>mySpace:ABC-123</gco:ScopedName>
+ </srv:scopedName>
+ <srv:resourceReference>
+ <cit:CI_Citation>
+ <cit:title>
+ <gco:CharacterString>WMS specification</gco:CharacterString>
+ </cit:title>
+ </cit:CI_Citation>
+ </srv:resourceReference>
+ <srv:operation>
+ <srv:SV_OperationMetadata>
+ <srv:operationName>
+ <gco:CharacterString>Get Map</gco:CharacterString>
+ </srv:operationName>
+ <srv:distributedComputingPlatform>
+ <srv:DCPList codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#DCPList" codeListValue="WebServices" codeSpace="eng">Web services</srv:DCPList>
+ </srv:distributedComputingPlatform>
+ <srv:connectPoint gco:nilReason="missing"/>
+ <srv:parameter>
+ <srv:SV_Parameter>
+ <srv:name>
+ <gco:MemberName>
+ <gco:aName>
+ <gco:CharacterString>Version</gco:CharacterString>
+ </gco:aName>
+ <gco:attributeType>
+ <gco:TypeName>
+ <gco:aName>
+ <gco:CharacterString>CharacterString</gco:CharacterString>
+ </gco:aName>
+ </gco:TypeName>
+ </gco:attributeType>
+ </gco:MemberName>
+ </srv:name>
+ <srv:direction>
+ <srv:SV_ParameterDirection>in</srv:SV_ParameterDirection>
+ </srv:direction>
+ <srv:optionality>
+ <gco:Boolean>true</gco:Boolean>
+ </srv:optionality>
+ <srv:repeatability>
+ <gco:Boolean>false</gco:Boolean>
+ </srv:repeatability>
+ </srv:SV_Parameter>
+ </srv:parameter>
+ </srv:SV_OperationMetadata>
+ </srv:operation>
</srv:SV_CoupledResource>
</srv:coupledResource>
- <srv:couplingType>
- <srv:SV_CouplingType codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#SV_CouplingType" codeListValue="loose">Loose</srv:SV_CouplingType>
- </srv:couplingType>
-
<srv:containsOperations>
<srv:SV_OperationMetadata>
<srv:operationName>
<gco:CharacterString>Get Map</gco:CharacterString>
</srv:operationName>
- <srv:DCP>
- <srv:DCPList codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#DCPList" codeListValue="WebServices">Web services</srv:DCPList>
- </srv:DCP>
- <srv:parameters>
+ <srv:distributedComputingPlatform>
+ <srv:DCPList codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#DCPList" codeListValue="WebServices" codeSpace="eng">Web services</srv:DCPList>
+ </srv:distributedComputingPlatform>
+ <srv:connectPoint gco:nilReason="missing"/>
+ <srv:parameter>
<srv:SV_Parameter>
<srv:name>
- <gco:aName>
- <gco:CharacterString>Version</gco:CharacterString>
- </gco:aName>
- <gco:attributeType>
- <gco:TypeName>
- <gco:aName>
- <gco:CharacterString>CharacterString</gco:CharacterString>
- </gco:aName>
- </gco:TypeName>
- </gco:attributeType>
+ <gco:MemberName>
+ <gco:aName>
+ <gco:CharacterString>Version</gco:CharacterString>
+ </gco:aName>
+ <gco:attributeType>
+ <gco:TypeName>
+ <gco:aName>
+ <gco:CharacterString>CharacterString</gco:CharacterString>
+ </gco:aName>
+ </gco:TypeName>
+ </gco:attributeType>
+ </gco:MemberName>
</srv:name>
<srv:direction>
<srv:SV_ParameterDirection>in</srv:SV_ParameterDirection>
</srv:direction>
<srv:optionality>
- <gco:CharacterString>Optional</gco:CharacterString>
+ <gco:Boolean>true</gco:Boolean>
</srv:optionality>
<srv:repeatability>
<gco:Boolean>false</gco:Boolean>
</srv:repeatability>
-
- <!-- Deprecated element (removed from ISO 19115:2014), since it duplicates <gco:attributeType> above. -->
- <srv:valueType>
- <gco:TypeName>
- <gco:aName>
- <gco:CharacterString>CharacterString</gco:CharacterString>
- </gco:aName>
- </gco:TypeName>
- </srv:valueType>
-
</srv:SV_Parameter>
- </srv:parameters>
- <srv:connectPoint gco:nilReason="missing"/>
+ </srv:parameter>
</srv:SV_OperationMetadata>
</srv:containsOperations>
</srv:SV_ServiceIdentification>
Modified: sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml Sat Feb 24 16:22:48 2018
@@ -18,25 +18,29 @@
under the License.
-->
-<gmi:LE_ProcessStep
- xmlns:gmd = "http://www.isotc211.org/2005/gmd"
- xmlns:gco = "http://www.isotc211.org/2005/gco"
- xmlns:gmi = "http://www.isotc211.org/2005/gmi"
+<mrl:LE_ProcessStep
+ xmlns:mrl = "http://standards.iso.org/iso/19115/-3/mrl/1.0"
+ xmlns:mcc = "http://standards.iso.org/iso/19115/-3/mcc/1.0"
+ xmlns:gco = "http://standards.iso.org/iso/19115/-3/gco/1.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation = "http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd">
+ xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/mrl/1.0
+ http://standards.iso.org/iso/19115/-3/mrl/1.0/mrl.xsd">
- <!--
- As of February 2011, there is not yet any XSD schema for the "gmi" namespace on the
- OGC web site. Consequently the validation of this file does not work fully yet.
- -->
- <gmd:description>
+ <mrl:description>
<gco:CharacterString>Some process step.</gco:CharacterString>
- </gmd:description>
- <gmi:processingInformation>
- <gmi:LE_Processing>
- <gmi:procedureDescription>
+ </mrl:description>
+ <mrl:processingInformation>
+ <mrl:LE_Processing>
+ <mrl:identifier>
+ <mcc:MD_Identifier>
+ <mcc:code>
+ <gco:CharacterString>P4</gco:CharacterString>
+ </mcc:code>
+ </mcc:MD_Identifier>
+ </mrl:identifier>
+ <mrl:procedureDescription>
<gco:CharacterString>Some procedure.</gco:CharacterString>
- </gmi:procedureDescription>
- </gmi:LE_Processing>
- </gmi:processingInformation>
-</gmi:LE_ProcessStep>
+ </mrl:procedureDescription>
+ </mrl:LE_Processing>
+ </mrl:processingInformation>
+</mrl:LE_ProcessStep>
Modified: sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml (original)
+++ sis/branches/JDK9/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml Sat Feb 24 16:22:48 2018
@@ -18,55 +18,67 @@
under the License.
-->
-<gmd:DQ_RelativeInternalPositionalAccuracy
- xmlns:gmd = "http://www.isotc211.org/2005/gmd"
- xmlns:gco = "http://www.isotc211.org/2005/gco"
+<mdq:DQ_RelativeInternalPositionalAccuracy
+ xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0"
+ xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0"
+ xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/1.0"
+ xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0"
+ xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation = "http://www.isotc211.org/2005/gmd http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd">
+ xsi:schemaLocation = "http://standards.iso.org/iso/19157/-2/mdq/1.0 http://standards.iso.org/iso/19157/-2/mdq/1.0/mdq.xsd
+ http://standards.iso.org/iso/19115/-3/lan/1.0 http://standards.iso.org/iso/19115/-3/lan/1.0/lan.xsd">
<!--
- The <nameOfMeasure> element below is the main purpose of MetadataMarshallingTest.testPositionalAccuracy().
- The <result> element was added only in order to allow validation of this XML file, with the addition of an
- opportunist check of xsi:type declaration.
+ The <measure> element below is the main purpose of MetadataMarshallingTest.testPositionalAccuracy().
+ The <result> element was added only in order to allow validation of this XML file, with the addition
+ of an opportunist check of xsi:type declaration.
-->
- <gmd:nameOfMeasure xsi:type="gmd:PT_FreeText_PropertyType">
- <gco:CharacterString>Quantitative quality measure focusing on the effective class percent regarded to the total surface size</gco:CharacterString>
- <gmd:PT_FreeText>
- <gmd:textGroup>
- <gmd:LocalisedCharacterString locale="#locale-fra">Mesure qualité quantitative de type pourcentage de représentation de la classe par rapport à la surface totale</gmd:LocalisedCharacterString>
- </gmd:textGroup>
- </gmd:PT_FreeText>
- </gmd:nameOfMeasure>
- <gmd:result>
+ <mdq:measure>
+ <mdq:DQ_MeasureReference>
+ <mdq:measureIdentification>
+ <mcc:MD_Identifier>
+ <mcc:code xsi:type="lan:PT_FreeText_PropertyType">
+ <gco:CharacterString>Quantitative quality measure focusing on the effective class percent regarded to the total surface size</gco:CharacterString>
+ <lan:PT_FreeText>
+ <lan:textGroup>
+ <lan:LocalisedCharacterString locale="#locale-fra">Mesure qualité quantitative de type pourcentage de représentation de la classe par rapport à la surface totale</lan:LocalisedCharacterString>
+ </lan:textGroup>
+ </lan:PT_FreeText>
+ </mcc:code>
+ </mcc:MD_Identifier>
+ </mdq:measureIdentification>
+ </mdq:DQ_MeasureReference>
+ </mdq:measure>
+ <mdq:result>
<!--
The xsi:type declaration below is useless, but we put it
in order to test that it does not break unmarshalling.
-->
- <gmd:DQ_ConformanceResult xsi:type="gmd:DQ_ConformanceResult_Type">
- <gmd:specification>
- <gmd:CI_Citation>
- <gmd:title>
+ <mdq:DQ_ConformanceResult xsi:type="mdq:DQ_ConformanceResult_Type">
+ <mdq:specification>
+ <cit:CI_Citation>
+ <cit:title>
<gco:CharacterString>Some documentation for a conformance test.</gco:CharacterString>
- </gmd:title>
- <gmd:date>
- <gmd:CI_Date>
- <gmd:date>
+ </cit:title>
+ <cit:date>
+ <cit:CI_Date>
+ <cit:date>
<!-- Dummy date for the purpose of this test. -->
<gco:DateTime>2009-08-12T19:40:17.653+02:00</gco:DateTime>
- </gmd:date>
- <gmd:dateType>
- <gmd:CI_DateTypeCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation">Creation</gmd:CI_DateTypeCode>
- </gmd:dateType>
- </gmd:CI_Date>
- </gmd:date>
- </gmd:CI_Citation>
- </gmd:specification>
- <gmd:explanation>
+ </cit:date>
+ <cit:dateType>
+ <cit:CI_DateTypeCode codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode" codeListValue="creation">Creation</cit:CI_DateTypeCode>
+ </cit:dateType>
+ </cit:CI_Date>
+ </cit:date>
+ </cit:CI_Citation>
+ </mdq:specification>
+ <mdq:explanation>
<gco:CharacterString>We should explain here what a test conformance means.</gco:CharacterString>
- </gmd:explanation>
- <gmd:pass>
+ </mdq:explanation>
+ <mdq:pass>
<gco:Boolean>true</gco:Boolean>
- </gmd:pass>
- </gmd:DQ_ConformanceResult>
- </gmd:result>
-</gmd:DQ_RelativeInternalPositionalAccuracy>
+ </mdq:pass>
+ </mdq:DQ_ConformanceResult>
+ </mdq:result>
+</mdq:DQ_RelativeInternalPositionalAccuracy>
Modified: sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -21,11 +21,11 @@ import org.opengis.metadata.Identifier;
/**
- * JAXB adapter mapping the GeoAPI {@link Identifier} to an implementation class that can
- * be marshalled. See the package documentation for more information about JAXB and interfaces.
+ * JAXB adapter mapping the GeoAPI {@link Identifier} to an implementation class that can be marshalled.
+ * See the package documentation for more information about JAXB and interfaces.
*
* <p>Note that a class of the same name is defined in the {@link org.apache.sis.internal.jaxb.metadata}
- * package, which serve the same purpose (wrapping exactly the same interface) but using the ISO 19139
+ * package, which serve the same purpose (wrapping exactly the same interface) but using the ISO 19139:2007
* syntax instead. The ISO 19139 syntax represents the code and codespace as XML elements, while in this
* GML representation the code is a XML value and the codespace is a XML attribute.</p>
*
Modified: sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -26,7 +26,7 @@ import org.apache.sis.referencing.crs.De
/**
* JAXB adapter for {@link VerticalCRS}, in order to integrate the value in an element
* complying with OGC/ISO standard. Note that the CRS is formatted using the GML schema,
- * not the ISO 19139 one.
+ * not the ISO 19139:2007 one.
*
* @author Guilhem Legal (Geomatys)
* @author Martin Desruisseaux (Geomatys)
Modified: sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -42,6 +42,7 @@ import org.opengis.referencing.ObjectFac
import org.opengis.referencing.AuthorityFactory;
import org.opengis.referencing.IdentifiedObject;
import org.apache.sis.internal.jaxb.Context;
+import org.apache.sis.internal.jaxb.UseLegacyMetadata;
import org.apache.sis.internal.jaxb.referencing.Code;
import org.apache.sis.internal.util.Numerics;
import org.apache.sis.internal.util.UnmodifiableArrayList;
@@ -116,7 +117,7 @@ import static org.apache.sis.internal.ut
* objects and passed between threads without synchronization.
*
* @author Martin Desruisseaux (IRD, Geomatys)
- * @version 0.7
+ * @version 1.0
* @since 0.4
* @module
*/
@@ -133,6 +134,7 @@ import static org.apache.sis.internal.ut
org.apache.sis.referencing.datum.DefaultPrimeMeridian.class,
org.apache.sis.referencing.cs.AbstractCS.class
})
+@UseLegacyMetadata
public class AbstractIdentifiedObject extends FormattableObject implements IdentifiedObject,
LenientComparable, Deprecable, Serializable
{
Modified: sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -213,7 +213,7 @@ public final strictfp class AbstractIden
final AbstractIdentifiedObject o2 = new AbstractIdentifiedObject(properties);
final AbstractIdentifiedObject o3 = new AbstractIdentifiedObject(properties);
final AbstractIdentifiedObject o4 = new AbstractIdentifiedObject(properties);
- final Context context = new Context(0, null, null, null, null, null, null, null);
+ final Context context = new Context(0, null, null, null, null, null, null, null, null);
try {
final String c1, c2, c3, c4;
assertEquals("o1", "epsg-7019", c1 = o1.getID());
Modified: sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -486,7 +486,7 @@ public final strictfp class DefaultProje
* Test marshalling and compare with the original file. The comparison ignores the <gml:name> nodes because the
* marshalled CRS contains many operation method and parameter aliases which were not in the original XML file.
*/
- assertMarshalEqualsFile(XML_FILE, crs, STRICT, new String[] {"gml:name"},
+ assertMarshalEqualsFile(XML_FILE, crs, null, STRICT, new String[] {"gml:name"},
new String[] {"xmlns:*", "xsi:schemaLocation", "gml:id"});
}
Modified: sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -232,7 +232,7 @@ public final strictfp class DefaultEllip
/*
* Marshall and compare to the original file.
*/
- assertMarshalEqualsFile(ELLIPSOID_FILE, ellipsoid, "xlmns:*", "xsi:schemaLocation");
+ assertMarshalEqualsFile(ELLIPSOID_FILE, ellipsoid, "xmlns:*", "xsi:schemaLocation");
}
/**
@@ -258,6 +258,6 @@ public final strictfp class DefaultEllip
/*
* Marshall and compare to the original file.
*/
- assertMarshalEqualsFile(SPHERE_FILE, ellipsoid, "xlmns:*", "xsi:schemaLocation");
+ assertMarshalEqualsFile(SPHERE_FILE, ellipsoid, "xmlns:*", "xsi:schemaLocation");
}
}
Modified: sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -100,7 +100,7 @@ public final strictfp class DefaultTempo
@Test
public void testMarshalling() throws JAXBException {
final DefaultTemporalDatum datum = create();
- assertMarshalEqualsFile(XML_FILE, datum, "xlmns:*", "xsi:schemaLocation");
+ assertMarshalEqualsFile(XML_FILE, datum, "xmlns:*", "xsi:schemaLocation");
}
/**
Modified: sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -60,6 +60,7 @@ import org.apache.sis.referencing.cs.Def
import org.apache.sis.referencing.cs.DefaultVerticalCS;
import org.apache.sis.referencing.crs.DefaultVerticalCRS;
import org.apache.sis.internal.jaxb.metadata.replace.ReferenceSystemMetadata;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
import org.apache.sis.internal.jaxb.gmx.Anchor;
import org.apache.sis.internal.system.Loggers;
import org.apache.sis.referencing.NamedIdentifier;
@@ -70,6 +71,7 @@ import org.apache.sis.xml.MarshallerPool
import org.apache.sis.xml.IdentifierSpace;
import org.apache.sis.xml.NilObject;
import org.apache.sis.xml.NilReason;
+import org.apache.sis.xml.XML;
import static java.util.Collections.singleton;
import static java.util.Collections.singletonMap;
@@ -86,6 +88,7 @@ import org.junit.Test;
import static org.apache.sis.test.Assert.*;
import static org.apache.sis.test.TestUtilities.getSingleton;
+import static org.apache.sis.metadata.iso.DefaultMetadataTest.REGRESSION;
/**
@@ -94,7 +97,7 @@ import static org.apache.sis.test.TestUt
*
* @author Guilhem Legal (Geomatys)
* @author Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.0
*
* @see org.apache.sis.metadata.iso.DefaultMetadataTest
*
@@ -292,6 +295,13 @@ public strictfp class MetadataTest exten
new DefaultVerticalExtent(Double.NaN, Double.NaN, vcrs),
temporal)));
}
+ /*
+ * Data identification / Environmental description and Supplemental information.
+ */
+ {
+ identification.setEnvironmentDescription (new SimpleInternationalString("Possibly cloudy."));
+ identification.setSupplementalInformation(new SimpleInternationalString("This metadata has been modified with dummy values."));
+ }
metadata.setIdentificationInfo(singleton(identification));
}
/*
@@ -386,6 +396,7 @@ public strictfp class MetadataTest exten
final MarshallerPool pool = getMarshallerPool();
final Marshaller ms = pool.acquireMarshaller();
final StringWriter writer = new StringWriter(25000);
+ ms.setProperty(XML.METADATA_VERSION, VERSION_2007);
ms.marshal(createHardCoded(), writer);
pool.recycle(ms);
/*
@@ -395,9 +406,9 @@ public strictfp class MetadataTest exten
* by the anchor version so we can compare the XML with the "Metadata.xml" file content.
*/
final StringBuffer xml = writer.getBuffer();
- replace(xml, "<gco:CharacterString>Common Data Index record</gco:CharacterString>",
+ replace(xml, "<gcol:CharacterString>Common Data Index record</gcol:CharacterString>",
"<gmx:Anchor xlink:href=\"SDN:L231:3:CDI\">Common Data Index record</gmx:Anchor>");
- replace(xml, "<gco:CharacterString>EPSG:4326</gco:CharacterString>",
+ replace(xml, "<gcol:CharacterString>EPSG:4326</gcol:CharacterString>",
"<gmx:Anchor xlink:href=\"SDN:L101:2:4326\">EPSG:4326</gmx:Anchor>");
/*
* The <gmd:EX_TemporalExtent> block can not be marshalled yet, since it requires the sis-temporal module.
@@ -406,7 +417,7 @@ public strictfp class MetadataTest exten
* and those values may change in future SIS version.
*/
final XMLComparator comparator = new XMLComparator(getResource(), xml.toString());
- comparator.ignoredNodes.add(Namespaces.GMD + ":temporalElement");
+ comparator.ignoredNodes.add(LegacyNamespaces.GMD + ":temporalElement");
comparator.ignoredAttributes.add("http://www.w3.org/2000/xmlns:*");
comparator.ignoredAttributes.add(Namespaces.XSI + ":schemaLocation");
comparator.ignoredAttributes.add(Namespaces.GML + ":id");
@@ -442,6 +453,10 @@ public strictfp class MetadataTest exten
final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
final DefaultMetadata metadata = (DefaultMetadata) unmarshaller.unmarshal(getResource());
pool.recycle(unmarshaller);
+ if (REGRESSION) {
+ assertTrue("Maybe SIS-402 has been fixed and this anti-regression hack can be removed?",
+ metadata.getCharacterSets().add(StandardCharsets.UTF_8));
+ }
final DefaultMetadata expected = createHardCoded();
assertTrue(metadata.equals(expected, ComparisonMode.DEBUG));
loggings.skipNextLogIfContains("sis-temporal");
@@ -455,6 +470,10 @@ public strictfp class MetadataTest exten
@Test
public void testMetadataWithVerticalCRS() throws JAXBException {
final Metadata metadata = unmarshalFile(Metadata.class, VERTICAL_CRS_XML);
+ if (REGRESSION) {
+ assertTrue("Maybe SIS-402 has been fixed and this anti-regression hack can be removed?",
+ metadata.getCharacterSets().add(StandardCharsets.UTF_8));
+ }
assertEquals("fileIdentifier", "20090901", metadata.getMetadataIdentifier().getCode());
assertEquals("language", Locale.ENGLISH, getSingleton(metadata.getLanguages()));
assertEquals("characterSet", StandardCharsets.UTF_8, getSingleton(metadata.getCharacterSets()));
@@ -551,7 +570,7 @@ public strictfp class MetadataTest exten
*
* Now marshal the object and compare with the original file.
*/
- assertMarshalEqualsFile(VERTICAL_CRS_XML, metadata, "xmlns:*", "xsi:schemaLocation");
+ assertMarshalEqualsFile(VERTICAL_CRS_XML, metadata, VERSION_2007, "xmlns:*", "xsi:schemaLocation");
}
/**
Modified: sis/branches/JDK9/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml (original)
+++ sis/branches/JDK9/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml Sat Feb 24 16:22:48 2018
@@ -353,6 +353,9 @@
<gmd:topicCategory>
<gmd:MD_TopicCategoryCode>oceans</gmd:MD_TopicCategoryCode>
</gmd:topicCategory>
+ <gmd:environmentDescription>
+ <gco:CharacterString>Possibly cloudy.</gco:CharacterString>
+ </gmd:environmentDescription>
<gmd:extent>
<gmd:EX_Extent>
<gmd:geographicElement>
@@ -412,6 +415,9 @@
</gmd:verticalElement>
</gmd:EX_Extent>
</gmd:extent>
+ <gmd:supplementalInformation>
+ <gco:CharacterString>This metadata has been modified with dummy values.</gco:CharacterString>
+ </gmd:supplementalInformation>
</gmd:MD_DataIdentification>
</gmd:identificationInfo>
<gmd:contentInfo>
Modified: sis/branches/JDK9/core/sis-utility/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-utility/pom.xml?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-utility/pom.xml (original)
+++ sis/branches/JDK9/core/sis-utility/pom.xml Sat Feb 24 16:22:48 2018
@@ -87,6 +87,15 @@ Miscellaneous utilities.
</roles>
</contributor>
<contributor>
+ <name>Cullen Rombach</name>
+ <organization>Image Matters</organization>
+ <organizationUrl>http://www.imagemattersllc.com</organizationUrl>
+ <timezone>-5</timezone>
+ <roles>
+ <role>developer</role>
+ </roles>
+ </contributor>
+ <contributor>
<name>Guilhem Legal</name>
<email>guilhem.legal@geomatys.com</email>
<organization>Geomatys</organization>
Modified: sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -50,7 +50,8 @@ import org.apache.sis.xml.ReferenceResol
* if no (un)marshalling is in progress.
*
* @author Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
* @since 0.3
* @module
*/
@@ -59,40 +60,46 @@ public final class Context extends Marsh
* The bit flag telling if a marshalling process is under progress.
* This flag is unset for unmarshalling processes.
*/
- public static final int MARSHALLING = 1;
+ public static final int MARSHALLING = 0x1;
/**
* The bit flag for enabling substitution of language codes by character strings.
*
* @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
*/
- public static final int SUBSTITUTE_LANGUAGE = 2;
+ public static final int SUBSTITUTE_LANGUAGE = 0x2;
/**
* The bit flag for enabling substitution of country codes by character strings.
*
* @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
*/
- public static final int SUBSTITUTE_COUNTRY = 4;
+ public static final int SUBSTITUTE_COUNTRY = 0x4;
/**
* The bit flag for enabling substitution of filenames by character strings.
*
* @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
*/
- public static final int SUBSTITUTE_FILENAME = 8;
+ public static final int SUBSTITUTE_FILENAME = 0x8;
/**
* The bit flag for enabling substitution of mime types by character strings.
*
* @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
*/
- public static final int SUBSTITUTE_MIMETYPE = 16;
+ public static final int SUBSTITUTE_MIMETYPE = 0x10;
+
+ /**
+ * Whether we are (un)marshalling legacy metadata as defined in 2003 model (ISO 19139:2007).
+ * If this flag is not set, then we assume latest metadata as defined in 2014 model (ISO 19115-3).
+ */
+ public static final int LEGACY_METADATA = 0x20;
/**
* Bit where to store whether {@link #finish()} shall invoke {@code Semaphores.clear(Semaphores.NULL_COLLECTION)}.
*/
- private static final int CLEAR_SEMAPHORE = 32;
+ private static final int CLEAR_SEMAPHORE = 0x40;
/**
* The thread-local context. Elements are created in the constructor, and removed in a
@@ -109,7 +116,7 @@ public final class Context extends Marsh
/**
* Various boolean attributes determines by the above static constants.
*/
- private int bitMasks;
+ final int bitMasks;
/**
* The locale to use for marshalling, or an empty queue if no locale were explicitly specified.
@@ -123,7 +130,7 @@ public final class Context extends Marsh
private final TimeZone timezone;
/**
- * The base URL of ISO 19139 (or other standards) schemas. The valid values
+ * The base URL of ISO 19115-3 (or other standards) schemas. The valid values
* are documented in the {@link org.apache.sis.xml.XML#SCHEMAS} property.
*/
private final Map<String,String> schemas;
@@ -203,18 +210,25 @@ public final class Context extends Marsh
* @param timezone the timezone, or {@code null} if unspecified.
* @param schemas the schemas root URL, or {@code null} if none.
* @param versionGML the GML version, or {@code null}.
+ * @param versionMetadata the metadata version, or {@code null}.
* @param resolver the resolver in use.
* @param converter the converter in use.
* @param warningListener the object to inform about warnings.
*/
@SuppressWarnings("ThisEscapedInObjectConstruction")
- public Context(final int bitMasks,
- final Locale locale, final TimeZone timezone,
- final Map<String,String> schemas, final Version versionGML,
- final ReferenceResolver resolver, final ValueConverter converter,
+ public Context(int bitMasks,
+ final Locale locale,
+ final TimeZone timezone,
+ final Map<String,String> schemas,
+ final Version versionGML,
+ final Version versionMetadata,
+ final ReferenceResolver resolver,
+ final ValueConverter converter,
final WarningListener<?> warningListener)
{
- this.bitMasks = bitMasks;
+ if (versionMetadata != null && versionMetadata.compareTo(LegacyNamespaces.VERSION_2014) < 0) {
+ bitMasks |= LEGACY_METADATA;
+ }
this.locales = new LinkedList<>();
this.timezone = timezone;
this.schemas = schemas; // No clone, because this class is internal.
@@ -224,15 +238,21 @@ public final class Context extends Marsh
this.warningListener = warningListener;
this.identifiers = new HashMap<>();
this.identifiedObjects = new IdentityHashMap<>();
- if ((bitMasks & MARSHALLING) != 0) {
- if (!Semaphores.queryAndSet(Semaphores.NULL_COLLECTION)) {
- this.bitMasks |= CLEAR_SEMAPHORE;
- }
- }
if (locale != null) {
locales.add(locale);
}
previous = CURRENT.get();
+ if ((bitMasks & MARSHALLING) != 0) {
+ /*
+ * Set global semaphore last after our best effort to ensure that construction
+ * will not fail with an OutOfMemoryError. This is preferable for allowing the
+ * caller to invoke finish() in a finally block.
+ */
+ if (!Semaphores.queryAndSet(Semaphores.NULL_COLLECTION)) {
+ bitMasks |= CLEAR_SEMAPHORE;
+ }
+ }
+ this.bitMasks = bitMasks;
CURRENT.set(this);
}
@@ -264,10 +284,14 @@ public final class Context extends Marsh
*/
@Override
public final Version getVersion(final String prefix) {
- if (prefix.equals("gml")) {
- return versionGML;
+ switch (prefix) {
+ case "gml": return versionGML;
+ case "gmd": {
+ if ((bitMasks & MARSHALLING) == 0) break; // If unmarshalling, we don't know the version.
+ return (bitMasks & LEGACY_METADATA) == 0 ? LegacyNamespaces.VERSION_2016 : LegacyNamespaces.VERSION_2007;
+ }
+ // Future SIS versions may add more cases here.
}
- // Future SIS versions may add more cases here.
return null;
}
@@ -347,7 +371,7 @@ public final class Context extends Marsh
/**
* Returns {@code true} if the GML version is equals or newer than the specified version.
- * If no GML version were specified, then this method returns {@code true}, i.e. newest
+ * If no GML version was specified, then this method returns {@code true}, i.e. newest
* version is assumed.
*
* <div class="note"><b>API note:</b>
@@ -370,7 +394,7 @@ public final class Context extends Marsh
}
/**
- * Returns the base URL of ISO 19139 (or other standards) schemas.
+ * Returns the base URL of ISO 19115-3 (or other standards) schemas.
* The valid values are documented in the {@link org.apache.sis.xml.XML#SCHEMAS} property.
* If the returned value is not empty, then this method guarantees it ends with {@code '/'}.
*
Modified: sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -22,8 +22,9 @@ import org.apache.sis.util.Version;
/**
* Legacy XML namespaces, and {@link Version} constants for identifying when those namespaces were used.
*
- * @author Guilhem Legal (Geomatys)
- * @version 0.4
+ * @author Guilhem Legal (Geomatys)
+ * @author Cullen Rombach (Image Matters)
+ * @version 1.0
*
* @see org.apache.sis.xml.Namespaces
*
@@ -32,7 +33,14 @@ import org.apache.sis.util.Version;
*/
public final class LegacyNamespaces {
/**
- * Miscellaneous version constants.
+ * Miscellaneous version constants used for ISO standards.
+ */
+ public static final Version VERSION_2007 = new Version("2007"),
+ VERSION_2014 = new Version("2014"),
+ VERSION_2016 = new Version("2016");
+
+ /**
+ * Miscellaneous version constants used for GML versions.
*/
public static final Version VERSION_3_0 = new Version("3.0"),
VERSION_3_2 = new Version("3.2");
@@ -52,24 +60,49 @@ public final class LegacyNamespaces {
public static final String GML = "http://www.opengis.net/gml";
/**
- * A non-public (un)marshaller property for controlling usage of {@code org.apache.sis.xml.FilteredNamespaces}.
- * Values can be:
- *
- * <ul>
- * <li>{@link Boolean#FALSE} for disabling namespace replacements. XML (un)marshalling will use the namespaces URI
- * supported natively by SIS as declared in JAXB annotations. This is sometime useful for debugging purpose.</li>
- * <li>{@link Boolean#TRUE} for forcing namespace replacements at unmarshalling time. This is useful for reading a
- * XML document of unknown GML version.</li>
- * <li>{@code null} or missing for the default behavior, which is apply namespace replacements only if the
- * {@link org.apache.sis.xml.XML#GML_VERSION} property is set to an older value than the one supported
- * natively by SIS.</li>
- * </ul>
- *
- * This property can be given to {@link org.apache.sis.xml.MarshallerPool} constructor, or set directly on
- * a {@code Marshaller} or {@code Unmarshaller} instance created by {@code MarshallerPool} by invoking its
- * {@code setProperty(String, Object)} method.
+ * The <code>{@value}</code> URL, used in ISO 19139:2007.
+ * The usual prefix for this namespace is {@code "gmd"}.
+ */
+ public static final String GMD = "http://www.isotc211.org/2005/gmd";
+
+ /**
+ * The <code>{@value}</code> URL.
+ * The usual prefix for this namespace is {@code "gmi"}.
+ */
+ public static final String GMI = "http://standards.iso.org/iso/19115/-2/gmi/1.0";
+
+ /**
+ * The <code>{@value}</code> URL, used in ISO 19139:2007.
+ * The usual prefix for this namespace is {@code "gmx"}.
+ */
+ public static final String GMX = "http://www.isotc211.org/2005/gmx";
+
+ /**
+ * The <code>{@value}</code> URL, used in ISO 19139:2007.
+ * The usual prefix for this namespace is {@code "gco"}.
+ * Replaced by {@link org.apache.sis.xml.Namespaces#GCO}.
+ */
+ public static final String GCO = "http://www.isotc211.org/2005/gco";
+
+ /**
+ * The <code>{@value}</code> URL, used in ISO 19139:2007.
+ * The usual prefix for this namespace is {@code "srv"}.
+ * Replaced by {@link org.apache.sis.xml.Namespaces#SRV}.
+ */
+ public static final String SRV = "http://www.isotc211.org/2005/srv";
+
+ /**
+ * The <code>{@value}</code> URL, used in ISO 19110.
+ * The usual prefix for this namespace is {@code "gfc"}.
+ * Replaced by {@link org.apache.sis.xml.Namespaces#GFC}.
+ */
+ public static final String GFC = "http://www.isotc211.org/2005/gfc";
+
+ /**
+ * The <code>{@value}</code> URL, used in ISO 19139:2007.
+ * The usual prefix for this namespace is {@code "gts"}.
*/
- public static final String APPLY_NAMESPACE_REPLACEMENTS = "org.apache.sis.xml.applyNamespaceReplacements";
+ public static final String GTS = "http://www.isotc211.org/2005/gts";
/**
* Do not allow instantiation of this class.
Modified: sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java?rev=1825260&r1=1825259&r2=1825260&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java [UTF-8] Sat Feb 24 16:22:48 2018
@@ -41,7 +41,7 @@ import org.apache.sis.xml.IdentifierSpac
* <p>There is two kinds of non-marshalled identifiers:</p>
*
* <ul>
- * <li>The XML attributes declared by ISO 19139 specification in the {@code gco:PropertyType}
+ * <li>The XML attributes declared by ISO 19115-3 specification in the {@code gco:PropertyType}
* element: {@code gml:id}, {@code gco:uuid} and {@code xlink:href}. Those attributes are
* not part of the ISO 19115 specification. Those authorities are declared in the
* {@link IdentifierSpace} interfaces.</li>
@@ -109,7 +109,7 @@ public final class NonMarshalledAuthorit
/**
* Returns the first marshallable identifier from the given collection. This method omits
- * "special" identifiers (ISO 19139 attributes, ISBN codes...), which are recognized by
+ * "special" identifiers (ISO 19115-3 attributes, ISBN codes...), which are recognized by
* the implementation class of their authority.
*
* <p>This method is used for implementation of {@code getIdentifier()} methods (singular form)
@@ -132,9 +132,8 @@ public final class NonMarshalledAuthorit
/**
* Sets the given identifier in the given collection. This method removes all identifiers
- * that are not ISO 19139 identifiers before to adds the given one in the collection. This
- * method is used when the given collection is expected to contains only one ISO 19115
- * identifier.
+ * that are not ISO 19115-3 identifiers before to adds the given one in the collection.
+ * This method is used when the given collection is expected to contains only one ISO 19115-1 identifier.
*
* <p>This method is used for implementation of {@code setIdentifier(Identifier)} methods
* in public metadata objects.</p>