Project

General

Profile

Task #1142

Bug #1141: unicode guid handling in mn.create()

address MMP errors for supplementary unicode characters in pids

Added by Rob Nahf over 13 years ago. Updated over 7 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Robert Waltz
Category:
d1_cn_service
Target version:
-
Start date:
2010-12-03
Due date:
% Done:

0%

Milestone:
None
Product Version:
Story Points:
Sprint:

Description

the error message returned from the test for guid string: common-unicode-supplementary-escaped-

Error creating MMP stream in MNode.handleCreateOrUpdate: Could not serialize the system metadata to multipart: Illegal character code 0xd800 in content text.

The error happens within the mctx.marshalDocument(object, "UTF-8", null, out) call in serializeServiceType() in D1Node.java.

This error doesn't happen with other unicode characters in the BMP.

History

#1 Updated by Rob Nahf over 13 years ago

Looks like a byteStream error of not using UTF-8

unicode String:: common-unicode-supplementary-escaped-

#2 Updated by Rob Nahf over 13 years ago

  • Assignee set to Robert Waltz

#3 Updated by Rob Nahf over 13 years ago

  • Priority changed from Urgent to Normal

not as urgent since metacat is not going to support non-ascii characters for a while. (this bug only shows itself with supplementary characters beyond the BMP range)

#4 Updated by Robert Waltz about 13 years ago

  • Milestone set to CCI-0.5
  • Category set to d1_cn_service

#5 Updated by Robert Waltz about 13 years ago

  • Milestone deleted (CCI-0.5)

#6 Updated by Dave Vieglais almost 13 years ago

  • Target version changed from Sprint-2011.18-Block.3 to Sprint-2011.20-Block.3

#7 Updated by Robert Waltz almost 13 years ago

  • Target version deleted (Sprint-2011.20-Block.3)

this is an issue with the way jibx handles these characters. If we wish to fix this for the long run, we'll probably have to submit a solution to the jibx project.

#8 Updated by Robert Waltz about 12 years ago

  • Milestone set to CCI-1.0.0
  • Status changed from New to In Progress

The JibX IXMLReaderFactory implementation, XMLPullReaderFactory, uses an InputStreamWrapper class that contains a UTF8Reader ( WrappedStreamUTF8Reader) unable to support Surrogate pairs.

The JibX runtime can override the default IXMLReaderFactory if calling code of the Unmarshaller sets a org.jibx.runtime.impl.parser System Property.

I have identified a UTF8StreamReader class that supports Surrogate pairing (and hence the UTF supplementary character range) in a separate library: javolution.io.UTF8StreamReader. It is open source with a very liberal copy right. I can create modify the JibX implemenation of XMLPullReaderFactory so that is uses a modified InputStreamWrapper incorporating a copy of the javolution.io.UTF8StreamReader.

The above may solve the problem if the XmlPull dependencies do not blow up on surrogate pairs.

#9 Updated by Robert Waltz almost 12 years ago

  • Milestone changed from CCI-1.0.0 to CCI-1.1

#10 Updated by Robert Waltz over 11 years ago

  • Milestone changed from CCI-1.1 to CCI-1.2

#11 Updated by Robert Waltz about 11 years ago

  • Subject changed from address MMP errors for supplementary unicode characters in guids to address MMP errors for supplementary unicode characters in pids

#12 Updated by Robert Waltz almost 10 years ago

  • Milestone changed from CCI-1.2 to None

#13 Updated by Robert Waltz over 7 years ago

  • translation missing: en.field_remaining_hours set to 0.0
  • Status changed from In Progress to Rejected

We no longer use JibX

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)