You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Tom Mortimer (JIRA)" <ji...@apache.org> on 2017/01/23 11:38:26 UTC

[jira] [Updated] (LUCENE-7646) AutomatonTermsEnum constructor throws a NullPointerException with match-all RegExp

     [ https://issues.apache.org/jira/browse/LUCENE-7646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom Mortimer updated LUCENE-7646:
---------------------------------
    Summary: AutomatonTermsEnum constructor throws a NullPointerException with match-all RegExp  (was: AutomatonTermsEnum constructor throws a NullPointerException with "silly" RegExp)

> AutomatonTermsEnum constructor throws a NullPointerException with match-all RegExp
> ----------------------------------------------------------------------------------
>
>                 Key: LUCENE-7646
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7646
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index, core/other
>    Affects Versions: 6.2, 6.3
>         Environment: MacOS
> java version "1.8.0_77"
> Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
>            Reporter: Tom Mortimer
>            Priority: Minor
>         Attachments: LUCENE-7646.patch
>
>
> When constructing a AutomatonTermsEnum using a CompiledAutomaton with a "silly" RegExp (".*.*") a NullPointerException is thrown. See code below:
> import java.nio.file.Paths;
> import org.apache.lucene.index.*;
> import org.apache.lucene.store.*;
> import org.apache.lucene.util.automaton.*;
> public class RegExpNPE {
>   final static String REGEXP = ".*.*";
>   // replace these as appropriate
>   final static String INDEX = "../src/test/resources/index";
>   final static String FIELD = "text";
>   public static void main(String[] args) throws Exception {
>     Directory directory = FSDirectory.open(Paths.get(INDEX));
>     IndexReader reader = DirectoryReader.open(directory);
>     Fields fields = MultiFields.getFields(reader);
>     Terms terms = fields.terms(FIELD);
>     TermsEnum termsEnum = terms.iterator();
>     CompiledAutomaton automaton = new CompiledAutomaton(new RegExp(REGEXP).toAutomaton());
>     TermsEnum termsEnum2 = new AutomatonTermsEnum(termsEnum, automaton);
>   }
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org