lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "SHIN HWEI TAN (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-3939) ClassCastException thrown in the map(String,int,TermVectorOffsetInfo[],int[]) method in org.apache.lucene.index.SortedTermVectorMapper
Date Sat, 31 Mar 2012 23:40:26 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-3939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13243607#comment-13243607
] 

SHIN HWEI TAN commented on LUCENE-3939:
---------------------------------------

Thanks for the quick response.

I don't think that passing null as Comparator is the problem. For example, if the first invocation
of the method "map" is commented out(as below), then there is no exception thrown. In this
case, the Comparator is still null.

   org.apache.lucene.index.SortedTermVectorMapper var3 = new        org.apache.lucene.index.SortedTermVectorMapper(false,
false,(java.util.Comparator)null);
   var3.setExpectations("", 0, false, false);
   var3.map("*:", (-1), (org.apache.lucene.index.TermVectorOffsetInfo[])null, (int[])null);
                
> 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.0.2, 3.1, 3.4, 3.5
>            Reporter: SHIN HWEI TAN
>   Original Estimate: 0.05h
>  Remaining Estimate: 0.05h
>
> 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message