Bug #338

Clarify Meaning of "string" Wire-schema

Added by J. Moringen almost 13 years ago. Updated almost 13 years ago.

Status:ResolvedStart date:05/28/2011
Priority:NormalDue date:
Assignee:-% Done:

100%

Category:Documentation
Target version:0.3

Description

Possible interpretations
  • UTF-8 string (as in Protocol Buffers)
  • ASCII string
  • Array of bytes
Should be handled with two string wire-schemas:
  • utf-8-string: decoding attempts on invalid data should signal an error
  • ascii-string: decoding attempts on invalid data should signal an error

Language-specific details are documented in Types. In particular, limitations of the current C++ implementation are discussed there.


Related issues

Related to Robotics Service Bus - Bug #367: Wire Schema Error on Deserializing data Resolved 06/11/2011

Associated revisions

Revision 815fcb2c
Added by J. Wienke almost 13 years ago

  • use bytearray for SpreadPort instead of str
  • adapt handling of strings refs #338

Revision 6a9912a8
Added by J. Moringen almost 13 years ago

Improved define-basic-converter-test-cases in test/converter/package.lisp
refs #338
  • test/converter/package.lisp (define-basic-converter-test-cases):
    generate additional test cases domain->wire-smoke and
    wire->domain-smoke; allow wire-data and domain-object to be :error
    to indicate a failing conversion for one direction

Revision 89978fd3
Added by J. Moringen almost 13 years ago

Split string into utf-8 and acsii in src/converter/fundamental.lisp
refs #338
  • src/converter/fundamental.lisp
    (wire->domain? eql :fundamental-ascii-string simple-array eql
    :ascii-string): new method; part of new ASCII converter
    (domain->wire? eql :fundamental-ascii-string string): likewise
    (wire->domain eql :fundamental-ascii-string simple-array eql
    :ascii-string): likewise
    (domain->wire eql :fundamental-ascii-string string): likewise
    (wire->domain? eql :fundamental-utf-8-string simple-array eql
    :utf-8-string): changed specializers :fundamental-string >
    :fundamental-utf-8-string and :string -> :utf-8-string
    (domain
    >wire? eql :fundamental-utf-8-string string): similar
    (wire->domain eql :fundamental-utf-8-string simple-array eql
    :utf-8-string): similar
    (domain->wire eql :fundamental-utf-8-string string): similar
  • test/converter/fundamental.lisp (file local variables): added utf-8
    coding
    (define-basic-converter-test-cases :fundamental-null): added more
    cases
    (test suite fundamental-ascii-string-root): new test suite; for
    fundamental-ascii-string converter
    (define-basic-converter-test-cases :fundamental-ascii-string): new
    basic test case definition
    (test suite fundamental-utf-8-string-root): renamed
    fundamental-string-root > fundamental-utf-8-string-root
    (define-basic-converter-test-cases :fundamental-utf-8-string): added
    test cases that actually exercise UTF-8 en
    and decoding

Revision b50689b2
Added by J. Moringen almost 13 years ago

Fixed default converter for strings in src/configuration.lisp
refs #338
  • src/configuration.lisp (options-from-default-sources): use
    :fundamental-utf-8-string instead of :fundamental-string as default
    converter

Revision 9cb8e77b
Added by J. Wienke almost 13 years ago

make properties aware of utf8 and ascii and leave string for backwards compatibility refs #338

Revision 4f891c56
Added by J. Moringen almost 13 years ago

Changes for changed converter name in lisp/config.lisp
refs #338
  • lisp/config.lisp: changed option name ... :string ->
    ... :utf-8-string

History

#1 Updated by J. Moringen almost 13 years ago

  • Description updated (diff)

#2 Updated by J. Wienke almost 13 years ago

Forced ASCII-Conversion for Java.

#3 Updated by J. Wienke almost 13 years ago

  • % Done changed from 0 to 20

#4 Updated by J. Moringen almost 13 years ago

  • Description updated (diff)

we will skip the intermediate solution

#5 Updated by J. Moringen almost 13 years ago

  • % Done changed from 20 to 70

#6 Updated by J. Moringen almost 13 years ago

  • Description updated (diff)
  • Status changed from New to Resolved

#7 Updated by J. Moringen almost 13 years ago

  • % Done changed from 70 to 100

Also available in: Atom PDF