[
https://issues.apache.org/jira/browse/UIMA-2131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marshall Schor reopened UIMA-2131:
----------------------------------
> Solrcas uri generation failing on windows
> -----------------------------------------
>
> Key: UIMA-2131
> URL: https://issues.apache.org/jira/browse/UIMA-2131
> Project: UIMA
> Issue Type: Bug
> Components: Sandbox-Solrcas
> Environment: Windows
> Reporter: Marshall Schor
> Assignee: Marshall Schor
>
> The getURI code in solrcas (SolrCASConsumer) has the code:
> if (!uri.isAbsolute())
> uri = UriUtils.create(new
> StringBuilder(FILEPATH).append(getContext().getDataPath()).
> append("/").append(path.replace(FILEPATH,
> EMPTY_STRING)).toString()); // this supports relative file paths
> On Windows, the getContext().getDataPath() returned "C:\blah\blah", so the
> string passed to UriUtils.create was something like:
> file://C:\a\b\c\Solrcas/src/test/resources/org/apache/uima/solrcas/
> The "backslash" char is "escaped" by the create method, since it's not a
> valid in URIs, giving:
> file://C:%5Ca%5Cb%5Cc%5CSolrcas/src/test/resources/org/apache/uima/solrcas/
> When this URI is given to new File(...) this causes an error to be thrown:
> java.lang.IllegalArgumentException: URI has an authority component
> It thinks there's an authority component because of the colon character. It
> seems the right thing to do for this kind of an "absolute" URI on Windows, if
> it starts with a C: or something similar, is to prefix this with another "/"
> char, so the string looks like
> file:///C:\a\b\c\Solrcas/src/test/resources/org/apache/uima/solrcas/
> e.g., file: followed by 3 slashes: ///
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira