You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by to...@apache.org on 2019/08/11 05:34:58 UTC

[lucene-solr] branch master updated: LUCENE-8948: Change 'name' argument in ICU factories to 'form'.

This is an automated email from the ASF dual-hosted git repository.

tomoko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/master by this push:
     new 407ba89  LUCENE-8948: Change 'name' argument in ICU factories to 'form'.
407ba89 is described below

commit 407ba89aad028a37cf5ec0f131b8773d394177c2
Author: Tomoko Uchida <to...@apache.org>
AuthorDate: Sun Aug 11 14:33:31 2019 +0900

    LUCENE-8948: Change 'name' argument in ICU factories to 'form'.
---
 lucene/CHANGES.txt                                         |  3 +++
 .../analysis/icu/ICUNormalizer2CharFilterFactory.java      |  6 +++---
 .../lucene/analysis/icu/ICUNormalizer2FilterFactory.java   |  6 +++---
 .../analysis/icu/TestICUNormalizer2CharFilterFactory.java  | 14 +++++++++++++-
 .../analysis/icu/TestICUNormalizer2FilterFactory.java      | 12 ++++++++++++
 5 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index a88988b..1db0da0 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -30,6 +30,9 @@ API Changes
 * LUCENE-8909: The deprecated IndexWriter#getFieldNames() method has been removed.
   (Adrien Grand, Munendra S N)
 
+* LUCENE-8948: Change "name" argument in ICU factories to "form". Here, "form" is
+  named after "Unicode Normalization Form". (Tomoko Uchida)
+
 Improvements
 
 * LUCENE-8757: When provided with an ExecutorService to run queries across
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
index 8a4db89..fe73f5a 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2CharFilterFactory.java
@@ -31,7 +31,7 @@ import org.apache.lucene.analysis.util.CharFilterFactory;
  * <p>
  * Supports the following attributes:
  * <ul>
- *   <li>name: A <a href="http://unicode.org/reports/tr15/">Unicode Normalization Form</a>, 
+ *   <li>form: A <a href="http://unicode.org/reports/tr15/">Unicode Normalization Form</a>,
  *       one of 'nfc','nfkc', 'nfkc_cf'. Default is nfkc_cf.
  *   <li>mode: Either 'compose' or 'decompose'. Default is compose. Use "decompose" with nfc
  *       or nfkc, to get nfd or nfkd, respectively.
@@ -55,10 +55,10 @@ public class ICUNormalizer2CharFilterFactory extends CharFilterFactory {
   /** Creates a new ICUNormalizer2CharFilterFactory */
   public ICUNormalizer2CharFilterFactory(Map<String,String> args) {
     super(args);
-    String name = get(args, "name", "nfkc_cf");
+    String form = get(args, "form", "nfkc_cf");
     String mode = get(args, "mode", Arrays.asList("compose", "decompose"), "compose");
     Normalizer2 normalizer = Normalizer2.getInstance
-        (null, name, "compose".equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE);
+        (null, form, "compose".equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE);
     
     String filter = get(args, "filter");
     if (filter != null) {
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
index d4e1ecd..e26de19 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/ICUNormalizer2FilterFactory.java
@@ -31,7 +31,7 @@ import org.apache.lucene.analysis.util.TokenFilterFactory;
  * <p>
  * Supports the following attributes:
  * <ul>
- *   <li>name: A <a href="http://unicode.org/reports/tr15/">Unicode Normalization Form</a>, 
+ *   <li>form: A <a href="http://unicode.org/reports/tr15/">Unicode Normalization Form</a>,
  *       one of 'nfc','nfkc', 'nfkc_cf'. Default is nfkc_cf.
  *   <li>mode: Either 'compose' or 'decompose'. Default is compose. Use "decompose" with nfc
  *       or nfkc, to get nfd or nfkd, respectively.
@@ -54,10 +54,10 @@ public class ICUNormalizer2FilterFactory extends TokenFilterFactory {
   /** Creates a new ICUNormalizer2FilterFactory */
   public ICUNormalizer2FilterFactory(Map<String,String> args) {
     super(args);
-    String name = get(args, "name", "nfkc_cf");
+    String form = get(args, "form", "nfkc_cf");
     String mode = get(args, "mode", Arrays.asList("compose", "decompose"), "compose");
     Normalizer2 normalizer = Normalizer2.getInstance
-        (null, name, "compose".equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE);
+        (null, form, "compose".equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE);
     
     String filter = get(args, "filter");
     if (filter != null) {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
index 90055f1..a1e01ba 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
@@ -20,6 +20,7 @@ package org.apache.lucene.analysis.icu;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
@@ -35,7 +36,18 @@ public class TestICUNormalizer2CharFilterFactory extends BaseTokenStreamTestCase
     TokenStream stream = whitespaceMockTokenizer(reader);
     assertTokenStreamContents(stream, new String[] { "this", "is", "a", "test" });
   }
-  
+
+  /** Test nfkc form */
+  public void testFormArgument() throws Exception {
+    Reader reader = new StringReader("This is a Test");
+    Map<String, String> args = new HashMap<>();
+    args.put("form", "nfkc");
+    ICUNormalizer2CharFilterFactory factory = new ICUNormalizer2CharFilterFactory(args);
+    reader = factory.create(reader);
+    TokenStream stream = whitespaceMockTokenizer(reader);
+    assertTokenStreamContents(stream, new String[] { "This", "is", "a", "Test" });
+  }
+
   /** Test that bogus arguments result in exception */
   public void testBogusArguments() throws Exception {
     IllegalArgumentException expected = expectThrows(IllegalArgumentException.class, () -> {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
index 8e8de80..237afe5 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
@@ -20,6 +20,7 @@ package org.apache.lucene.analysis.icu;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
@@ -35,6 +36,17 @@ public class TestICUNormalizer2FilterFactory extends BaseTokenStreamTestCase {
     stream = factory.create(stream);
     assertTokenStreamContents(stream, new String[] { "this", "is", "a", "test" });
   }
+
+  /** Test nfkc form */
+  public void testFormArgument() throws Exception {
+    Reader reader = new StringReader("This is a Test");
+    Map<String, String> args = new HashMap<>();
+    args.put("form", "nfkc");
+    ICUNormalizer2FilterFactory factory = new ICUNormalizer2FilterFactory(args);
+    TokenStream stream = whitespaceMockTokenizer(reader);
+    stream = factory.create(stream);
+    assertTokenStreamContents(stream, new String[] { "This", "is", "a", "Test" });
+  }
   
   /** Test that bogus arguments result in exception */
   public void testBogusArguments() throws Exception {