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

Tim Smith commented on LUCENE-1808:
-----------------------------------

Here's an option

just make createWeight() public

this will require anyone who used it to have their subclass of query open it up 
public and recompile

however, if someone implemented createWeight() in <=2.4 and are going to 2.9, 
they already have to do this (because Weight was changed from an interface to 
an abstract class, so they have to do a similar change already:
{code}
private class *Weight implements Weight {
{code}
already has to be changed to
{code}
private class *Weight extends Weight {
{code}

Anyone (almost anyone) who implements createWeight() will already be hit by 
this back compat break, so why not just make createWeight() public at the same 
time Weight was changed from an interface to an abstract class


> make Query.createWeight public (or add back Query.createQueryWeight())
> ----------------------------------------------------------------------
>
>                 Key: LUCENE-1808
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1808
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Query/Scoring
>    Affects Versions: 2.9
>            Reporter: Tim Smith
>            Assignee: Mark Miller
>
> Now that the QueryWeight class has been removed, the public QueryWeight 
> createQueryWeight() method on Query was also removed
> i have cases where i want to create a weight for a sub query (outside of the 
> org.apache.lucene.search package) and i don't want the weight normalized 
> (think BooleanQuery outside of the o.a.l.search package)
> in order to do this, i have to create a static Utils class inside 
> o.a.l.search, pass in the Query and searcher, and have the static method call 
> the protected createWeight method
> this should not be necessary
> This could be fixed in one of 2 ways:
> 1. make createWeight() public on Query (breaks back compat)
> 2. add the following method:
> {code}
> public Weight createQueryWeight(Searcher searcher) throws IOException {
>   return createWeight(searcher);
> }
> {code}
> createWeight(Searcher) should then be deprectated in favor of the publicly 
> accessible method

-- 
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