feature request #9114
Handle malformed URIs in user type
The fix for #9111 should be moved to a new URI user type wrapper that is used instead of the current URI class. Otherwise the workaround needs to be applied whereever URIs are used.
ref #9114 add URI Wrapper and replace all java.net.URI occurrences by the wrapper in cdmlib
ref #9114 further adapt jsonConfigurations and add new constructor to URI wrapper
#3 Updated by Andreas Müller 3 months ago
- Status changed from New to In Progress
I implemented a new class eu.etaxonomy.cdm.common.URI and use this in model but also at other places like import sources.
Unfortunately, simply subclassing java.net.URI was not possible as it is final.
A method getJavaUri() exists to transform the above class to standard java.net.URI.
Currently there are still 2 open issues:
- httpinvoker: within httpinvoker there is still a ClassCastException and therefore TaxEditor fails to build. First I thought this is because CdmModelCache needs to be build anew, but running the script does not change the model cache file so this does not seem to be the reason
RdfViewTest.testMarshalRdf does not run successfully and therefore I set it to ignore. The children type dc:identifier/ do not seem to be build correctly.
#5 Updated by Andreas Müller 3 months ago
I think we should also implement it for fragment and query. Probably not for authority and scheme?
Also the handling of backslash needs to be discussed. In the original version backslash was encoded, too. This is probably not wanted, at least not for the path part. Currently a URISyntaxException is thrown if path contains a backslash.