Config incorrectly handles Windows absolute pathnames
-----------------------------------------------------

                 Key: LUCENE-2353
                 URL: https://issues.apache.org/jira/browse/LUCENE-2353
             Project: Lucene - Java
          Issue Type: Bug
          Components: contrib/benchmark
            Reporter: Shai Erera
             Fix For: 3.1


I have no idea how no one ran into this so far, but I tried to execute an .alg 
file which used ReutersContentSource and referenced both docs.dir and work.dir 
as Windows absolute pathnames (e.g. d:\something). Surprisingly, the run 
reported an error of missing content under benchmark\work\something.

I've traced the problem back to Config, where get(String, String) includes the 
following code:
{code}
    if (sval.indexOf(":") < 0) {
      return sval;
    }
    // first time this prop is extracted by round
    int k = sval.indexOf(":");
    String colName = sval.substring(0, k);
    sval = sval.substring(k + 1);
    ...
{code}

It detects ":" in the value and so it thinks it's a per-round property, thus 
stripping "d:" from the value ... fix is very simple:
{code}
    if (sval.indexOf(":") < 0) {
      return sval;
    } else if (sval.indexOf(":\\") >= 0) {
      // this previously messed up absolute path names on Windows. Assuming
      // there is no real value that starts with \\
      return sval;
    }
    // first time this prop is extracted by round
    int k = sval.indexOf(":");
    String colName = sval.substring(0, k);
    sval = sval.substring(k + 1);
{code}

I'll post a patch w/ the above fix + test shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to