Task #1142
Bug #1141: unicode guid handling in mn.create()
address MMP errors for supplementary unicode characters in pids
0%
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 almost 14 years ago
Looks like a byteStream error of not using UTF-8
unicode String:: common-unicode-supplementary-escaped-
#2 Updated by Rob Nahf almost 14 years ago
- Assignee set to Robert Waltz
#3 Updated by Rob Nahf almost 14 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 almost 14 years ago
- Milestone set to CCI-0.5
- Category set to d1_cn_service
#5 Updated by Robert Waltz over 13 years ago
- Milestone deleted (
CCI-0.5)
#6 Updated by Dave Vieglais over 13 years ago
- Target version changed from Sprint-2011.18-Block.3 to Sprint-2011.20-Block.3
#7 Updated by Robert Waltz over 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 almost 13 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 over 12 years ago
- Milestone changed from CCI-1.0.0 to CCI-1.1
#10 Updated by Robert Waltz about 12 years ago
- Milestone changed from CCI-1.1 to CCI-1.2
#11 Updated by Robert Waltz over 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 over 10 years ago
- Milestone changed from CCI-1.2 to None
#13 Updated by Robert Waltz over 8 years ago
- translation missing: en.field_remaining_hours set to 0.0
- Status changed from In Progress to Rejected
We no longer use JibX