[
https://issues.apache.org/jira/browse/LUCENE-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731972#action_12731972
]
Earwin Burrfoot edited comment on LUCENE-1748 at 7/16/09 7:54 AM:
------------------------------------------------------------------
I took a glance at the code, the whole getPayloadSpans deal is a herecy.
Each and every implementation looks like:
public PayloadSpans getPayloadSpans(IndexReader reader) throws IOException {
return (PayloadSpans) getSpans(reader);
}
Moving it to the base SpanQuery is broken equally to current solution, but
yields much less strange copypaste.
-I also have a faint feeling that if you expose a method like-
-ClassA method();-
-you can then upgrade it to-
-SubclassOfClassA method();-
-without breaking drop-in compatibility, which renders getPayloadSpans vs
getSpans alternative totally useless-
Ok, I'm wrong.
was (Author: earwin):
I took a glance at the code, the whole getPayloadSpans deal is a herecy.
Each and every implementation looks like:
public PayloadSpans getPayloadSpans(IndexReader reader) throws IOException {
return (PayloadSpans) getSpans(reader);
}
Moving it to the base SpanQuery is broken equally to current solution, but
yields much less strange copypaste.
I also have a faint feeling that if you expose a method like
ClassA method();
you can then upgrade it to
SubclassOfClassA method();
without breaking drop-in compatibility, which renders getPayloadSpans vs
getSpans alternative totally useless
> getPayloadSpans on org.apache.lucene.search.spans.SpanQuery should be abstract
> ------------------------------------------------------------------------------
>
> Key: LUCENE-1748
> URL: https://issues.apache.org/jira/browse/LUCENE-1748
> Project: Lucene - Java
> Issue Type: Bug
> Components: Query/Scoring
> Affects Versions: 2.4, 2.4.1
> Environment: all
> Reporter: Hugh Cayless
> Fix For: 2.4.2
>
>
> I just spent a long time tracking down a bug resulting from upgrading to
> Lucene 2.4.1 on a project that implements some SpanQuerys of its own and was
> written against 2.3. Since the project's SpanQuerys didn't implement
> getPayloadSpans, the call to that method went to SpanQuery.getPayloadSpans
> which returned null and caused a NullPointerException in the Lucene code, far
> away from the actual source of the problem.
> It would be much better for this kind of thing to show up at compile time, I
> think.
> Thanks!
--
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: [email protected]
For additional commands, e-mail: [email protected]