Re-implement URIStringUtils escape and unescape using Unicode 53/53/2
authorTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Wed, 7 Sep 2016 07:09:22 +0000 (10:09 +0300)
committerTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Wed, 7 Sep 2016 07:14:19 +0000 (10:14 +0300)
commitd856e4346e0d911421ee11c26834aa1b926908ec
tree81e884c98166f5890f2ee962eafbeb352691c073
parent4db56eafb0d9c5894839fced337dafe3b110ab9d
Re-implement URIStringUtils escape and unescape using Unicode

Now escape only performs the absolute minimum amount of escaping
necessary. All String inputs are treated directly as UTF-16 characters
and only the smallest amount of 7-bit US-ASCII characters are escaped.
These characters are " ", "%", "#", "/" and "&". All other unicode chars
(> 127) are written directly as is into the escaped output.

The main effect of this change is that Simantics database URIs will
contain much less escaped characters than before. Since we always deal
with Java String (Unicode) character sequences in Simantics and these
URIs are only valid within Simantics, this approach doesn't really cause
any problems for us.

This implementation is not in accordance with RFC 2396 - Uniform
Resource Identifiers (URI): Generic Syntax but it works for us.

refs #6673

Change-Id: I5279f68993a087b856d58c36d63427562ea1d1e4
bundles/org.simantics.databoard/src/org/simantics/databoard/util/URIStringUtils.java