svn commit: r1824296 - in /sis/branches/ISO-19115-3/core: sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/ sis-utility/src/main/java/org/apache/sis/xml/
Author: desruisseaux Date: Thu Feb 15 11:17:57 2018 New Revision: 1824296 URL: http://svn.apache.org/viewvc?rev=1824296&view=rev Log: Bug fix in the tracking of QNames in 'FilteredReader.outerElements' (was using wrong namespace). Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredEvent.java sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredReader.java Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java?rev=1824296&r1=1824295&r2=1824296&view=diff == --- sis/branches/ISO-19115-3/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java [UTF-8] (original) +++ sis/branches/ISO-19115-3/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java [UTF-8] Thu Feb 15 11:17:57 2018 @@ -278,7 +278,7 @@ public final strictfp class DefaultCitat final CitationDate date = getSingleton(c.getDates()); assertEquals("date", date.getDate(), TestUtilities.date("2015-10-17 00:00:00")); -assertEquals("dateType", date.getDateType(), DateType.ADOPTED); +assertEquals("dateType", DateType.ADOPTED, date.getDateType()); assertEquals("presentationForm", PresentationForm.PHYSICAL_OBJECT, getSingleton(c.getPresentationForms())); final Iterator it = c.getCitedResponsibleParties().iterator(); Modified: sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredEvent.java URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredEvent.java?rev=1824296&r1=1824295&r2=1824296&view=diff == --- sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredEvent.java [UTF-8] (original) +++ sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredEvent.java [UTF-8] Thu Feb 15 11:17:57 2018 @@ -287,7 +287,6 @@ abstract class FilteredEvent'); Modified: sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredReader.java URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredReader.java?rev=1824296&r1=1824295&r2=1824296&view=diff == --- sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredReader.java [UTF-8] (original) +++ sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/xml/FilteredReader.java [UTF-8] Thu Feb 15 11:17:57 2018 @@ -233,6 +233,14 @@ final class FilteredReader extends Filte private final Map prefixes; /** + * The next event to return after a call to {@link #peek()}. This is used for avoiding to recompute + * the same object many times when {@link #peek()} is invoked before a call to {@link #nextEvent()}. + * This is also required for avoiding to duplicate additions and removals of elements in the + * {@link #outerElements} list. + */ +private XMLEvent nextEvent; + +/** * Creates a new filter for the given version of the standards. */ FilteredReader(final XMLEventReader in, final FilterVersion version) { @@ -243,19 +251,33 @@ final class FilteredReader extends Filte } /** + * Returns {@code true} if the given {@code wrapper} is a wrapper for the given {@code event}. + * This method is used for assertions only. + */ +private static boolean isWrapper(final XMLEvent event, final XMLEvent wrapper) { +return (event == wrapper) || (wrapper instanceof FilteredEvent && ((FilteredEvent) wrapper).event == event); +} + +/** * Checks if there are more events. */ @Override public boolean hasNext() { -return in.hasNext(); +return (nextEvent != null) || in.hasNext(); } /** - * Check the next XMLEvent without reading it from the stream. + * Checks the next {@code XMLEvent} without removing it from the stream. */ @Override public XMLEvent peek() throws XMLStreamException { -return convert(in.peek(), false); +if (nextEvent == null) { +final XMLEvent event = in.peek(); +if (event != null) { +nextEvent = convert(event); +} +} +return nextEvent; } /** @@ -263,7 +285,14 @@ final class FilteredReader extends Filte
svn commit: r1824334 - in /sis/branches/ISO-19115-3/core: sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ sis-metadata/src/main/java/org/apache/sis/metadata/iso/identificatio
Author: desruisseaux Date: Thu Feb 15 17:28:51 2018 New Revision: 1824334 URL: http://svn.apache.org/viewvc?rev=1824334&view=rev Log: Fix unmarshalling of ServiceIdentification. Marshalling still needs to be fixed. Removed: sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_MemberName.java sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_ScopedName.java Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/package-info.java sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultCoupledResource.java sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/package-info.java sis/branches/ISO-19115-3/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultServiceIdentificationTest.java sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/GO_GenericName.java sis/branches/ISO-19115-3/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/NameAdapter.java sis/branches/ISO-19115-3/core/sis-utility/src/main/resources/org/apache/sis/xml/NamespaceContent.txt Modified: sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java URL: http://svn.apache.org/viewvc/sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java?rev=1824334&r1=1824333&r2=1824334&view=diff == --- sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java [UTF-8] (original) +++ sis/branches/ISO-19115-3/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java [UTF-8] Thu Feb 15 17:28:51 2018 @@ -21,6 +21,7 @@ import java.util.Objects; 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 javax.measure.Unit; import org.opengis.util.TypeName; import org.opengis.util.MemberName; @@ -33,11 +34,14 @@ import org.opengis.parameter.ParameterDe import org.apache.sis.internal.simple.SimpleIdentifiedObject; import org.apache.sis.internal.jaxb.FilterByVersion; import org.apache.sis.internal.jaxb.LegacyNamespaces; +import org.apache.sis.internal.jaxb.gco.GO_GenericName; import org.apache.sis.internal.metadata.ReferencingServices; import org.apache.sis.internal.metadata.NameToIdentifier; -import org.apache.sis.util.ComparisonMode; +import org.apache.sis.util.iso.DefaultMemberName; import org.apache.sis.util.iso.Names; import org.apache.sis.xml.Namespaces; +import org.apache.sis.util.ComparisonMode; +import org.apache.sis.util.resources.Errors; import static org.apache.sis.util.Utilities.deepEquals; import static org.apache.sis.internal.util.CollectionsExt.nonNull; @@ -68,7 +72,8 @@ import static org.apache.sis.internal.ut */ @SuppressWarnings("rawtypes") // For the omission of in ParameterDescriptor - see javadoc. @XmlType(name = "SV_Parameter_Type", namespace = Namespaces.SRV, propOrder = { -"memberName", +"memberName", // The ISO 19115-3:2016 way to marshal name. +"legacyName", // Legacy ISO 19139:2007 way to marshal name. "direction", "description", "optionality", @@ -87,11 +92,23 @@ public final class ServiceParameter exte * The name, as used by the service for this parameter. Note that in ISO 19115-3:2016, this element is * inside a {@code } element (i.e. ISO inserts the same kind of {@code Property_Type} * element as it does for all other attributes) while in ISO 19139:2007 it was not (i.e. name attributes - * like {@code } were marshalled directly, without wrapper). + * like {@code } were marshalled directly, without wrapper). Example: + * + * {@preformat xml + * + * + * + * A parameter name + * + * + * + * } * + * @see #getLegacyName() * @see #getValueType() */ @XmlElement(required=true, name="name") +@XmlJavaTypeAdapter(GO_GenericName.Since2014.class) MemberName memberName; /** @@ -199,6 +216,48 @@ public final class ServiceParameter exte } /** + * Returns the name to be marshalled in the ISO 19139:2007 way. Example: + * + * {@preformat xml + * + * + * A parameter name + * + * + * } + * + * @return th