sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1597769 - in /sis/branches/JDK6: ./ core/sis-feature/src/main/java/org/apache/sis/feature/ core/sis-feature/src/test/java/org/apache/sis/feature/ core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/ core/sis-utility/src/main/java/o...
Date Tue, 27 May 2014 12:53:03 GMT
Author: desruisseaux
Date: Tue May 27 12:53:03 2014
New Revision: 1597769

URL: http://svn.apache.org/r1597769
Log:
Merge from the JDK7 branch.

Removed:
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/PropertyType.java
Modified:
    sis/branches/JDK6/   (props changed)
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java   (contents, props changed)
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultOperation.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Features.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FieldType.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/MultiValuedAttribute.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java
    sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/benchmarks.html
    sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/CustomAttribute.java
    sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
    sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java
    sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java
    sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java

Propchange: sis/branches/JDK6/
------------------------------------------------------------------------------
  Merged /sis/branches/JDK8:r1597142-1597748
  Merged /sis/branches/JDK7:r1597143-1597767

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAssociation.java [UTF-8] Tue May 27 12:53:03 2014
@@ -224,7 +224,7 @@ public abstract class AbstractAssociatio
     public String toString() {
         final String pt = role.getTitleProperty();
         final Iterator<AbstractFeature> it = getValues().iterator();
-        return role.toString("FeatureAssociation", role.getValueType().getName(), new Iterator<Object>() {
+        return FieldType.toString("FeatureAssociation", role, role.getValueType().getName(), new Iterator<Object>() {
             @Override public boolean hasNext() {
                 return it.hasNext();
             }

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java [UTF-8] Tue May 27 12:53:03 2014
@@ -25,6 +25,9 @@ import org.apache.sis.util.Debug;
 import org.apache.sis.util.Classes;
 import org.apache.sis.util.ArgumentChecks;
 
+// Branch-dependent imports
+import org.opengis.feature.AttributeType;
+
 
 /**
  * An instance of an {@linkplain DefaultAttributeType attribute type} containing the value of an attribute in a feature.
@@ -64,16 +67,16 @@ public abstract class AbstractAttribute<
     /**
      * Information about the attribute (base Java class, domain of values, <i>etc.</i>).
      */
-    final DefaultAttributeType<V> type;
+    final AttributeType<V> type;
 
     /**
      * Creates a new attribute of the given type.
      *
      * @param type Information about the attribute (base Java class, domain of values, <i>etc.</i>).
      *
-     * @see #create(DefaultAttributeType)
+     * @see #create(AttributeType)
      */
-    protected AbstractAttribute(final DefaultAttributeType<V> type) {
+    protected AbstractAttribute(final AttributeType<V> type) {
         this.type = type;
     }
 
@@ -85,7 +88,7 @@ public abstract class AbstractAttribute<
      * @param  type Information about the attribute (base Java class, domain of values, <i>etc.</i>).
      * @return The new attribute.
      */
-    public static <V> AbstractAttribute<V> create(final DefaultAttributeType<V> type) {
+    public static <V> AbstractAttribute<V> create(final AttributeType<V> type) {
         ArgumentChecks.ensureNonNull("type", type);
         return isSingleton(type.getMaximumOccurs())
                ? new SingletonAttribute<V>(type)
@@ -101,7 +104,7 @@ public abstract class AbstractAttribute<
      * @param  value The initial value (may be {@code null}).
      * @return The new attribute.
      */
-    static <V> AbstractAttribute<V> create(final DefaultAttributeType<V> type, final Object value) {
+    static <V> AbstractAttribute<V> create(final AttributeType<V> type, final Object value) {
         ArgumentChecks.ensureNonNull("type", type);
         return isSingleton(type.getMaximumOccurs())
                ? new SingletonAttribute<V>(type, value)
@@ -110,7 +113,7 @@ public abstract class AbstractAttribute<
 
     /**
      * Returns the name of this attribute as defined by its {@linkplain #getType() type}.
-     * This convenience method delegates to {@link DefaultAttributeType#getName()}.
+     * This convenience method delegates to {@link AttributeType#getName()}.
      *
      * @return The attribute name specified by its type.
      */
@@ -122,12 +125,9 @@ public abstract class AbstractAttribute<
     /**
      * Returns information about the attribute (base Java class, domain of values, <i>etc.</i>).
      *
-     * <div class="warning"><b>Warning:</b> In a future SIS version, the return type may be changed
-     * to {@code org.opengis.feature.AttributeType}. This change is pending GeoAPI revision.</div>
-     *
      * @return Information about the attribute.
      */
-    public DefaultAttributeType<V> getType() {
+    public AttributeType<V> getType() {
         return type;
     }
 
@@ -271,6 +271,6 @@ public abstract class AbstractAttribute<
     @Debug
     @Override
     public String toString() {
-        return type.toString("Attribute", Classes.getShortName(type.getValueClass()), getValues().iterator());
+        return FieldType.toString("Attribute", type, Classes.getShortName(type.getValueClass()), getValues().iterator());
     }
 }

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java [UTF-8] Tue May 27 12:53:03 2014
@@ -28,6 +28,10 @@ import org.apache.sis.util.resources.Err
 import org.apache.sis.util.CorruptedObjectException;
 import org.apache.sis.internal.util.CheckedArrayList;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+import org.opengis.feature.AttributeType;
+
 
 /**
  * An instance of a {@linkplain DefaultFeatureType feature type} containing values for a real-world phenomena.
@@ -184,8 +188,8 @@ public abstract class AbstractFeature im
     @SuppressWarnings({"unchecked","rawtypes"})
     final Property createProperty(final String name, final Object value) {
         final PropertyType pt = getPropertyType(name);
-        if (pt instanceof DefaultAttributeType<?>) {
-            return AbstractAttribute.create((DefaultAttributeType<?>) pt, value);
+        if (pt instanceof AttributeType<?>) {
+            return AbstractAttribute.create((AttributeType<?>) pt, value);
         } else if (pt instanceof DefaultAssociationRole) {
             return AbstractAssociation.create((DefaultAssociationRole) pt, value);
         } else {
@@ -204,8 +208,8 @@ public abstract class AbstractFeature im
     @SuppressWarnings({"unchecked","rawtypes"})
     final Property createProperty(final String name) throws IllegalArgumentException {
         final PropertyType pt = getPropertyType(name);
-        if (pt instanceof DefaultAttributeType<?>) {
-            return AbstractAttribute.create((DefaultAttributeType<?>) pt);
+        if (pt instanceof AttributeType<?>) {
+            return AbstractAttribute.create((AttributeType<?>) pt);
         } else if (pt instanceof DefaultAssociationRole) {
             return AbstractAssociation.create((DefaultAssociationRole) pt);
         } else {
@@ -223,8 +227,8 @@ public abstract class AbstractFeature im
      */
     final Object getDefaultValue(final String name) throws IllegalArgumentException {
         final PropertyType pt = getPropertyType(name);
-        if (pt instanceof DefaultAttributeType<?>) {
-            return getDefaultValue((DefaultAttributeType<?>) pt);
+        if (pt instanceof AttributeType<?>) {
+            return getDefaultValue((AttributeType<?>) pt);
         } else if (pt instanceof DefaultAssociationRole) {
             return null; // No default value for associations.
         } else {
@@ -235,7 +239,7 @@ public abstract class AbstractFeature im
     /**
      * Returns the default value to be returned by {@link #getPropertyValue(String)} for the given attribute type.
      */
-    private static <V> Object getDefaultValue(final DefaultAttributeType<V> attribute) {
+    private static <V> Object getDefaultValue(final AttributeType<V> attribute) {
         final V defaultValue = attribute.getDefaultValue();
         if (Field.isSingleton(attribute.getMaximumOccurs())) {
             return defaultValue;
@@ -326,7 +330,7 @@ public abstract class AbstractFeature im
     @SuppressWarnings("unchecked")
     private static <V> void setAttributeValue(final AbstractAttribute<V> attribute, final Object value) {
         if (value != null) {
-            final DefaultAttributeType<V> pt = attribute.getType();
+            final AttributeType<V> pt = attribute.getType();
             final Class<?> base = pt.getValueClass();
             if (!base.isInstance(value)) {
                 Object element = value;
@@ -421,9 +425,9 @@ public abstract class AbstractFeature im
      */
     final Object verifyPropertyValue(final String name, final Object value) {
         final PropertyType pt = getPropertyType(name);
-        if (pt instanceof DefaultAttributeType<?>) {
+        if (pt instanceof AttributeType<?>) {
             if (value != null) {
-                return verifyAttributeValue((DefaultAttributeType<?>) pt, value);
+                return verifyAttributeValue((AttributeType<?>) pt, value);
             }
         } else if (pt instanceof DefaultAssociationRole) {
             if (value != null) {
@@ -445,7 +449,7 @@ public abstract class AbstractFeature im
      *
      * @param value The value, which shall be non-null.
      */
-    private static <T> Object verifyAttributeValue(final DefaultAttributeType<T> type, final Object value) {
+    private static <T> Object verifyAttributeValue(final AttributeType<T> type, final Object value) {
         final Class<T> valueClass = type.getValueClass();
         final boolean isSingleton = Field.isSingleton(type.getMaximumOccurs());
         if (valueClass.isInstance(value)) {

Propchange: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java
------------------------------------------------------------------------------
  Merged /sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java:r1597131-1597748
  Merged /sis/branches/JDK7/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractFeature.java:r1597135-1597767

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractIdentifiedType.java [UTF-8] Tue May 27 12:53:03 2014
@@ -27,24 +27,20 @@ import org.apache.sis.util.iso.Types;
 
 import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
 
-// Related to JDK7
+// Branch-dependent imports
 import org.apache.sis.internal.jdk7.Objects;
+import org.opengis.feature.IdentifiedType;
 
 
 /**
  * Identification and description information inherited by property types and feature types.
  *
- * <div class="warning"><b>Warning:</b>
- * This class is expected to implement a GeoAPI {@code IdentifiedType} interface in a future version.
- * When such interface will be available, most references to {@code AbstractIdentifiedType} in the API
- * will be replaced by references to the {@code IdentifiedType} interface.</div>
- *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.5
  * @version 0.5
  * @module
  */
-public class AbstractIdentifiedType implements Serializable {
+public class AbstractIdentifiedType implements IdentifiedType, Serializable {
     /**
      * For cross-version compatibility.
      */
@@ -198,6 +194,7 @@ public class AbstractIdentifiedType impl
      *
      * @return The type name.
      */
+    @Override
     public GenericName getName() {
         return name;
     }
@@ -207,6 +204,7 @@ public class AbstractIdentifiedType impl
      *
      * @return Concise definition of the element.
      */
+    @Override
     public InternationalString getDefinition() {
         return definition;
     }
@@ -217,6 +215,7 @@ public class AbstractIdentifiedType impl
      *
      * @return Natural language designator for the element.
      */
+    @Override
     public InternationalString getDesignation() {
         return designation;
     }
@@ -227,6 +226,7 @@ public class AbstractIdentifiedType impl
      *
      * @return Information beyond that required for concise definition of the element, or {@code null} if none.
      */
+    @Override
     public InternationalString getDescription() {
         return description;
     }

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java [UTF-8] Tue May 27 12:53:03 2014
@@ -23,6 +23,10 @@ import org.apache.sis.util.Debug;
 
 import static org.apache.sis.util.ArgumentChecks.*;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+import org.opengis.feature.AttributeType;
+
 
 /**
  * Indicates the role played by the association between two features.
@@ -138,9 +142,9 @@ public class DefaultAssociationRole exte
         String p = titleProperty; // No synchronization - not a big deal if computed twice.
         if (p == null) {
             p = "";
-            for (final AbstractIdentifiedType type : valueType.getProperties(true)) {
-                if (type instanceof DefaultAttributeType<?>) {
-                    final DefaultAttributeType<?> pt = (DefaultAttributeType<?>) type;
+            for (final PropertyType type : valueType.getProperties(true)) {
+                if (type instanceof AttributeType<?>) {
+                    final AttributeType<?> pt = (AttributeType<?>) type;
                     if (pt.getMaximumOccurs() != 0 && CharSequence.class.isAssignableFrom(pt.getValueClass())) {
                         p = pt.getName().toString();
                         break;
@@ -212,6 +216,6 @@ public class DefaultAssociationRole exte
     @Debug
     @Override
     public String toString() {
-        return toString("FeatureAssociationRole", valueType.getName()).toString();
+        return toString("FeatureAssociationRole", this, valueType.getName()).toString();
     }
 }

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAttributeType.java [UTF-8] Tue May 27 12:53:03 2014
@@ -25,8 +25,9 @@ import org.apache.sis.internal.util.Nume
 
 import static org.apache.sis.util.ArgumentChecks.*;
 
-// Related to JDK7
+// Branch-dependent imports
 import org.apache.sis.internal.jdk7.Objects;
+import org.opengis.feature.AttributeType;
 
 
 /**
@@ -39,11 +40,6 @@ import org.apache.sis.internal.jdk7.Obje
  * Compared to the Java language, {@code AttributeType} is equivalent to {@link java.lang.reflect.Field}
  * while {@code FeatureType} is equivalent to {@link Class}.</div>
  *
- * <div class="warning"><b>Warning:</b>
- * This class is expected to implement a GeoAPI {@code AttributeType} interface in a future version.
- * When such interface will be available, most references to {@code DefaultAttributeType} in current
- * API will be replaced by references to the {@code AttributeType} interface.</div>
- *
  * {@section Value type}
  * Attributes can be used for both spatial and non-spatial properties.
  * Some examples are:
@@ -75,7 +71,7 @@ import org.apache.sis.internal.jdk7.Obje
  *
  * @see AbstractAttribute
  */
-public class DefaultAttributeType<V> extends FieldType {
+public class DefaultAttributeType<V> extends FieldType implements AttributeType<V> {
     /**
      * For cross-version compatibility.
      */
@@ -151,6 +147,7 @@ public class DefaultAttributeType<V> ext
      *
      * @return The type of attribute values.
      */
+    @Override
     public final Class<V> getValueClass() {
         return valueClass;
     }
@@ -202,6 +199,7 @@ public class DefaultAttributeType<V> ext
      *
      * @return The default value for the attribute, or {@code null} if none.
      */
+    @Override
     public V getDefaultValue() {
         return defaultValue;
     }
@@ -243,6 +241,6 @@ public class DefaultAttributeType<V> ext
     @Debug
     @Override
     public String toString() {
-        return toString("AttributeType", Classes.getShortName(valueClass)).toString();
+        return toString("AttributeType", this, Classes.getShortName(valueClass)).toString();
     }
 }

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java [UTF-8] Tue May 27 12:53:03 2014
@@ -36,6 +36,10 @@ import org.apache.sis.util.collection.Co
 import org.apache.sis.internal.util.CollectionsExt;
 import org.apache.sis.internal.util.UnmodifiableArrayList;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+import org.opengis.feature.AttributeType;
+
 
 /**
  * Abstraction of a real-world phenomena. A {@code FeatureType} instance describes the class of all
@@ -196,12 +200,6 @@ public class DefaultFeatureType extends 
      *   </tr>
      * </table>
      *
-     * <div class="warning"><b>Warning:</b> In a future SIS version, the type of array elements may be
-     * changed to {@code org.opengis.feature.FeatureType} and {@code org.opengis.feature.PropertyType}.
-     * This change is pending GeoAPI revision. In the meantime, make sure that the {@code properties}
-     * array contains only attribute types, association roles or operations, <strong>not</strong> other
-     * feature types since the later are not properties in the ISO sense.</div>
-     *
      * @param identification The name and other information to be given to this feature type.
      * @param isAbstract     If {@code true}, the feature type acts as an abstract super-type.
      * @param superTypes     The parents of this feature type, or {@code null} or empty if none.
@@ -209,7 +207,7 @@ public class DefaultFeatureType extends 
      *                       association role that carries characteristics of a feature type.
      */
     public DefaultFeatureType(final Map<String,?> identification, final boolean isAbstract,
-            final DefaultFeatureType[] superTypes, final AbstractIdentifiedType... properties)
+            final DefaultFeatureType[] superTypes, final PropertyType... properties)
     {
         super(identification);
         ArgumentChecks.ensureNonNull("properties", properties);
@@ -218,7 +216,7 @@ public class DefaultFeatureType extends 
                           CollectionsExt.<DefaultFeatureType>immutableSet(true, superTypes);
         switch (properties.length) {
             case 0:  this.properties = Collections.emptyList(); break;
-            case 1:  this.properties = Collections.singletonList((PropertyType) properties[0]); break;
+            case 1:  this.properties = Collections.singletonList(properties[0]); break;
             default: this.properties = UnmodifiableArrayList.wrap(Arrays.copyOf(properties, properties.length, PropertyType[].class)); break;
         }
         computeTransientFields();
@@ -266,9 +264,9 @@ public class DefaultFeatureType extends 
         for (final Map.Entry<String,PropertyType> entry : byName.entrySet()) {
             final int minimumOccurs, maximumOccurs;
             final PropertyType property = entry.getValue();
-            if (property instanceof DefaultAttributeType<?>) { // TODO: check for AttributeType instead (after GeoAPI upgrade).
-                minimumOccurs = ((DefaultAttributeType<?>) property).getMinimumOccurs();
-                maximumOccurs = ((DefaultAttributeType<?>) property).getMaximumOccurs();
+            if (property instanceof AttributeType<?>) {
+                minimumOccurs = ((AttributeType<?>) property).getMinimumOccurs();
+                maximumOccurs = ((AttributeType<?>) property).getMaximumOccurs();
                 isSimple &= (minimumOccurs == maximumOccurs);
             } else if (property instanceof FieldType) { // TODO: check for AssociationRole instead (after GeoAPI upgrade).
                 minimumOccurs = ((FieldType) property).getMinimumOccurs();
@@ -479,15 +477,15 @@ public class DefaultFeatureType extends 
     {
         if (base != other) {
             /*
-             * TODO: DefaultAttributeType and DefaultAssociationRole to be replaced by GeoAPI interfaces
+             * TODO: DefaultAssociationRole to be replaced by GeoAPI interfaces
              *       (pending GeoAPI review).
              */
-            if (base instanceof DefaultAttributeType<?>) {
-                if (!(other instanceof DefaultAttributeType<?>)) {
+            if (base instanceof AttributeType<?>) {
+                if (!(other instanceof AttributeType<?>)) {
                     return false;
                 }
-                final DefaultAttributeType<?> p0 = (DefaultAttributeType<?>) base;
-                final DefaultAttributeType<?> p1 = (DefaultAttributeType<?>) other;
+                final AttributeType<?> p0 = (AttributeType<?>) base;
+                final AttributeType<?> p1 = (AttributeType<?>) other;
                 if (!p0.getValueClass().isAssignableFrom(p1.getValueClass()) ||
                      p0.getMinimumOccurs() > p1.getMinimumOccurs() ||
                      p0.getMaximumOccurs() < p1.getMaximumOccurs())
@@ -535,18 +533,13 @@ public class DefaultFeatureType extends 
      * inherited from the {@link #getSuperTypes() super-types} only if {@code includeSuperTypes} is
      * {@code true}.
      *
-     * <div class="warning"><b>Warning:</b>
-     * The type of list elements will be changed to {@code PropertyType} if and when such interface
-     * will be defined in GeoAPI.</div>
-     *
      * @param  includeSuperTypes {@code true} for including the properties inherited from the super-types,
      *         or {@code false} for returning only the properties defined explicitely in this type.
      * @return Feature operation, attribute type and association role that carries characteristics of this
      *         feature type (not including parent types).
      */
-    public Collection<AbstractIdentifiedType> getProperties(final boolean includeSuperTypes) {
-        // TODO: temporary cast to be removed after we upgraded GeoAPI.
-        return (Collection) (includeSuperTypes ? allProperties : properties);
+    public Collection<PropertyType> getProperties(final boolean includeSuperTypes) {
+        return includeSuperTypes ? allProperties : properties;
     }
 
     /**

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultOperation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultOperation.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultOperation.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultOperation.java [UTF-8] Tue May 27 12:53:03 2014
@@ -24,8 +24,10 @@ import org.apache.sis.referencing.Identi
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.Debug;
 
-// Related to JDK7
+// Branch-dependent imports
 import org.apache.sis.internal.jdk7.Objects;
+import org.opengis.feature.PropertyType;
+import org.opengis.feature.AttributeType;
 
 
 /**
@@ -48,7 +50,7 @@ import org.apache.sis.internal.jdk7.Obje
  * @version 0.5
  * @module
  */
-public class DefaultOperation extends PropertyType {
+public class DefaultOperation extends AbstractIdentifiedType implements PropertyType {
     /**
      * For cross-version compatibility.
      */
@@ -62,7 +64,7 @@ public class DefaultOperation extends Pr
     /**
      * The type of the result, or {@code null} if none.
      */
-    private final DefaultAttributeType<?> result;
+    private final AttributeType<?> result;
 
     /**
      * Constructs an operation from the given properties. The identification map is given unchanged to
@@ -73,7 +75,7 @@ public class DefaultOperation extends Pr
      * @param result         The type of the result, or {@code null} if none.
      */
     public DefaultOperation(final Map<String,?> identification,
-            final ParameterDescriptorGroup parameters, final DefaultAttributeType<?> result)
+            final ParameterDescriptorGroup parameters, final AttributeType<?> result)
     {
         super(identification);
         ArgumentChecks.ensureNonNull("parameters", parameters);
@@ -95,7 +97,7 @@ public class DefaultOperation extends Pr
      *
      * @return The type of the result, or {@code null} if none.
      */
-    public DefaultAttributeType<?> getResult() {
+    public AttributeType<?> getResult() {
         return result;
     }
 

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java [UTF-8] Tue May 27 12:53:03 2014
@@ -32,6 +32,10 @@ import org.apache.sis.util.ArgumentCheck
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.resources.Vocabulary;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+import org.opengis.feature.AttributeType;
+
 
 /**
  * Formats {@link AbstractFeature features} or {@linkplain DefaultFeatureType feature types} in a tabular format.
@@ -168,7 +172,7 @@ header: for (int i=0; ; i++) {
          * Done writing the header. Now write all property rows.
          * Rows without value will be skipped only if optional.
          */
-        for (final AbstractIdentifiedType propertyType : featureType.getProperties(true)) {
+        for (final PropertyType propertyType : featureType.getProperties(true)) {
             Object value;
             if (feature != null) {
                 value = feature.getPropertyValue(propertyType.getName().toString());
@@ -177,8 +181,8 @@ header: for (int i=0; ; i++) {
                         continue; // If no value, skip the full row.
                     }
                 }
-            } else if (propertyType instanceof DefaultAttributeType<?>) {
-                value = ((DefaultAttributeType<?>) propertyType).getDefaultValue();
+            } else if (propertyType instanceof AttributeType<?>) {
+                value = ((AttributeType<?>) propertyType).getDefaultValue();
             } else {
                 value = null;
             }
@@ -193,8 +197,8 @@ header: for (int i=0; ; i++) {
             final String   valueType;
             final Class<?> valueClass;
             final int minimumOccurs, maximumOccurs;
-            if (propertyType instanceof DefaultAttributeType<?>) {
-                final DefaultAttributeType<?> pt = (DefaultAttributeType<?>) propertyType;
+            if (propertyType instanceof AttributeType<?>) {
+                final AttributeType<?> pt = (AttributeType<?>) propertyType;
                 minimumOccurs = pt.getMinimumOccurs();
                 maximumOccurs = pt.getMaximumOccurs();
                 valueClass    = pt.getValueClass();
@@ -207,7 +211,7 @@ header: for (int i=0; ; i++) {
                 valueType     = toString(pt.getValueType().getName());
                 valueClass    = AbstractFeature.class;
             } else if (propertyType instanceof DefaultOperation) {
-                final DefaultAttributeType<?> resultType = ((DefaultOperation) propertyType).getResult();
+                final AttributeType<?> resultType = ((DefaultOperation) propertyType).getResult();
                 valueType   = toString(resultType.getName());
                 valueClass  = null;
                 minimumOccurs = -1;

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Features.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Features.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Features.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Features.java [UTF-8] Tue May 27 12:53:03 2014
@@ -19,6 +19,9 @@ package org.apache.sis.feature;
 import org.apache.sis.util.Static;
 import org.apache.sis.util.resources.Errors;
 
+// Branch-dependent imports
+import org.opengis.feature.AttributeType;
+
 
 /**
  * Static methods working on features.
@@ -49,7 +52,7 @@ public final class Features extends Stat
      * @category verification
      */
     @SuppressWarnings("unchecked")
-    public static <V> DefaultAttributeType<V> cast(final DefaultAttributeType<?> type, final Class<V> valueClass)
+    public static <V> AttributeType<V> cast(final AttributeType<?> type, final Class<V> valueClass)
             throws ClassCastException
     {
         if (type != null) {
@@ -61,7 +64,7 @@ public final class Features extends Stat
                         type.getName(), valueClass, actual));
             }
         }
-        return (DefaultAttributeType<V>) type;
+        return (AttributeType<V>) type;
     }
 
     /**

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FieldType.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FieldType.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FieldType.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/FieldType.java [UTF-8] Tue May 27 12:53:03 2014
@@ -21,6 +21,9 @@ import java.util.Iterator;
 import org.opengis.util.GenericName;
 import org.apache.sis.util.resources.Errors;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+
 
 /**
  * Base class of property types having a value and a cardinality.
@@ -36,7 +39,7 @@ import org.apache.sis.util.resources.Err
  * @version 0.5
  * @module
  */
-abstract class FieldType extends PropertyType {
+abstract class FieldType extends AbstractIdentifiedType implements PropertyType {
     /**
      * For cross-version compatibility.
      */
@@ -124,12 +127,16 @@ abstract class FieldType extends Propert
      * Example:
      *
      * {@preformat text
-     *     FooType[“name” : ValueClass]
+     *     PropertyType[“name” : ValueClass]
      * }
-     */
-    final StringBuilder toString(final String typeName, final Object valueName) {
-        final StringBuilder buffer = new StringBuilder(40).append(typeName).append('[');
-        final GenericName name = getName();
+     *
+     * @param className The interface name of the object on which {@code toString()} is invoked.
+     * @param type      The property type, sometime {@code this} or sometime an other object.
+     * @param valueType The name of value class (attribute), or the feature type name (association).
+     */
+    static StringBuilder toString(final String className, final PropertyType type, final Object valueType) {
+        final StringBuilder buffer = new StringBuilder(40).append(className).append('[');
+        final GenericName name = type.getName();
         if (name != null) {
             buffer.append('“');
         }
@@ -137,7 +144,7 @@ abstract class FieldType extends Propert
         if (name != null) {
             buffer.append("” : ");
         }
-        return buffer.append(valueName).append(']');
+        return buffer.append(valueType).append(']');
     }
 
     /**
@@ -145,11 +152,16 @@ abstract class FieldType extends Propert
      * Example:
      *
      * {@preformat text
-     *     FooType[“name” : ValueClass] = {value1, value2, ...}
+     *     Property[“name” : ValueClass] = {value1, value2, ...}
      * }
+     *
+     * @param className The interface name of the object on which {@code toString()} is invoked.
+     * @param type      The property type associated to the object to format.
+     * @param valueType The name of value class (attribute), or the feature type name (association).
+     * @param values    The actual values.
      */
-    final String toString(final String typeName, final Object valueName, final Iterator<?> values) {
-        final StringBuilder buffer = toString(typeName, valueName);
+    static String toString(final String className, final PropertyType type, final Object valueType, final Iterator<?> values) {
+        final StringBuilder buffer = toString(className, type, valueType);
         if (values.hasNext()) {
             final Object value = values.next();
             final boolean isMultiValued = values.hasNext();

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/MultiValuedAttribute.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/MultiValuedAttribute.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/MultiValuedAttribute.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/MultiValuedAttribute.java [UTF-8] Tue May 27 12:53:03 2014
@@ -21,6 +21,9 @@ import org.apache.sis.internal.util.Chec
 import org.apache.sis.util.ArgumentChecks;
 import org.apache.sis.util.resources.Errors;
 
+// Branch-dependent imports
+import org.opengis.feature.AttributeType;
+
 
 /**
  * An instance of an {@linkplain DefaultAttributeType attribute type} containing an arbitrary amount of values.
@@ -64,7 +67,7 @@ final class MultiValuedAttribute<V> exte
      *
      * @param type Information about the attribute (base Java class, domain of values, <i>etc.</i>).
      */
-    public MultiValuedAttribute(final DefaultAttributeType<V> type) {
+    public MultiValuedAttribute(final AttributeType<V> type) {
         super(type);
         values = new CheckedArrayList<V>(type.getValueClass());
         final V value = type.getDefaultValue();
@@ -81,7 +84,7 @@ final class MultiValuedAttribute<V> exte
      * @param values The initial values, or {@code null} for initializing to an empty list.
      */
     @SuppressWarnings("unchecked")
-    MultiValuedAttribute(final DefaultAttributeType<V> type, final Object values) {
+    MultiValuedAttribute(final AttributeType<V> type, final Object values) {
         super(type);
         final Class<V> valueClass = type.getValueClass();
         if (values == null) {

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/SingletonAttribute.java [UTF-8] Tue May 27 12:53:03 2014
@@ -16,8 +16,9 @@
  */
 package org.apache.sis.feature;
 
-// Related to JDK7
+// Branch-dependent imports
 import org.apache.sis.internal.jdk7.Objects;
+import org.opengis.feature.AttributeType;
 
 
 /**
@@ -59,7 +60,7 @@ final class SingletonAttribute<V> extend
      *
      * @param type Information about the attribute (base Java class, domain of values, <i>etc.</i>).
      */
-    public SingletonAttribute(final DefaultAttributeType<V> type) {
+    public SingletonAttribute(final AttributeType<V> type) {
         super(type);
         assert isSingleton(type.getMaximumOccurs());
         value = type.getDefaultValue();
@@ -72,7 +73,7 @@ final class SingletonAttribute<V> extend
      * @param type  Information about the attribute (base Java class, domain of values, <i>etc.</i>).
      * @param value The initial value (may be {@code null}).
      */
-    SingletonAttribute(final DefaultAttributeType<V> type, final Object value) {
+    SingletonAttribute(final AttributeType<V> type, final Object value) {
         super(type);
         assert isSingleton(type.getMaximumOccurs());
         this.value = type.getValueClass().cast(value);

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/Validator.java [UTF-8] Tue May 27 12:53:03 2014
@@ -31,6 +31,10 @@ import org.apache.sis.metadata.iso.quali
 import org.apache.sis.referencing.NamedIdentifier;
 import org.apache.sis.util.resources.Errors;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+import org.opengis.feature.AttributeType;
+
 
 /**
  * Provides validation methods to be shared by different implementations.
@@ -77,7 +81,7 @@ final class Validator {
      * @return The {@code report}, or a new report if {@code report} was null.
      */
     private AbstractElement addViolationReport(AbstractElement report,
-            final AbstractIdentifiedType type, final InternationalString explanation)
+            final PropertyType type, final InternationalString explanation)
     {
         if (report == null) {
             final GenericName name = type.getName();
@@ -107,9 +111,9 @@ final class Validator {
      * This method delegates to one of the {@code validate(…)} methods depending of the value type.
      */
     void validateAny(final PropertyType type, final Object value) {
-        if (type instanceof DefaultAttributeType<?>) {
-            validate((DefaultAttributeType<?>) type, asList(value,
-                    ((DefaultAttributeType<?>) type).getMaximumOccurs()));
+        if (type instanceof AttributeType<?>) {
+            validate((AttributeType<?>) type, asList(value,
+                    ((AttributeType<?>) type).getMaximumOccurs()));
         }
         if (type instanceof DefaultAssociationRole) {
             validate((DefaultAssociationRole) type, asList(value,
@@ -120,7 +124,7 @@ final class Validator {
     /**
      * Verifies if the given values are valid for the given attribute type.
      */
-    void validate(final DefaultAttributeType<?> type, final Collection<?> values) {
+    void validate(final AttributeType<?> type, final Collection<?> values) {
         AbstractElement report = null;
         for (final Object value : values) {
             /*
@@ -158,7 +162,7 @@ final class Validator {
      *
      * @param report Where to add the result, or {@code null} if not yet created.
      */
-    private void verifyCardinality(final AbstractElement report, final AbstractIdentifiedType type,
+    private void verifyCardinality(final AbstractElement report, final PropertyType type,
             final int minimumOccurs, final int maximumOccurs, final int count)
     {
         if (count < minimumOccurs) {

Modified: sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/benchmarks.html
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/benchmarks.html?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/benchmarks.html [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/main/java/org/apache/sis/feature/benchmarks.html [UTF-8] Tue May 27 12:53:03 2014
@@ -11,7 +11,7 @@
     Consider a ShapeFile or a database table with millions of records.
     Each record is represented by one <code>Feature</code> instance.
     Sophisticated <code>DataStore</code> implementations will create and discard <code>Feature</code>
-    instances on the fly, but not all <code>DataStore</code> can do that.
+    instances on the fly, but not all <code>DataStore</code> do that.
     As a safety, Apache SIS tries to implement <code>Feature</code> in a way that allow applications
     to scale higher before to die with an <code>OutOfMemoryError</code>.</p>
 
@@ -20,7 +20,9 @@
     final Map&lt;String,Object&gt; attributes = new HashMap&lt;&gt;(8);
 }</pre></blockquote>
 
-    <p>The above <code>SimpleFeature</code> does not supports multi-valued properties and meta-information about the properties.
+    <p>The above <code>SimpleFeature</code> does not supports explicitely multi-valued properties and metadata
+    about the properties (admittedly multi-values could be stored as <code>java.util.Collection</code>,
+    but this approach has implications on the way we ensure type safety).
     A more complete but still straightforward implementation could be:</p>
     <blockquote><pre>class ComplexFeature {
     final Map&lt;String,Property&gt; properties = new HashMap&lt;&gt;(8);
@@ -31,8 +33,9 @@ class Property {
 
 
     <p>A more sophisticated implementation would take advantage of our knowledge that all records in a table have the
-    same attribute names. Apache SIS uses this knowledge, together with lazy instantiations of <code>Property</code>.
-    The above simple implementation has been compared with the Apache SIS one in a micro-benchmark consisting for the
+    same attribute names, and that the vast majority of attributes are singleton.
+    Apache SIS uses this knowledge, together with lazy instantiations of <code>Property</code>.
+    The above simple implementation has been compared with the Apache SIS one in a micro-benchmark consisting of the
     following steps:</p>
 
     <ol>
@@ -57,7 +60,7 @@ class Property {
     </ol>
 
     <h2>Results and discussion</h2>
-    The benchmarks have been executed about 8 times for each implementations
+    The benchmarks have been executed about 8 times for each implementation
     (<cite>simple</cite> and <cite>complex</cite> versus <cite>SIS</cite>).
     Results of the simple feature implementation were very stable.
     But results of the SIS implementation randomly fall in two modes, one twice faster than the other
@@ -101,11 +104,11 @@ class Property {
     implementation before the application get an <code>OutOfMemoryError</code>.
     We presume that this is caused by the <code>Map.Entry</code> instances that <code>HashMap</code> must
     create internally for each attribute.
-    Compared to <code>ComplexFeature</code>, SIS allows 3.3 times more instances while functionally equivalent.</p>
+    Compared to <code>ComplexFeature</code>, SIS allows 3.3 times more instances while being functionally equivalent.</p>
 
     <p>The speed comparisons are subject to more cautions, in part because each run has created a different amount
     of instances before the test stopped. So even the slowest SIS case would be almost twice faster than
-    <cite>SimpleFeature</cite> because it created two times more instances in an equivalent amount of time.
+    <code>SimpleFeature</code> because it created two times more instances in an equivalent amount of time.
     However this may be highly dependent on garbage collector activities (it has not been verified).</p>
   </body>
 </html>

Modified: sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/CustomAttribute.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/CustomAttribute.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/CustomAttribute.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/CustomAttribute.java [UTF-8] Tue May 27 12:53:03 2014
@@ -25,6 +25,9 @@ import org.apache.sis.referencing.NamedI
 
 import static org.junit.Assert.*;
 
+// Branch-dependent imports
+import org.opengis.feature.AttributeType;
+
 
 /**
  * For testing {@link AbstractAttribute} customization.
@@ -50,7 +53,7 @@ final strictfp class CustomAttribute<V> 
     /**
      * Creates a new attribute.
      */
-    public CustomAttribute(final DefaultAttributeType<V> type) {
+    public CustomAttribute(final AttributeType<V> type) {
         super(type);
         value = type.getDefaultValue();
     }

Modified: sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java [UTF-8] Tue May 27 12:53:03 2014
@@ -30,6 +30,9 @@ import static org.apache.sis.test.Assert
 import static java.util.Collections.singletonMap;
 import static org.apache.sis.test.TestUtilities.getSingleton;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+
 
 /**
  * Tests {@link DefaultFeatureType}.
@@ -192,7 +195,7 @@ public final strictfp class DefaultFeatu
             final String... expected)
     {
         int index = 0;
-        for (final AbstractIdentifiedType property : feature.getProperties(includeSuperTypes)) {
+        for (final PropertyType property : feature.getProperties(includeSuperTypes)) {
             assertTrue("Found more properties than expected.", index < expected.length);
             final String name = expected[index++];
             assertNotNull(name, property);
@@ -258,8 +261,8 @@ public final strictfp class DefaultFeatu
                 false, null, city, population, festival);
 
         assertUnmodifiable(complex);
-        final Collection<AbstractIdentifiedType> properties = complex.getProperties(false);
-        final Iterator<AbstractIdentifiedType> it = properties.iterator();
+        final Collection<PropertyType> properties = complex.getProperties(false);
+        final Iterator<PropertyType> it = properties.iterator();
 
         assertEquals("name",            "Festival",                     complex.getName().toString());
         assertTrue  ("superTypes",                                      complex.getSuperTypes().isEmpty());

Modified: sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java [UTF-8] Tue May 27 12:53:03 2014
@@ -23,6 +23,9 @@ import org.junit.Test;
 import static java.util.Collections.singletonMap;
 import static org.apache.sis.test.Assert.*;
 
+// Branch-dependent imports
+import org.opengis.feature.PropertyType;
+
 
 /**
  * Tests {@link SingletonAssociation}.

Modified: sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/AllMetadataTest.java [UTF-8] Tue May 27 12:53:03 2014
@@ -152,7 +152,7 @@ public final strictfp class AllMetadataT
             org.opengis.metadata.maintenance.MaintenanceFrequency.class,
             org.opengis.metadata.maintenance.MaintenanceInformation.class,
             org.opengis.metadata.maintenance.ScopeCode.class,
-            org.opengis.metadata.maintenance.ScopeDescription.class,
+//          org.opengis.metadata.maintenance.ScopeDescription.class,  // Excluded because of deprecated FeatureType.
             org.opengis.metadata.quality.AbsoluteExternalPositionalAccuracy.class,
             org.opengis.metadata.quality.AccuracyOfATimeMeasurement.class,
             org.opengis.metadata.quality.Completeness.class,
@@ -201,7 +201,7 @@ public final strictfp class AllMetadataT
     }
 
     /**
-     * Performs the test documente in the {@link MetadataTestCase} javadoc.
+     * Performs the test documented in the {@link MetadataTestCase} javadoc.
      */
     @Test
     @Override

Modified: sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java?rev=1597769&r1=1597768&r2=1597769&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/measure/NumberRange.java [UTF-8] Tue May 27 12:53:03 2014
@@ -73,9 +73,8 @@ import org.apache.sis.util.collection.We
  *
  * <p>All {@code create} static methods may return a shared instance. Those methods are preferred
  * to the constructors when the range is expected to have a long lifetime, typically as instance
- * given to {@linkplain org.apache.sis.parameter.DefaultParameterDescriptor parameter descriptor}
- * or {@linkplain org.apache.sis.feature.DefaultAttributeType attribute type} constructor. Other
- * methods do not check for shared instances, since the created object is often temporary.</p>
+ * given to {@linkplain org.apache.sis.parameter.DefaultParameterDescriptor parameter descriptor}.
+ * Other methods do not check for shared instances, since the created object is often temporary.</p>
  *
  * @param <E> The type of range elements as a subclass of {@link Number}.
  *



Mime
View raw message