[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters

2012-03-23 Thread Sebb (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13236661#comment-13236661
 ] 

Sebb commented on CSV-54:
-

Definitely better to drop the separate leading/trailing space options.

However, I think interleavedSpacesIgnored should apply for both quoted and 
unquoted values.
As far as I can tell, that is the expectation in the CSV format specs I've seen.

The trimmedSpaces setting would then be identical to 
interleavedSpacesIgnored for unquoted values.
For quoted values it would also trim the enclosed value; not sure that's 
particularly useful to provide as part of CSV.
It's easy enough for the application to trim the fields, so I'm not sure the 
setting is necessary.
Seems like it is straying away from the basic purpose of CSV.

However, if/when CSV is updated support creating Java Beans, value trimming 
would be much more appropriate there, as it would be on a per-column basis.

Let's keep the initial parsing simple.

 Confusing semantic of the ignore leading/trailing spaces parameters
 ---

 Key: CSV-54
 URL: https://issues.apache.org/jira/browse/CSV-54
 Project: Commons CSV
  Issue Type: Bug
  Components: Parser
Reporter: Emmanuel Bourg
 Fix For: 1.0


 {{CSVFormat}} has two parameters to control how the leading and trailing 
 spaces around values are handled, but the actual behavior depends on the 
 value being enclosed in quotes or not.
 If the value is not enclosed in quotes, setting 
 {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the 
 value. For example with this input (using the default format):
 {code}a,  b  ,c{code}
 the second value will be equal to {{'b'}}.
 But if the value is enclosed into quotes, the value is no longer trimmed:
 {code}a, b ,c{code}
 this will give {{' b '}}.
 With quoted values the parser actually ignores the spaces between the 
 delimiter and the quote. Thus with this input:
 {code}a,  b  ,c{code}
 The value returned is {{' b '}}.
 If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' 
  b  '}} which is consistent with RFC 4180.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters

2012-03-12 Thread Emmanuel Bourg (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13227540#comment-13227540
 ] 

Emmanuel Bourg commented on CSV-54:
---

I suggest replacing {{leading/trailingSpacesIgnored}} with two parameters:
- {{interleavedSpacesIgnored}}: this will ignore the spaces between the 
delimiter and the opening quote, and between the closing quote and the next 
delimiter.
- {{trimmedSpaces}}: this will remove the spaces around the values, on the left 
and on the right. I don't see the need to trim only on one side and not the 
other.


 Confusing semantic of the ignore leading/trailing spaces parameters
 ---

 Key: CSV-54
 URL: https://issues.apache.org/jira/browse/CSV-54
 Project: Commons CSV
  Issue Type: Bug
  Components: Parser
Reporter: Emmanuel Bourg
 Fix For: 1.0


 {{CSVFormat}} has two parameters to control how the leading and trailing 
 spaces around values are handled, but the actual behavior depends on the 
 value being enclosed in quotes or not.
 If the value is not enclosed in quotes, setting 
 {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the 
 value. For example with this input (using the default format):
 {code}a,  b  ,c{code}
 the second value will be equal to {{'b'}}.
 But if the value is enclosed into quotes, the value is no longer trimmed:
 {code}a, b ,c{code}
 this will give {{' b '}}.
 With quoted values the parser actually ignores the spaces between the 
 delimiter and the quote. Thus with this input:
 {code}a,  b  ,c{code}
 The value returned is {{' b '}}.
 If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' 
  b  '}} which is consistent with RFC 4180.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters

2012-03-12 Thread Sebb (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13227659#comment-13227659
 ] 

Sebb commented on CSV-54:
-

I'm not sure I would expect any space removal to ever occur within quoted 
values.
Surely that's one of the reasons why values are quoted - to prevent removal of 
spaces.

 Confusing semantic of the ignore leading/trailing spaces parameters
 ---

 Key: CSV-54
 URL: https://issues.apache.org/jira/browse/CSV-54
 Project: Commons CSV
  Issue Type: Bug
  Components: Parser
Reporter: Emmanuel Bourg
 Fix For: 1.0


 {{CSVFormat}} has two parameters to control how the leading and trailing 
 spaces around values are handled, but the actual behavior depends on the 
 value being enclosed in quotes or not.
 If the value is not enclosed in quotes, setting 
 {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the 
 value. For example with this input (using the default format):
 {code}a,  b  ,c{code}
 the second value will be equal to {{'b'}}.
 But if the value is enclosed into quotes, the value is no longer trimmed:
 {code}a, b ,c{code}
 this will give {{' b '}}.
 With quoted values the parser actually ignores the spaces between the 
 delimiter and the quote. Thus with this input:
 {code}a,  b  ,c{code}
 The value returned is {{' b '}}.
 If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' 
  b  '}} which is consistent with RFC 4180.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CSV-54) Confusing semantic of the ignore leading/trailing spaces parameters

2012-03-12 Thread Emmanuel Bourg (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/CSV-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13227699#comment-13227699
 ] 

Emmanuel Bourg commented on CSV-54:
---

The reason for enclosing the values into quotes is to put a delimiter or a line 
separator in the value. Spaces are always part of the value, quoted or not. At 
least that's how it's specified in RFC 4180.


 Confusing semantic of the ignore leading/trailing spaces parameters
 ---

 Key: CSV-54
 URL: https://issues.apache.org/jira/browse/CSV-54
 Project: Commons CSV
  Issue Type: Bug
  Components: Parser
Reporter: Emmanuel Bourg
 Fix For: 1.0


 {{CSVFormat}} has two parameters to control how the leading and trailing 
 spaces around values are handled, but the actual behavior depends on the 
 value being enclosed in quotes or not.
 If the value is not enclosed in quotes, setting 
 {{leading/trailingSpacesIgnored}} to {{true}} will left or right trim the 
 value. For example with this input (using the default format):
 {code}a,  b  ,c{code}
 the second value will be equal to {{'b'}}.
 But if the value is enclosed into quotes, the value is no longer trimmed:
 {code}a, b ,c{code}
 this will give {{' b '}}.
 With quoted values the parser actually ignores the spaces between the 
 delimiter and the quote. Thus with this input:
 {code}a,  b  ,c{code}
 The value returned is {{' b '}}.
 If {{leading/trailingSpacesIgnored}} is set to {{false}}, we get instead {{' 
  b  '}} which is consistent with RFC 4180.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira