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/

2018-02-15 Thread desruisseaux
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

2018-02-15 Thread desruisseaux
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