This is an automated email from the ASF dual-hosted git repository.
nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git
The following commit(s) were added to refs/heads/master by this push:
new 6294e8e https://issues.apache.org/jira/browse/LUCENENET-607 (#241)
6294e8e is described below
commit 6294e8ea51e8007c87b8281aa7cd83008cc4697a
Author: bongohrtech <[email protected]>
AuthorDate: Tue Apr 14 16:56:47 2020 +0700
https://issues.apache.org/jira/browse/LUCENENET-607 (#241)
* https://issues.apache.org/jira/browse/LUCENENET-607
modified to be a generic IList<char[]>. Created methods for readability.
* https://issues.apache.org/jira/browse/LUCENENET-607
Changed to property
Co-authored-by: Michael Condillac <[email protected]>
---
.../Analysis/Ar/ArabicStemmer.cs | 39 ++++++++++++----------
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Ar/ArabicStemmer.cs
b/src/Lucene.Net.Analysis.Common/Analysis/Ar/ArabicStemmer.cs
index 63cd891..9c59687 100644
--- a/src/Lucene.Net.Analysis.Common/Analysis/Ar/ArabicStemmer.cs
+++ b/src/Lucene.Net.Analysis.Common/Analysis/Ar/ArabicStemmer.cs
@@ -1,4 +1,6 @@
using Lucene.Net.Analysis.Util;
+using System;
+using System.Collections.Generic;
namespace Lucene.Net.Analysis.Ar
{
@@ -44,22 +46,23 @@ namespace Lucene.Net.Analysis.Ar
public const char WAW = '\u0648';
public const char YEH = '\u064A';
- // LUCENENET TODO: API - Make property, change datatype to regular
array or collection
- public static readonly char[][] prefixes = new char[][] // LUCENENET:
Avoid static constructors (see
https://github.com/apache/lucenenet/pull/224#issuecomment-469284006)
+ // LUCENENET: Avoid static constructors (see
https://github.com/apache/lucenenet/pull/224#issuecomment-469284006)
+ public static IList<char[]> Prefixes { get; } = InitializePrefix();
+ public static IList<char[]> Suffixes { get; } = InitializeSuffix();
+
+ private static IList<char[]> InitializePrefix()
{
- ("" + ALEF + LAM).ToCharArray(),
+ return new List<char[]>(){ ("" + ALEF + LAM).ToCharArray(),
("" + WAW + ALEF + LAM).ToCharArray(),
("" + BEH + ALEF + LAM).ToCharArray(),
("" + KAF + ALEF + LAM).ToCharArray(),
("" + FEH + ALEF + LAM).ToCharArray(),
("" + LAM + LAM).ToCharArray(),
- ("" + WAW).ToCharArray(),
- };
-
- // LUCENENET TODO: API - Make property, change datatype to regular
array or collection
- public static readonly char[][] suffixes = new char[][] // LUCENENET:
Avoid static constructors (see
https://github.com/apache/lucenenet/pull/224#issuecomment-469284006)
+ ("" + WAW).ToCharArray() };
+ }
+ private static IList<char[]> InitializeSuffix()
{
- ("" + HEH + ALEF).ToCharArray(),
+ return new List<char[]>(){ ("" + HEH + ALEF).ToCharArray(),
("" + ALEF + NOON).ToCharArray(),
("" + ALEF + TEH).ToCharArray(),
("" + WAW + NOON).ToCharArray(),
@@ -68,9 +71,9 @@ namespace Lucene.Net.Analysis.Ar
("" + YEH + TEH_MARBUTA).ToCharArray(),
("" + HEH).ToCharArray(),
("" + TEH_MARBUTA).ToCharArray(),
- ("" + YEH).ToCharArray(),
- };
-
+ ("" + YEH).ToCharArray() };
+ }
+
/// <summary>
/// Stem an input buffer of Arabic text.
/// </summary>
@@ -92,11 +95,11 @@ namespace Lucene.Net.Analysis.Ar
/// <returns> new length of input buffer after stemming. </returns>
public virtual int StemPrefix(char[] s, int len)
{
- for (int i = 0; i < prefixes.Length; i++)
+ for (int i = 0; i < Prefixes.Count; i++)
{
- if (StartsWithCheckLength(s, len, prefixes[i]))
+ if (StartsWithCheckLength(s, len, Prefixes[i]))
{
- return StemmerUtil.DeleteN(s, 0, len, prefixes[i].Length);
+ return StemmerUtil.DeleteN(s, 0, len, Prefixes[i].Length);
}
}
return len;
@@ -109,11 +112,11 @@ namespace Lucene.Net.Analysis.Ar
/// <returns> new length of input buffer after stemming </returns>
public virtual int StemSuffix(char[] s, int len)
{
- for (int i = 0; i < suffixes.Length; i++)
+ for (int i = 0; i < Suffixes.Count; i++)
{
- if (EndsWithCheckLength(s, len, suffixes[i]))
+ if (EndsWithCheckLength(s, len, Suffixes[i]))
{
- len = StemmerUtil.DeleteN(s, len - suffixes[i].Length,
len, suffixes[i].Length);
+ len = StemmerUtil.DeleteN(s, len - Suffixes[i].Length,
len, Suffixes[i].Length);
}
}
return len;