sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1760276 - in /sis/branches/JDK8: core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/ storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ storage/sis-storage/src/main/java/org/apache/sis/internal/storage...
Date Sun, 11 Sep 2016 18:58:52 GMT
Author: desruisseaux
Date: Sun Sep 11 18:58:52 2016
New Revision: 1760276

URL: http://svn.apache.org/viewvc?rev=1760276&view=rev
Log:
Tune the CSV metadata and add a StoreProvider for CSV format.

Added:
    sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
  (with props)
    sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java
  (with props)
Modified:
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
    sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
    sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/StoreTypeDetector.java
    sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
    sis/branches/JDK8/storage/sis-storage/src/main/resources/META-INF/services/org.apache.sis.storage.DataStoreProvider
    sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java
    sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java

Modified: sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/distribution/DefaultFormat.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -119,10 +119,10 @@ public class DefaultFormat extends ISOMe
      *   <tr><td>PNG</td>     <td>PNG (Portable Network Graphics)
Specification</td></tr>
      * </table>
      *
-     * @param  name     the name of the data transfer format(s), or {@code null}.
+     * @param  name     the abbreviated name of the data transfer format, or {@code null}.
      * @param  version  the version of the format (date, number, <i>etc.</i>),
or {@code null}.
      */
-    public DefaultFormat(final CharSequence name, final CharSequence version) {
+    public DefaultFormat(CharSequence name, final CharSequence version) {
         if (name != null || version != null) {
             final DefaultCitation citation = new DefaultCitation();
             if (name != null) {
@@ -140,6 +140,9 @@ public class DefaultFormat extends ISOMe
                     title = "PNG (Portable Network Graphics) Specification";
                 } else if (keyword.equalsIgnoreCase("CSV")) {
                     title = "Common Format and MIME Type for Comma-Separated Values (CSV)
Files";
+                } else if (keyword.equalsIgnoreCase("CSV/MF")) {    // Not yet documented
format.
+                    title = "OGC Moving Features Encoding Extension: Simple Comma-Separated
Values (CSV)";
+                    name  = "CSV";
                 }
                 citation.setTitle(Types.toInternationalString(title));
                 citation.setAlternateTitles(Collections.singleton(Types.toInternationalString(name)));

Modified: sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
[UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -177,7 +177,7 @@ public class MetadataBuilder {
     /**
      * Information about content type for groups of attributes for a specific range dimension,
or {@code null} if none.
      */
-    private DefaultAttributeGroup attributGroup;
+    private DefaultAttributeGroup attributeGroup;
 
     /**
      * The characteristic of each dimension (layer) included in the resource, or {@code null}
if none.
@@ -333,9 +333,9 @@ public class MetadataBuilder {
             attributGroup().getAttributes().add(sampleDimension);
             sampleDimension = null;
         }
-        if (attributGroup != null) {
-            coverageDescription().getAttributeGroups().add(attributGroup);
-            attributGroup = null;
+        if (attributeGroup != null) {
+            coverageDescription().getAttributeGroups().add(attributeGroup);
+            attributeGroup = null;
         }
         if (coverageDescription != null) {
             metadata().getContentInfo().add(coverageDescription);
@@ -524,10 +524,10 @@ public class MetadataBuilder {
      * @return the attribut group (never {@code null}).
      */
     private DefaultAttributeGroup attributGroup() {
-        if (attributGroup == null) {
-            attributGroup = new DefaultAttributeGroup();
+        if (attributeGroup == null) {
+            attributeGroup = new DefaultAttributeGroup();
         }
-        return attributGroup;
+        return attributeGroup;
     }
 
     /**
@@ -544,12 +544,15 @@ public class MetadataBuilder {
 
     /**
      * Creates the feature descriptions object if it does not already exists, then returns
it.
+     * This method sets the {@code includedWithDataset} property to {@code true} because
the
+     * metadata built by this helper class are typically encoded together with the data.
      *
      * @return the feature descriptions (never {@code null}).
      */
     private DefaultFeatureCatalogueDescription featureDescription() {
         if (featureDescription == null) {
             featureDescription = new DefaultFeatureCatalogueDescription();
+            featureDescription.setIncludedWithDataset(true);
         }
         return featureDescription;
     }

Modified: sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/StoreTypeDetector.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/StoreTypeDetector.java?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/StoreTypeDetector.java
[UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/StoreTypeDetector.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -43,8 +43,8 @@ public class StoreTypeDetector extends F
     /**
      * Probes the given file by delegating to {@link DataStores#probeContentType(Object)}.
      *
-     * @param  path the path to the file to probe.
-     * @return The content type or {@code null} if the file type is not recognized.
+     * @param  path  the path to the file to probe.
+     * @return the content type or {@code null} if the file type is not recognized.
      * @throws IOException if an I/O error occurs while reading the file.
      *
      * @see java.nio.file.Files#probeContentType(Path)

Modified: sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
[UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -93,7 +93,7 @@ public final class Store extends DataSto
     /**
      * The character at the beginning of metadata lines.
      */
-    private static final char METADATA = '@';
+    static final char METADATA = '@';
 
     /**
      * The quote character. Quotes inside quoted texts must be doubled.
@@ -103,7 +103,7 @@ public final class Store extends DataSto
     /**
      * The column separator.
      */
-    private static final char SEPARATOR = ',';
+    static final char SEPARATOR = ',';
 
     /**
      * The separator between ordinate values in a coordinate.
@@ -164,7 +164,7 @@ public final class Store extends DataSto
      *
      * @see #parseFoliation(List)
      */
-    private final Foliation foliation;
+    final Foliation foliation;
 
     /**
      * Specifies how time is encoded in the CSV file, or {@code null} if there is no time.
@@ -441,7 +441,12 @@ public final class Store extends DataSto
             }
             properties.add(createProperty(name, type, minOccurrence));
         }
-        return new DefaultFeatureType(Collections.singletonMap(DefaultFeatureType.NAME_KEY,
filename),
+        String name = filename;
+        final int s = name.lastIndexOf('.');
+        if (s > 0) {                            // Exclude 0 because shall not be the
first character.
+            name = name.substring(0, s);
+        }
+        return new DefaultFeatureType(Collections.singletonMap(DefaultFeatureType.NAME_KEY,
name),
                 false, null, properties.toArray(new PropertyType[properties.size()]));
     }
 
@@ -482,7 +487,7 @@ public final class Store extends DataSto
         if (metadata == null) {
             final MetadataBuilder builder = new MetadataBuilder();
             builder.add(encoding);
-            builder.addFormat("CSV");
+            builder.addFormat(timeEncoding != null && hasTrajectories ? "CSV/MF"
: "CSV");
             builder.add(ScopeCode.DATASET);
             try {
                 builder.addExtent(envelope);
@@ -589,6 +594,11 @@ public final class Store extends DataSto
         /**
          * Executes the given action for the next feature or for all remaining features.
          *
+         * <p><b>Multi-threading:</b>
+         * There is no need for {@code synchronize(Store.this)} statement since this method
uses only final and
+         * either immutable or thread-safe objects from {@link Store}. The only object that
need synchronization
+         * is {@link Store#source}, which is already synchronized.</p>
+         *
          * @param  action  the action to execute.
          * @param  all     {@code true} for executing the given action on all remaining features.
          * @return {@code false} if there is no remaining feature after this method call.
@@ -625,23 +635,19 @@ public final class Store extends DataSto
         @Override
         public boolean tryAdvance(final Consumer<? super Feature> action) {
             try {
-                synchronized (Store.this) {
-                    return read(action, false);
-                }
+                return read(action, false);
             } catch (IOException | IllegalArgumentException | DateTimeException e) {
                 throw new BackingStoreException(canNotParse(), e);
             }
         }
 
         /**
-         * Executes the given action only on all remaining features.
+         * Executes the given action on all remaining features.
          */
         @Override
         public void forEachRemaining(final Consumer<? super Feature> action) {
             try {
-                synchronized (Store.this) {
-                    read(action, true);
-                }
+                read(action, true);
             } catch (IOException | IllegalArgumentException | DateTimeException e) {
                 throw new BackingStoreException(canNotParse(), e);
             }

Added: sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java?rev=1760276&view=auto
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
(added)
+++ sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.storage.csv;
+
+import org.apache.sis.storage.DataStore;
+import org.apache.sis.storage.DataStoreException;
+import org.apache.sis.storage.DataStoreProvider;
+import org.apache.sis.storage.ProbeResult;
+import org.apache.sis.storage.StorageConnector;
+import org.apache.sis.internal.storage.wkt.FirstKeywordPeek;
+
+
+/**
+ * The provider of {@link Store} instances. Given a {@link StorageConnector} input,
+ * this class tries to instantiate a CSV {@code Store}.
+ *
+ * <div class="section">Thread safety</div>
+ * The same {@code StoreProvider} instance can be safely used by many threads without synchronization
on
+ * the part of the caller. However the {@link Store} instances created by this factory are
not thread-safe.
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ * @since   0.8
+ * @version 0.8
+ * @module
+ */
+public class StoreProvider extends DataStoreProvider {
+    /**
+     * The object to use for verifying if the first keyword is the expected one.
+     */
+    private static final class Peek extends FirstKeywordPeek {
+        /**
+         * The unique instance.
+         */
+        static final Peek INSTANCE = new Peek();
+
+        /**
+         * The expected keyword after spaces removal.
+         */
+        private static final String KEYWORD = "@stboundedby";
+
+        /**
+         * Creates a new instance.
+         */
+        private Peek() {
+            super(KEYWORD.length());
+        }
+
+        /**
+         * Returns whether the given character is valid for the keyword. This implementation
accepts
+         * {@code '@'} in addition of the alphanumeric characters accepted by the parent
class.
+         */
+        @Override
+        protected int isKeywordChar(final int c) {
+            return (c == Store.METADATA) ? ACCEPT : super.isKeywordChar(c);
+        }
+
+        /**
+         * Returns {@code true} if the given first non-white character after the keyword
+         * is one of the expected characters.
+         */
+        @Override
+        protected boolean isPostKeyword(final int c) {
+            return c == Store.SEPARATOR;
+        }
+
+        /**
+         * Returns the value to be returned by {@link StoreProvider#probeContent(StorageConnector)}
+         * for the given WKT keyword. This method changes the case to match the one used
in the keywords map,
+         * then verify if the keyword that we found is one of the known WKT keywords. Keywords
with the "CRS"
+         * suffix are WKT 2 while keywords with the "CS" suffix are WKT 1.
+         */
+        @Override
+        protected ProbeResult forKeyword(final char[] keyword, final int length) {
+            if (length == maxLength && KEYWORD.equalsIgnoreCase(new String(keyword)))
{
+                return ProbeResult.SUPPORTED;
+            }
+            return ProbeResult.UNSUPPORTED_STORAGE;
+        }
+    }
+
+    /**
+     * Creates a new provider.
+     */
+    public StoreProvider() {
+    }
+
+    /**
+     * Returns {@link ProbeResult#SUPPORTED} if the given storage appears to be supported
by CSV {@link Store}.
+     * Returning {@code SUPPORTED} from this method does not guarantee that reading or writing
will succeed, only
+     * that there appears to be a reasonable chance of success based on a brief inspection
of the storage header.
+     *
+     * @return {@link ProbeResult#SUPPORTED} if the given storage seems to be readable as
a CSV file.
+     * @throws DataStoreException if an I/O or SQL error occurred.
+     */
+    @Override
+    public ProbeResult probeContent(final StorageConnector connector) throws DataStoreException
{
+        return new Peek().probeContent(connector);
+    }
+
+    /**
+     * Returns a CSV {@link Store} implementation associated with this provider.
+     *
+     * @param  connector  information about the storage (URL, stream, <i>etc</i>).
+     * @return a data store implementation associated with this provider for the given storage.
+     * @throws DataStoreException if an error occurred while creating the data store instance.
+     */
+    @Override
+    public DataStore open(final StorageConnector connector) throws DataStoreException {
+        return new Store(connector);
+    }
+}

Propchange: sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/StoreProvider.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK8/storage/sis-storage/src/main/resources/META-INF/services/org.apache.sis.storage.DataStoreProvider
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/resources/META-INF/services/org.apache.sis.storage.DataStoreProvider?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/main/resources/META-INF/services/org.apache.sis.storage.DataStoreProvider
[UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-storage/src/main/resources/META-INF/services/org.apache.sis.storage.DataStoreProvider
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -1,2 +1,3 @@
 org.apache.sis.internal.storage.xml.StoreProvider
 org.apache.sis.internal.storage.wkt.StoreProvider
+org.apache.sis.internal.storage.csv.StoreProvider

Added: sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java?rev=1760276&view=auto
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java
(added)
+++ sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sis.internal.storage.csv;
+
+import org.apache.sis.storage.DataStoreException;
+import org.apache.sis.storage.StorageConnector;
+import org.apache.sis.storage.ProbeResult;
+import org.apache.sis.test.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+
+/**
+ * Tests {@link StoreProvider}.
+ *
+ * @author  Martin Desruisseaux (Geomatys)
+ * @since   0.8
+ * @version 0.8
+ * @module
+ */
+public final strictfp class StoreProviderTest extends TestCase {
+    /**
+     * Tests {@link StoreProvider#probeContent(StorageConnector)} method.
+     *
+     * @throws DataStoreException if en error occurred while reading the CSV file.
+     */
+    @Test
+    public void testProbeContent() throws DataStoreException {
+        final StoreProvider p = new StoreProvider();
+        final StorageConnector c = new StorageConnector(StoreTest.testData());
+        assertEquals(ProbeResult.SUPPORTED, p.probeContent(c));
+    }
+}

Propchange: sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreProviderTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=UTF-8

Modified: sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java
[UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/csv/StoreTest.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -46,18 +46,21 @@ import org.opengis.feature.AttributeType
  * @version 0.8
  * @module
  */
-public final class StoreTest extends TestCase {
+public final strictfp class StoreTest extends TestCase {
     /**
      * An example of Moving Features file.
      * Derived from the example provided in OGC 14-084r2.
      */
-    private static final String TEST_DATA =
+    static StringReader testData() {
+        return new StringReader(
             "@stboundedby, urn:ogc:def:crs:CRS:1.3:84, 2D,  50.23 9.23,  50.31 9.27,  2012-01-17T12:33:41Z,
2012-01-17T12:37:00Z, sec\n" +
             "@columns, mfidref, trajectory, state,xsd:string, \"\"\"type\"\" code\",xsd:integer\n"
+
+            "@foliation,Time\n" +
             "a,  10, 150, 11.0 2.0 12.0 3.0, walking, 1\n" +
             "b,  10, 190, 10.0 2.0 11.0 3.0, walking, 2\n" +
-            "a, 150, 190, 12.0 3.0 10.0 3.0, walking, 2\n" +
-            "c,  10, 190, 12.0 1.0 10.0 2.0 11.0 3.0, vehicle, 1\n";
+            "a, 150, 190, 12.0 3.0 10.0 3.0\n" +                        // Omitted values
are same as previous line.
+            "c,  10, 190, 12.0 1.0 10.0 2.0 11.0 3.0, vehicle, 1\n");
+    }
 
     /**
      * Returns the instant for the given time at the day of the test.
@@ -74,7 +77,7 @@ public final class StoreTest extends Tes
     @Test
     public void testGetMetadata() throws DataStoreException {
         final Metadata metadata;
-        try (Store store = new Store(new StorageConnector(new StringReader(TEST_DATA))))
{
+        try (Store store = new Store(new StorageConnector(testData()))) {
             metadata = store.getMetadata();
         }
         final Extent extent = getSingleton(getSingleton(metadata.getIdentificationInfo()).getExtents());
@@ -93,8 +96,9 @@ public final class StoreTest extends Tes
      */
     @Test
     public void testGetFeatures() throws DataStoreException {
-        try (Store store = new Store(new StorageConnector(new StringReader(TEST_DATA))))
{
+        try (Store store = new Store(new StorageConnector(testData()))) {
             verifyFeatureType(store.featureType);
+            assertEquals("foliation", Foliation.TIME, store.foliation);
             final Iterator<Feature> it = store.getFeatures().iterator();
             assertPropertyEquals(it.next(), "a", "12:33:51", "12:36:11", new double[] {11,
2, 12, 3},        "walking", 1);
             assertPropertyEquals(it.next(), "b", "12:33:51", "12:36:51", new double[] {10,
2, 11, 3},        "walking", 2);

Modified: sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java?rev=1760276&r1=1760275&r2=1760276&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java
[UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java
[UTF-8] Sun Sep 11 18:58:52 2016
@@ -45,6 +45,7 @@ import org.junit.BeforeClass;
     org.apache.sis.internal.storage.xml.StoreTest.class,
     org.apache.sis.internal.storage.wkt.StoreProviderTest.class,
     org.apache.sis.internal.storage.wkt.StoreTest.class,
+    org.apache.sis.internal.storage.csv.StoreProviderTest.class,
     org.apache.sis.internal.storage.csv.StoreTest.class,
     org.apache.sis.storage.DataStoresTest.class,
     org.apache.sis.index.GeoHashCoderTest.class



Mime
View raw message