[ https://issues.apache.org/jira/browse/LUCENE-6245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14321536#comment-14321536 ]
Robert Muir commented on LUCENE-6245: ------------------------------------- I think we should first fix the issue for trunk, and then think about the impact. My issue here is that breaking toString() functionality silently will affect many many users. I am not worried about making a clean compile-time break that only impacts custom queries/filters code. It only impacts advanced users and does so without confusing them. > ConstantScoreQuery etc have crazy toString()'s > ---------------------------------------------- > > Key: LUCENE-6245 > URL: https://issues.apache.org/jira/browse/LUCENE-6245 > Project: Lucene - Core > Issue Type: Bug > Reporter: Robert Muir > > For backwards compatibility reasons, LUCENE-1518 gave Filter a default "crap" > toString(String) impl of getClass().getSimpleName(). I don't think we should > do this. It causes problems e.g. when filters are wrapped in > ConstantScoreQuery or other places, because toString(String) does the wrong > thing. > {code} > Filter f = new MultiTermQueryWrapperFilter<WildcardQuery>(new > WildcardQuery(new Term("foo", "b*ar"))); > > System.out.println(f.toString()); // foo:b*ar > System.out.println(f.toString("foo")); // MultiTermQueryWrapperFilter > {code} > Instead i think that impl should be removed (leaving it abstract), and > Query.toString() should be final for a hard break: > {code} > /** Prints a query to a string, with <code>field</code> assumed to be the > * default field and omitted. > */ > public abstract String toString(String field); > /** Prints a query to a string. */ > @Override > public ****final**** String toString() { > return toString(""); > } > {code} > having buggy toString's is worse than requiring a change in custom filters. > It impacts all users rather than just expert ones. Also by doing this, all > the current toString bugs in the codebase show up as compile errors. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org