ClassCastException thrown in the map(String,int,TermVectorOffsetInfo[],int[]) 
method in org.apache.lucene.index.SortedTermVectorMapper
--------------------------------------------------------------------------------------------------------------------------------------

                 Key: LUCENE-3939
                 URL: https://issues.apache.org/jira/browse/LUCENE-3939
             Project: Lucene - Java
          Issue Type: Bug
          Components: core/index
    Affects Versions: 3.5, 3.4, 3.1, 3.0.2
            Reporter: SHIN HWEI TAN


The method "map" in the "SortedTermVectorMapper" class does not check the 
parameter "term" for the valid values. It throws ClassCastException when called 
with a invalid string for the parameter "term" (i.e., "var3.map("*", (-1), 
null, null)"). The exception thrown is due to an explict cast(i.e., casting the 
return value of termToTVE.get(term) to type "TermVectorEntry"). 

Suggested Fixes: Replace the beginning of the method body for the class 
"SortedTermVectorMapper" by changing it like this:

public void map(String term, int frequency, TermVectorOffsetInfo[] offsets, 
int[] positions) {
        if(termToTVE.get(term) instanceof TermVectorEntry){
                TermVectorEntry entry = (TermVectorEntry) termToTVE.get(term);
                ...
        }
}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to