You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2015/01/12 12:14:55 UTC

svn commit: r1651061 [4/4] - in /sis/branches/JDK8/storage/sis-shapefile/src/main: java/org/apache/sis/internal/shapefile/ java/org/apache/sis/internal/shapefile/jdbc/ java/org/apache/sis/internal/shapefile/jdbc/connection/ java/org/apache/sis/internal...

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/CrudeSQLParser.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/CrudeSQLParser.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/CrudeSQLParser.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/CrudeSQLParser.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -9,12 +9,12 @@ import org.apache.sis.internal.shapefile
 
 /**
  * Simple and temporary SQL parser.
- * @author Marc LE BIHAN 
+ * @author Marc LE BIHAN
  */
 public class CrudeSQLParser extends AbstractJDBC {
     /** ResultSet followed straight forward. */
     private DBFRecordBasedResultSet rs;
-    
+
     /**
      * Construct a crude SQL parser.
      * @param resultset Target ResultSet.
@@ -23,22 +23,22 @@ public class CrudeSQLParser extends Abst
         Objects.requireNonNull(resultset, "The ResultSet given to the SQL parser cannot be null.");
         rs = resultset;
     }
-    
+
     /**
      * Get the unique conditional statement contained in an SQL statement.
      * @return Conditional clause or null if the statement wasn't accompanied by a where clause.
-     * @throws SQLInvalidStatementException if the SQL statement is invalid. 
+     * @throws SQLInvalidStatementException if the SQL statement is invalid.
      */
     public ConditionalClauseResolver parse() throws SQLInvalidStatementException {
         logStep("parse");
-        
+
         String sql = rs.getSQL().trim();
-        
+
         if (sql.toLowerCase().startsWith("select * from ") == false) {
             String message = format(Level.WARNING, "excp.limited_feature_syntax", sql);
             throw new SQLInvalidStatementException(message, rs.getSQL(), rs.getFile());
         }
-        
+
         final String whereWord = " where ";
         int whereIndex = sql.toLowerCase().indexOf(whereWord);
 
@@ -49,29 +49,29 @@ public class CrudeSQLParser extends Abst
         // Get the conditions.
         int endOfwhereClause = whereIndex + whereWord.length();
         String whereCondition = sql.substring(endOfwhereClause).trim();
-        
+
         // If the condition is empty, it's a syntax error because a WHERE clause went before.
         if (whereCondition.isEmpty()) {
-            String message = format(Level.WARNING, "excp.where_without_conditions", sql);            
+            String message = format(Level.WARNING, "excp.where_without_conditions", sql);
             throw new SQLInvalidStatementException(message, rs.getSQL(), rs.getFile());
         }
-        
+
         // Currently, all the condition are made of three parts :
         // <Comparand 1> <operator> <Comparand 2>
         // i.e. : A < 5, CITY = 'Kratie', B >= 15.3
         // Spaces are currently expected between parts of the conditional expression.
         String[] parts = whereCondition.split(" ");
-        
+
         if (parts.length != 3) {
             String message = format(Level.WARNING, "excp.limited_feature_conditional_parsing", whereCondition, sql);
             throw new SQLInvalidStatementException(message, rs.getSQL(), rs.getFile());
         }
-        
+
         // Detect and promote litterals in parameters to their best types.
         Object comparand1 = convertToNearestParameterType(parts[0]);
         Object comparand2 = convertToNearestParameterType(parts[2]);
         String operand = parts[1];
-        
+
         ConditionalClauseResolver resolver = new ConditionalClauseResolver(comparand1, comparand2, operand);
         return resolver;
     }
@@ -95,7 +95,7 @@ public class CrudeSQLParser extends Abst
             }
         }
     }
-    
+
     /**
      * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
      */

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLIllegalParameterException.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLIllegalParameterException.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLIllegalParameterException.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLIllegalParameterException.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -29,16 +29,16 @@ public class SQLIllegalParameterExceptio
 
     /** The SQL Statement (if known). */
     private String sql;
-    
+
     /** The database file. */
     private File database;
-    
+
     /** Parameter name (if known) that is invalid. */
     private String parameterName;
-    
+
     /** Parameter value that is invalid. */
     private String parameterValue;
-    
+
     /**
      * Build the exception.
      * @param message Exception message.
@@ -54,7 +54,7 @@ public class SQLIllegalParameterExceptio
         parameterName = name;
         parameterValue = value;
     }
-    
+
     /**
      * Returns the SQL statement.
      * @return SQL statement or null.
@@ -62,7 +62,7 @@ public class SQLIllegalParameterExceptio
     public String getSQL() {
         return sql;
     }
-    
+
     /**
      * Returns the parameter name that is invalid, if known.
      * @return Parameter name.
@@ -70,7 +70,7 @@ public class SQLIllegalParameterExceptio
     public String geParameterName() {
         return parameterName;
     }
-    
+
     /**
      * Returns the parameter value that is invalid.
      * @return Parameter name.
@@ -78,7 +78,7 @@ public class SQLIllegalParameterExceptio
     public String geParameterValue() {
         return parameterValue;
     }
-    
+
     /**
      * Returns the database file.
      * @return Database file.

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLInvalidStatementException.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLInvalidStatementException.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLInvalidStatementException.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLInvalidStatementException.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -29,10 +29,10 @@ public class SQLInvalidStatementExceptio
 
     /** The SQL Statement (if known). */
     private String sql;
-    
+
     /** The database file. */
     private File database;
-    
+
     /**
      * Build the exception.
      * @param message Exception message.
@@ -44,7 +44,7 @@ public class SQLInvalidStatementExceptio
         sql = sqlStatement;
         database = dbf;
     }
-    
+
     /**
      * Returns the SQL statement.
      * @return SQL statement or null.
@@ -52,7 +52,7 @@ public class SQLInvalidStatementExceptio
     public String getSQL() {
         return sql;
     }
-    
+
     /**
      * Returns the database file.
      * @return Database file.

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLUnsupportedParsingFeatureException.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLUnsupportedParsingFeatureException.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLUnsupportedParsingFeatureException.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/SQLUnsupportedParsingFeatureException.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -29,10 +29,10 @@ public class SQLUnsupportedParsingFeatur
 
     /** The SQL Statement that whas attempted. */
     private String sql;
-    
+
     /** The database that was queried. */
     private File database;
-    
+
     /**
      * Build the exception.
      * @param message Exception message.
@@ -44,7 +44,7 @@ public class SQLUnsupportedParsingFeatur
         sql = sqlStatement;
         database = dbf;
     }
-    
+
     /**
      * Returns the SQL statement who encountered the "end of data" alert.
      * @return SQL statement.
@@ -52,7 +52,7 @@ public class SQLUnsupportedParsingFeatur
     public String getSQL() {
         return sql;
     }
-    
+
     /**
      * Returns the database file that was queried.
      * @return The database that was queried.

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/package-info.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/sql/package-info.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -17,4 +17,4 @@
 /**
  * SQL Parser.
  */
-package org.apache.sis.internal.shapefile.jdbc.sql;
\ No newline at end of file
+package org.apache.sis.internal.shapefile.jdbc.sql;

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/DBFStatement.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/DBFStatement.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/DBFStatement.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/DBFStatement.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -43,8 +43,8 @@ public class DBFStatement extends Abstra
     private DBFConnection connection;
 
     /** ResultSets that are currently opened. */
-    private HashSet<DBFResultSet> openedResultSets = new HashSet<>(); 
-    
+    private HashSet<DBFResultSet> openedResultSets = new HashSet<>();
+
     /** The current result set, or {@code null} if none. */
     private DBFResultSet currentResultSet;
 
@@ -69,7 +69,7 @@ public class DBFStatement extends Abstra
         assertNotClosed();
         return connection;
     }
-    
+
     /**
      * Returns the Database File.
      * @return Database File.
@@ -78,7 +78,7 @@ public class DBFStatement extends Abstra
     public File getFile() {
         return connection.getFile();
     }
-    
+
     /**
      * @see java.sql.Statement#execute(java.lang.String)
      */
@@ -103,7 +103,7 @@ public class DBFStatement extends Abstra
     public ResultSet executeQuery(final String sql) throws SQLConnectionClosedException, SQLInvalidStatementException {
         Objects.requireNonNull(sql, "The SQL query cannot be null.");
         assertNotClosed();
-        
+
         DBFRecordBasedResultSet rs = new DBFRecordBasedResultSet(this, sql);
         registerResultSet(rs);
         return rs;
@@ -151,22 +151,22 @@ public class DBFStatement extends Abstra
     public void close() {
         if (isClosed())
             return;
-        
+
         if (currentResultSet != null) {
             // Inform that this ResultSet could have been closed but that we are handling this :
             // Some developpers may expect their ResultSet should have been closed before in their program.
             format(Level.FINE, "log.closing_underlying_resultset", currentResultSet);
             currentResultSet.close();
-            
+
             currentResultSet = null;
         }
-        
+
         // Check if all the underlying ResultSets that has been opened with this statement has been closed.
         // If not, we log a warning to help the developper.
         if (openedResultSets.size() > 0) {
-            format(Level.WARNING, "log.resultsets_left_opened", openedResultSets.size(), openedResultSets.stream().map(DBFResultSet::toString).collect(Collectors.joining(", ")));  
+            format(Level.WARNING, "log.resultsets_left_opened", openedResultSets.size(), openedResultSets.stream().map(DBFResultSet::toString).collect(Collectors.joining(", ")));
         }
-        
+
         isClosed = true;
         connection.notifyCloseStatement(this);
     }
@@ -186,13 +186,13 @@ public class DBFStatement extends Abstra
      */
     public void assertNotClosed() throws SQLConnectionClosedException {
         connection.assertNotClosed(); // First, the underlying shall not be closed.
-        
+
         // Then, this statement shouldn't be closed too.
         if (isClosed) {
             throw new SQLConnectionClosedException(format(Level.WARNING, "excp.closed_statement", connection.getFile().getName()), null, connection.getFile());
         }
     }
-    
+
     /**
      * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
      */
@@ -207,11 +207,11 @@ public class DBFStatement extends Abstra
      */
     public void notifyCloseResultSet(DBFResultSet rs) {
         Objects.requireNonNull(rs, "The ResultSet notified being closed cannot be null.");
-        
+
         // If this ResultSet was the current ResultSet, now there is no more current ResultSet.
         if (currentResultSet == rs)
             currentResultSet = null;
-        
+
         if (openedResultSets.remove(rs) == false) {
             throw new RuntimeException(format(Level.SEVERE, "assert.resultset_not_opened_by_me", rs, toString()));
         }

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/package-info.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/package-info.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/jdbc/statement/package-info.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -16,4 +16,4 @@
  */
 
 /** Statements */
-package org.apache.sis.internal.shapefile.jdbc.statement;
\ No newline at end of file
+package org.apache.sis.internal.shapefile.jdbc.statement;

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/package-info.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/package-info.java [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/internal/shapefile/package-info.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -1,25 +1,25 @@
-/*
- * 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.
- */
-
-/**
- * Function to describe and access to {@link org.apache.sis.storage.shapefile}.
- * @author  Marc Le Bihan
- * @version 0.5
- * @since   0.5
- * @module
- */
-package org.apache.sis.internal.shapefile;
+/*
+ * 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.
+ */
+
+/**
+ * Function to describe and access to {@link org.apache.sis.storage.shapefile}.
+ * @author  Marc Le Bihan
+ * @version 0.5
+ * @since   0.5
+ * @module
+ */
+package org.apache.sis.internal.shapefile;

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

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

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/InputFeatureStream.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/InputFeatureStream.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/InputFeatureStream.java [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/InputFeatureStream.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -1,209 +1,209 @@
-/*
- * 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.storage.shapefile;
-
-import java.io.File;
-import java.io.InputStream;
-import java.sql.SQLFeatureNotSupportedException;
-import java.text.*;
-
-import org.apache.sis.feature.DefaultFeatureType;
-import org.apache.sis.internal.shapefile.InvalidShapefileFormatException;
-import org.apache.sis.internal.shapefile.ShapefileByteReader;
-import org.apache.sis.internal.shapefile.ShapefileNotFoundException;
-import org.apache.sis.internal.shapefile.jdbc.*;
-import org.apache.sis.internal.shapefile.jdbc.connection.DBFConnection;
-import org.apache.sis.internal.shapefile.jdbc.metadata.DBFDatabaseMetaData;
-import org.apache.sis.internal.shapefile.jdbc.resultset.*;
-import org.apache.sis.internal.shapefile.jdbc.sql.SQLIllegalParameterException;
-import org.apache.sis.internal.shapefile.jdbc.sql.SQLInvalidStatementException;
-import org.apache.sis.internal.shapefile.jdbc.sql.SQLUnsupportedParsingFeatureException;
-import org.apache.sis.internal.shapefile.jdbc.statement.DBFStatement;
-import org.opengis.feature.Feature;
-
-/**
- * Input Stream of features.
- *
- * @author  Marc Le Bihan
- * @version 0.5
- * @since   0.5
- * @module
- */
-public class InputFeatureStream extends InputStream {
-    /** Dedicated connection to DBF. */
-    private DBFConnection connection;
-    
-    /** Statement. */
-    private DBFStatement stmt;
-    
-    /** ResultSet. */
-    private DBFRecordBasedResultSet rs;
-    
-    /** SQL Statement executed. */
-    private String sql;
-    
-    /** Marks the end of file. */
-    private boolean endOfFile;
-    
-    /** Shapefile. */
-    private File shapefile;
-    
-    /** Database file. */
-    private File databaseFile;
-
-    /** Type of the features contained in this shapefile. */
-    private DefaultFeatureType featuresType;
-    
-    /** Shapefile reader. */
-    private ShapefileByteReader shapefileReader;
-
-    /**
-     * Create an input stream of features over a connection.
-     * @param shpfile Shapefile.
-     * @param dbaseFile Database file.
-     * @throws SQLInvalidStatementException if the given SQL Statement is invalid.
-     * @throws InvalidShapefileFormatException if the shapefile format is invalid. 
-     * @throws InvalidDbaseFileFormatException if the Dbase file format is invalid.
-     * @throws ShapefileNotFoundException if the shapefile has not been found.
-     * @throws DbaseFileNotFoundException if the database file has not been found.
-     */
-    public InputFeatureStream(File shpfile, File dbaseFile) throws SQLInvalidStatementException, InvalidDbaseFileFormatException, InvalidShapefileFormatException, ShapefileNotFoundException, DbaseFileNotFoundException {
-        connection = (DBFConnection)new DBFDriver().connect(dbaseFile.getAbsolutePath(), null);
-        sql = MessageFormat.format("SELECT * FROM {0}", dbaseFile.getName());
-        shapefile = shpfile;
-        databaseFile = dbaseFile;
-        
-        shapefileReader = new ShapefileByteReader(shapefile, databaseFile);
-        featuresType = shapefileReader.getFeaturesType(); 
-        
-        try {
-            executeQuery();
-        }
-        catch(SQLConnectionClosedException e) {
-            // This would be an internal trouble because in this function (at least) it should be open.
-            throw new RuntimeException(e.getMessage(), e);
-        }
-    }
-    
-    /**
-     * @see java.io.InputStream#read()
-     */
-    @Override
-    public int read() {
-        throw new UnsupportedOperationException("InputFeatureStream doesn't allow the use of read(). Use readFeature() instead.");
-    }
-
-    /**
-     * @see java.io.InputStream#available()
-     */
-    @Override 
-    public int available() {
-        throw new UnsupportedOperationException("InputFeatureStream doesn't allow the use of available(). Use readFeature() will return null when feature are no more available.");
-    }
-    
-    /**
-     * @see java.io.InputStream#close()
-     */
-    @Override 
-    public void close() {
-        rs.close();
-        stmt.close();
-        connection.close();
-    }
-    
-    /**
-     * Read next feature responding to the SQL request.
-     * @return Feature, null if no more feature is available.
-     * @throws SQLNotNumericException if a field expected numeric isn't. 
-     * @throws SQLNotDateException if a field expected of date kind, isn't.
-     * @throws SQLNoSuchFieldException if a field doesn't exist.
-     * @throws SQLIllegalParameterException if a parameter is illegal in the query.
-     * @throws SQLInvalidStatementException if the SQL statement is invalid.
-     * @throws SQLConnectionClosedException if the connection is closed.
-     * @throws SQLUnsupportedParsingFeatureException if a SQL ability is not currently available through this driver.
-     * @throws SQLIllegalColumnIndexException if a column index is illegal.
-     * @throws SQLFeatureNotSupportedException if a SQL ability is not currently available through this driver.
-     * @throws InvalidShapefileFormatException if the shapefile format is invalid.
-     */
-    public Feature readFeature() throws SQLConnectionClosedException, SQLInvalidStatementException, SQLIllegalParameterException, SQLNoSuchFieldException, SQLUnsupportedParsingFeatureException, SQLNotNumericException, SQLNotDateException, SQLFeatureNotSupportedException, SQLIllegalColumnIndexException, InvalidShapefileFormatException {
-        try {
-            if (endOfFile) {
-                return null;
-            }
-            
-            if (rs.next() == false) {
-                endOfFile = true;
-                return null;
-            }
-            
-            Feature feature = featuresType.newInstance();
-            shapefileReader.completeFeature(feature);
-            DBFDatabaseMetaData metadata = (DBFDatabaseMetaData)connection.getMetaData();
-            
-            try(DBFBuiltInMemoryResultSetForColumnsListing rsDatabase = (DBFBuiltInMemoryResultSetForColumnsListing)metadata.getColumns(null, null, null, null)) {
-                while(rsDatabase.next()) {
-                    String fieldName = rsDatabase.getString("COLUMN_NAME");
-                    Object fieldValue = rs.getObject(fieldName);
-                    
-                    // FIXME To allow features to be filled again, the values are converted to String again : feature should allow any kind of data.
-                    String stringValue;
-                    
-                    if (fieldValue == null) {
-                        stringValue = null;
-                    }
-                    else {
-                        if (fieldValue instanceof Integer || fieldValue instanceof Long) {
-                            stringValue = MessageFormat.format("{0,number,#0}", fieldValue); // Avoid thousand separator.
-                        }
-                        else {
-                            if (fieldValue instanceof Double || fieldValue instanceof Float) {
-                                // Avoid thousand separator.
-                                DecimalFormat df = new DecimalFormat();
-                                df.setGroupingUsed(false);
-                                stringValue = df.format(fieldValue);                                
-                            }
-                            else
-                                stringValue = fieldValue.toString();
-                        }
-                    }
-                    
-                    feature.setPropertyValue(fieldName, stringValue);
-                }
-                
-                return feature;
-            }
-            catch(SQLNoResultException e) {
-                // This an internal trouble, if it occurs.
-                throw new RuntimeException(e.getMessage(), e);
-            }
-        }
-        catch(SQLNoResultException e) {
-            // We are trying to prevent this. If it occurs, we have an internal problem.
-            throw new RuntimeException(e.getMessage(), e);
-        }
-    }
-
-    /**
-     * Execute the wished SQL query.
-     * @throws SQLConnectionClosedException if the connection is closed. 
-     * @throws SQLInvalidStatementException if the given SQL Statement is invalid.
-     */
-    private void executeQuery() throws SQLConnectionClosedException, SQLInvalidStatementException {
-        stmt = (DBFStatement)connection.createStatement(); 
-        rs = (DBFRecordBasedResultSet)stmt.executeQuery(sql);
-    }
-}
+/*
+ * 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.storage.shapefile;
+
+import java.io.File;
+import java.io.InputStream;
+import java.sql.SQLFeatureNotSupportedException;
+import java.text.*;
+
+import org.apache.sis.feature.DefaultFeatureType;
+import org.apache.sis.internal.shapefile.InvalidShapefileFormatException;
+import org.apache.sis.internal.shapefile.ShapefileByteReader;
+import org.apache.sis.internal.shapefile.ShapefileNotFoundException;
+import org.apache.sis.internal.shapefile.jdbc.*;
+import org.apache.sis.internal.shapefile.jdbc.connection.DBFConnection;
+import org.apache.sis.internal.shapefile.jdbc.metadata.DBFDatabaseMetaData;
+import org.apache.sis.internal.shapefile.jdbc.resultset.*;
+import org.apache.sis.internal.shapefile.jdbc.sql.SQLIllegalParameterException;
+import org.apache.sis.internal.shapefile.jdbc.sql.SQLInvalidStatementException;
+import org.apache.sis.internal.shapefile.jdbc.sql.SQLUnsupportedParsingFeatureException;
+import org.apache.sis.internal.shapefile.jdbc.statement.DBFStatement;
+import org.opengis.feature.Feature;
+
+/**
+ * Input Stream of features.
+ *
+ * @author  Marc Le Bihan
+ * @version 0.5
+ * @since   0.5
+ * @module
+ */
+public class InputFeatureStream extends InputStream {
+    /** Dedicated connection to DBF. */
+    private DBFConnection connection;
+
+    /** Statement. */
+    private DBFStatement stmt;
+
+    /** ResultSet. */
+    private DBFRecordBasedResultSet rs;
+
+    /** SQL Statement executed. */
+    private String sql;
+
+    /** Marks the end of file. */
+    private boolean endOfFile;
+
+    /** Shapefile. */
+    private File shapefile;
+
+    /** Database file. */
+    private File databaseFile;
+
+    /** Type of the features contained in this shapefile. */
+    private DefaultFeatureType featuresType;
+
+    /** Shapefile reader. */
+    private ShapefileByteReader shapefileReader;
+
+    /**
+     * Create an input stream of features over a connection.
+     * @param shpfile Shapefile.
+     * @param dbaseFile Database file.
+     * @throws SQLInvalidStatementException if the given SQL Statement is invalid.
+     * @throws InvalidShapefileFormatException if the shapefile format is invalid.
+     * @throws InvalidDbaseFileFormatException if the Dbase file format is invalid.
+     * @throws ShapefileNotFoundException if the shapefile has not been found.
+     * @throws DbaseFileNotFoundException if the database file has not been found.
+     */
+    public InputFeatureStream(File shpfile, File dbaseFile) throws SQLInvalidStatementException, InvalidDbaseFileFormatException, InvalidShapefileFormatException, ShapefileNotFoundException, DbaseFileNotFoundException {
+        connection = (DBFConnection)new DBFDriver().connect(dbaseFile.getAbsolutePath(), null);
+        sql = MessageFormat.format("SELECT * FROM {0}", dbaseFile.getName());
+        shapefile = shpfile;
+        databaseFile = dbaseFile;
+
+        shapefileReader = new ShapefileByteReader(shapefile, databaseFile);
+        featuresType = shapefileReader.getFeaturesType();
+
+        try {
+            executeQuery();
+        }
+        catch(SQLConnectionClosedException e) {
+            // This would be an internal trouble because in this function (at least) it should be open.
+            throw new RuntimeException(e.getMessage(), e);
+        }
+    }
+
+    /**
+     * @see java.io.InputStream#read()
+     */
+    @Override
+    public int read() {
+        throw new UnsupportedOperationException("InputFeatureStream doesn't allow the use of read(). Use readFeature() instead.");
+    }
+
+    /**
+     * @see java.io.InputStream#available()
+     */
+    @Override
+    public int available() {
+        throw new UnsupportedOperationException("InputFeatureStream doesn't allow the use of available(). Use readFeature() will return null when feature are no more available.");
+    }
+
+    /**
+     * @see java.io.InputStream#close()
+     */
+    @Override
+    public void close() {
+        rs.close();
+        stmt.close();
+        connection.close();
+    }
+
+    /**
+     * Read next feature responding to the SQL request.
+     * @return Feature, null if no more feature is available.
+     * @throws SQLNotNumericException if a field expected numeric isn't.
+     * @throws SQLNotDateException if a field expected of date kind, isn't.
+     * @throws SQLNoSuchFieldException if a field doesn't exist.
+     * @throws SQLIllegalParameterException if a parameter is illegal in the query.
+     * @throws SQLInvalidStatementException if the SQL statement is invalid.
+     * @throws SQLConnectionClosedException if the connection is closed.
+     * @throws SQLUnsupportedParsingFeatureException if a SQL ability is not currently available through this driver.
+     * @throws SQLIllegalColumnIndexException if a column index is illegal.
+     * @throws SQLFeatureNotSupportedException if a SQL ability is not currently available through this driver.
+     * @throws InvalidShapefileFormatException if the shapefile format is invalid.
+     */
+    public Feature readFeature() throws SQLConnectionClosedException, SQLInvalidStatementException, SQLIllegalParameterException, SQLNoSuchFieldException, SQLUnsupportedParsingFeatureException, SQLNotNumericException, SQLNotDateException, SQLFeatureNotSupportedException, SQLIllegalColumnIndexException, InvalidShapefileFormatException {
+        try {
+            if (endOfFile) {
+                return null;
+            }
+
+            if (rs.next() == false) {
+                endOfFile = true;
+                return null;
+            }
+
+            Feature feature = featuresType.newInstance();
+            shapefileReader.completeFeature(feature);
+            DBFDatabaseMetaData metadata = (DBFDatabaseMetaData)connection.getMetaData();
+
+            try(DBFBuiltInMemoryResultSetForColumnsListing rsDatabase = (DBFBuiltInMemoryResultSetForColumnsListing)metadata.getColumns(null, null, null, null)) {
+                while(rsDatabase.next()) {
+                    String fieldName = rsDatabase.getString("COLUMN_NAME");
+                    Object fieldValue = rs.getObject(fieldName);
+
+                    // FIXME To allow features to be filled again, the values are converted to String again : feature should allow any kind of data.
+                    String stringValue;
+
+                    if (fieldValue == null) {
+                        stringValue = null;
+                    }
+                    else {
+                        if (fieldValue instanceof Integer || fieldValue instanceof Long) {
+                            stringValue = MessageFormat.format("{0,number,#0}", fieldValue); // Avoid thousand separator.
+                        }
+                        else {
+                            if (fieldValue instanceof Double || fieldValue instanceof Float) {
+                                // Avoid thousand separator.
+                                DecimalFormat df = new DecimalFormat();
+                                df.setGroupingUsed(false);
+                                stringValue = df.format(fieldValue);
+                            }
+                            else
+                                stringValue = fieldValue.toString();
+                        }
+                    }
+
+                    feature.setPropertyValue(fieldName, stringValue);
+                }
+
+                return feature;
+            }
+            catch(SQLNoResultException e) {
+                // This an internal trouble, if it occurs.
+                throw new RuntimeException(e.getMessage(), e);
+            }
+        }
+        catch(SQLNoResultException e) {
+            // We are trying to prevent this. If it occurs, we have an internal problem.
+            throw new RuntimeException(e.getMessage(), e);
+        }
+    }
+
+    /**
+     * Execute the wished SQL query.
+     * @throws SQLConnectionClosedException if the connection is closed.
+     * @throws SQLInvalidStatementException if the given SQL Statement is invalid.
+     */
+    private void executeQuery() throws SQLConnectionClosedException, SQLInvalidStatementException {
+        stmt = (DBFStatement)connection.createStatement();
+        rs = (DBFRecordBasedResultSet)stmt.executeQuery(sql);
+    }
+}

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/InputFeatureStream.java
------------------------------------------------------------------------------
    svn:eol-style = native

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

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/ShapeFile.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/ShapeFile.java?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/ShapeFile.java [UTF-8] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/java/org/apache/sis/storage/shapefile/ShapeFile.java [UTF-8] Mon Jan 12 11:14:54 2015
@@ -40,10 +40,10 @@ import org.apache.sis.internal.shapefile
 public class ShapeFile {
     /** Shapefile. */
     private File shapeFile;
-    
+
     /** Database file. */
     private File databaseFile;
-    
+
     /**
      * Construct a Shapefile from a file.
      * @param shpfile file to read.
@@ -52,7 +52,7 @@ public class ShapeFile {
         Objects.requireNonNull(shpfile, "The shapefile to load cannot be null.");
 
         shapeFile = new File(shpfile);
-        
+
         // Deduct database file name.
         StringBuilder dbfFileName = new StringBuilder(shpfile);
         dbfFileName.replace(shpfile.length() - 3, shpfile.length(), "dbf");
@@ -62,7 +62,7 @@ public class ShapeFile {
     /**
      * Find features corresponding to an SQL request SELECT * FROM database.
      * @return Features
-     * @throws SQLInvalidStatementException if the SQL statement is invalid. 
+     * @throws SQLInvalidStatementException if the SQL statement is invalid.
      * @throws DbaseFileNotFoundException if the database file has not been found.
      * @throws ShapefileNotFoundException if the shapefile has not been found.
      * @throws InvalidDbaseFileFormatException if the database file format is invalid.

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,14 +1,14 @@
-# Exception thrown when a binary code page value is illegal.
-#0 : Illegal value.
-#1 : DBase 3 file that causes the problem.
-excp.illegal_codepage=The DBase 3 code page binary value {0} doesn''t match a legal binary code page. The DBF file ''{1}'' seems corrupted.
-
-# Exception thrown when a binary code page value is not supported.
-#0 : Unsupported value.
-#1 : DBase 3 file that causes the problem.
-excp.unsupported_codepage=The DBase 3 legacy code page {0} doesn''t have a translation to an known charset. This DBF ''{1}'' cannot be handled.
-
-# Assertion : when this exception occurs, the involved code that produced it is sure to have a bug.
-#0 : Charset that as been asked for and that is wrong.
-#1 : Root cause message.
-assert.wrong_charset_selection=[Internal API trouble] : The Database::toCharset(..) method has selected a wrong charset ''{0}'' that is eventually refused : {1}.
+# Exception thrown when a binary code page value is illegal.
+#0 : Illegal value.
+#1 : DBase 3 file that causes the problem.
+excp.illegal_codepage=The DBase 3 code page binary value {0} doesn''t match a legal binary code page. The DBF file ''{1}'' seems corrupted.
+
+# Exception thrown when a binary code page value is not supported.
+#0 : Unsupported value.
+#1 : DBase 3 file that causes the problem.
+excp.unsupported_codepage=The DBase 3 legacy code page {0} doesn''t have a translation to an known charset. This DBF ''{1}'' cannot be handled.
+
+# Assertion : when this exception occurs, the involved code that produced it is sure to have a bug.
+#0 : Charset that as been asked for and that is wrong.
+#1 : Root cause message.
+assert.wrong_charset_selection=[Internal API trouble] : The Database::toCharset(..) method has selected a wrong charset ''{0}'' that is eventually refused : {1}.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,14 +1,14 @@
-# Exception thrown when a binary code page value is illegal.
-#0 : Illegal value.
-#1 : DBase 3 file that causes the problem.
-excp.illegal_codepage=La valeur binaire du code page DBase 3, {0}, ne correspond pas à un code page binaire légal. Le fichier DBF ''{1}'' semble corrompu.
-
-# Exception thrown when a binary code page value is not supported.
-#0 : Unsupported value.
-#1 : DBase 3 file that causes the problem.
-excp.unsupported_codepage=Le code page de la DBase 3, {0}, est ancien et n''a pas de traduction dans un jeu de caractères récent. Ce fichier DBF ''{1}'' ne peut pas être pris en charge.
-
-# Assertion : when this exception occurs, the involved code that produced it is sure to have a bug.
-#0 : Charset that as been asked for and that is wrong.
-#1 : Root cause message.
-assert.wrong_charset_selection=[Problème interne de l''API] : La méthode Database::toCharset(..) a sélectionné un mauvais charset ''{0}'' qui est finalement refusé : {1}.
+# Exception thrown when a binary code page value is illegal.
+#0 : Illegal value.
+#1 : DBase 3 file that causes the problem.
+excp.illegal_codepage=La valeur binaire du code page DBase 3, {0}, ne correspond pas à un code page binaire légal. Le fichier DBF ''{1}'' semble corrompu.
+
+# Exception thrown when a binary code page value is not supported.
+#0 : Unsupported value.
+#1 : DBase 3 file that causes the problem.
+excp.unsupported_codepage=Le code page de la DBase 3, {0}, est ancien et n''a pas de traduction dans un jeu de caractères récent. Ce fichier DBF ''{1}'' ne peut pas être pris en charge.
+
+# Assertion : when this exception occurs, the involved code that produced it is sure to have a bug.
+#0 : Charset that as been asked for and that is wrong.
+#1 : Root cause message.
+assert.wrong_charset_selection=[Problème interne de l''API] : La méthode Database::toCharset(..) a sélectionné un mauvais charset ''{0}'' qui est finalement refusé : {1}.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,3 +1,3 @@
-# Exception : no reader can be created on the file.
-#0 : File.
-excp.reader_cannot_be_created=No byte reader can be created over the file {0}.
+# Exception : no reader can be created on the file.
+#0 : File.
+excp.reader_cannot_be_created=No byte reader can be created over the file {0}.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,15 +1,15 @@
-# Exception thrown when there is a file descriptor problem.
-#0 : DBase 3 File who causes trouble.
-#1 : Root cause message.
-excp.filedescriptor_problem=The file descriptor of the ''{0}'' database file is not readable : {1}. Its DBF format seems corrupted.
-
-# Exception : illegal column index.
-#0 : The index that is illegal.
-#1, number : The number of column in that ResultSet.
-excp.illegal_column_index=Illegal column index {0}. The query returned a ResultSet with {1,number} columns.
-
-# Exception thrown when a column doesn't exist in the result set.
-#0 : Column name.
-#1 : SQL Query that was attempted but failed.
-#2 : Database name.
-excp.no_such_column_in_resultset=There is no ''{0}'' column in this SQL query ''{1}'' on database {2}.
+# Exception thrown when there is a file descriptor problem.
+#0 : DBase 3 File who causes trouble.
+#1 : Root cause message.
+excp.filedescriptor_problem=The file descriptor of the ''{0}'' database file is not readable : {1}. Its DBF format seems corrupted.
+
+# Exception : illegal column index.
+#0 : The index that is illegal.
+#1, number : The number of column in that ResultSet.
+excp.illegal_column_index=Illegal column index {0}. The query returned a ResultSet with {1,number} columns.
+
+# Exception thrown when a column doesn't exist in the result set.
+#0 : Column name.
+#1 : SQL Query that was attempted but failed.
+#2 : Database name.
+excp.no_such_column_in_resultset=There is no ''{0}'' column in this SQL query ''{1}'' on database {2}.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader_fr.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader_fr.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader_fr.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,15 +1,15 @@
-# Exception thrown when there is a file descriptor problem.
-#0 : DBase 3 File who causes trouble.
-#1 : Root cause message.
-excp.filedescriptor_problem=Le descripteur du fichier base de données ''{0}'' n''est pas lisible : {1}. Le format de ce DBF semble corrompu.
-
-# Exception : illegal column index.
-#0 : The index that is illegal.
-#1, number : The number of column in that ResultSet.
-excp.illegal_column_index=Index de colonne {0} illégal. La requête a renvoyé un ResultSet avec {1,number} colonnes.
-
-# Exception thrown when a column doesn't exist in the result set.
-#0: Column name.
-#1: SQL Query that was attempted but failed.
-#2: Database name.
-excp.no_such_column_in_resultset=Il n''y a pas de colonne ''{0}'' dans cette requête SQL ''{1}'' sur la base de données {2}.
+# Exception thrown when there is a file descriptor problem.
+#0 : DBase 3 File who causes trouble.
+#1 : Root cause message.
+excp.filedescriptor_problem=Le descripteur du fichier base de données ''{0}'' n''est pas lisible : {1}. Le format de ce DBF semble corrompu.
+
+# Exception : illegal column index.
+#0 : The index that is illegal.
+#1, number : The number of column in that ResultSet.
+excp.illegal_column_index=Index de colonne {0} illégal. La requête a renvoyé un ResultSet avec {1,number} colonnes.
+
+# Exception thrown when a column doesn't exist in the result set.
+#0: Column name.
+#1: SQL Query that was attempted but failed.
+#2: Database name.
+excp.no_such_column_in_resultset=Il n''y a pas de colonne ''{0}'' dans cette requête SQL ''{1}'' sur la base de données {2}.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader_fr.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/MappedByteReader_fr.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,8 +1,8 @@
-# Exception : A field does not exist in desc definition.
-#0 : Column label that doesn't exist.
-#1 : Table name.
-excp.no_desc_field=The ResultSet doesn''t present a field {0} to describe columns for the table {1}.
-
-# Exception : all the fields has been listed in desc definition.
-#0 : Table name.
-excp.no_more_desc=No more columns available in the table {0} : all have been described.
+# Exception : A field does not exist in desc definition.
+#0 : Column label that doesn't exist.
+#1 : Table name.
+excp.no_desc_field=The ResultSet doesn''t present a field {0} to describe columns for the table {1}.
+
+# Exception : all the fields has been listed in desc definition.
+#0 : Table name.
+excp.no_more_desc=No more columns available in the table {0} : all have been described.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,8 +1,8 @@
-# Exception : A field does not exist in desc definition.
-#0 : Column label that doesn't exist.
-#1 : Table name.
-excp.no_desc_field=Le ResultSet ne propose pas de champ {0} pour décrire la définition des colonnes de la table {1}.
-
-# Exception : all the fields has been listed in desc definition.
-#0 : Table name.
-excp.no_more_desc=Plus de colonnes disponibles dans la table {0} : toutes ont été décrites.
+# Exception : A field does not exist in desc definition.
+#0 : Column label that doesn't exist.
+#1 : Table name.
+excp.no_desc_field=Le ResultSet ne propose pas de champ {0} pour décrire la définition des colonnes de la table {1}.
+
+# Exception : all the fields has been listed in desc definition.
+#0 : Table name.
+excp.no_more_desc=Plus de colonnes disponibles dans la table {0} : toutes ont été décrites.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1

Modified: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties?rev=1651061&r1=1651060&r2=1651061&view=diff
==============================================================================
--- sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties [iso-8859-1] (original)
+++ sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties [ISO-8859-1] Mon Jan 12 11:14:54 2015
@@ -1,2 +1,2 @@
-# The ResultSet listing the tables types has only one result.
-excp.only_one_table_type_handled=DBase 3 only handles TABLE types. No more results available.
+# The ResultSet listing the tables types has only one result.
+excp.only_one_table_type_handled=DBase 3 only handles TABLE types. No more results available.

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: sis/branches/JDK8/storage/sis-shapefile/src/main/resources/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain;charset=ISO-8859-1