Return-Path: X-Original-To: apmail-lucenenet-commits-archive@www.apache.org Delivered-To: apmail-lucenenet-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4A5A510613 for ; Thu, 7 Nov 2013 13:56:58 +0000 (UTC) Received: (qmail 59932 invoked by uid 500); 7 Nov 2013 13:54:22 -0000 Delivered-To: apmail-lucenenet-commits-archive@lucenenet.apache.org Received: (qmail 59140 invoked by uid 500); 7 Nov 2013 13:53:30 -0000 Mailing-List: contact commits-help@lucenenet.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucene-net-dev@lucenenet.apache.org Delivered-To: mailing list commits@lucenenet.apache.org Received: (qmail 58723 invoked by uid 99); 7 Nov 2013 13:53:19 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Nov 2013 13:53:19 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 933AF31D001; Thu, 7 Nov 2013 13:53:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: paulirwin@apache.org To: commits@lucenenet.apache.org Date: Thu, 07 Nov 2013 13:53:43 -0000 Message-Id: <14b22cd0342f468e85adf6d7f809a71b@git.apache.org> In-Reply-To: <8a96de0ee3994a3abe197590689f5335@git.apache.org> References: <8a96de0ee3994a3abe197590689f5335@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [28/53] [abbrv] git commit: Port Facet.Params Port Facet.Params Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/5be61513 Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/5be61513 Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/5be61513 Branch: refs/heads/branch_4x Commit: 5be6151351d6b5643a45fd334df2cf2b4c33a519 Parents: 9184d14 Author: Paul Irwin Authored: Sun Nov 3 19:01:32 2013 -0500 Committer: Paul Irwin Committed: Sun Nov 3 19:01:32 2013 -0500 ---------------------------------------------------------------------- src/contrib/Facet/Contrib.Facet.csproj | 3 ++ src/contrib/Facet/Params/FacetSearchParams.cs | 55 ++++++++++++++++++++ .../Facet/Params/PerDimensionIndexingParams.cs | 54 +++++++++++++++++++ .../Facet/Params/PerDimensionOrdinalPolicy.cs | 35 +++++++++++++ 4 files changed, 147 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucenenet/blob/5be61513/src/contrib/Facet/Contrib.Facet.csproj ---------------------------------------------------------------------- diff --git a/src/contrib/Facet/Contrib.Facet.csproj b/src/contrib/Facet/Contrib.Facet.csproj index f6dc66e..ff48e89 100644 --- a/src/contrib/Facet/Contrib.Facet.csproj +++ b/src/contrib/Facet/Contrib.Facet.csproj @@ -49,6 +49,9 @@ + + + http://git-wip-us.apache.org/repos/asf/lucenenet/blob/5be61513/src/contrib/Facet/Params/FacetSearchParams.cs ---------------------------------------------------------------------- diff --git a/src/contrib/Facet/Params/FacetSearchParams.cs b/src/contrib/Facet/Params/FacetSearchParams.cs new file mode 100644 index 0000000..17f911d --- /dev/null +++ b/src/contrib/Facet/Params/FacetSearchParams.cs @@ -0,0 +1,55 @@ +using Lucene.Net.Facet.Search; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Lucene.Net.Facet.Params +{ + public class FacetSearchParams + { + public readonly FacetIndexingParams indexingParams; + public readonly IList facetRequests; + + public FacetSearchParams(params FacetRequest[] facetRequests) + : this(FacetIndexingParams.DEFAULT, facetRequests) + { + } + + public FacetSearchParams(IList facetRequests) + : this(FacetIndexingParams.DEFAULT, facetRequests) + { + } + + public FacetSearchParams(FacetIndexingParams indexingParams, params FacetRequest[] facetRequests) + : this(indexingParams, facetRequests.ToList()) + { + } + + public FacetSearchParams(FacetIndexingParams indexingParams, IList facetRequests) + { + if (facetRequests == null || facetRequests.Count == 0) + { + throw new ArgumentException("at least one FacetRequest must be defined"); + } + + this.facetRequests = facetRequests; + this.indexingParams = indexingParams; + } + + public override string ToString() + { + string INDENT = " "; + char NEWLINE = '\n'; + StringBuilder sb = new StringBuilder("IndexingParams: "); + sb.Append(NEWLINE).Append(INDENT).Append(indexingParams); + sb.Append(NEWLINE).Append("FacetRequests:"); + foreach (FacetRequest facetRequest in facetRequests) + { + sb.Append(NEWLINE).Append(INDENT).Append(facetRequest); + } + + return sb.ToString(); + } + } +} http://git-wip-us.apache.org/repos/asf/lucenenet/blob/5be61513/src/contrib/Facet/Params/PerDimensionIndexingParams.cs ---------------------------------------------------------------------- diff --git a/src/contrib/Facet/Params/PerDimensionIndexingParams.cs b/src/contrib/Facet/Params/PerDimensionIndexingParams.cs new file mode 100644 index 0000000..cff2387 --- /dev/null +++ b/src/contrib/Facet/Params/PerDimensionIndexingParams.cs @@ -0,0 +1,54 @@ +using Lucene.Net.Facet.Taxonomy; +using Lucene.Net.Support; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Lucene.Net.Facet.Params +{ + public class PerDimensionIndexingParams : FacetIndexingParams + { + private readonly IDictionary clParamsMap; + + public PerDimensionIndexingParams(IDictionary paramsMap) + : this(paramsMap, DEFAULT_CATEGORY_LIST_PARAMS) + { + } + + public PerDimensionIndexingParams(IDictionary paramsMap, + CategoryListParams categoryListParams) + : base(categoryListParams) + { + clParamsMap = new HashMap(); + foreach (KeyValuePair e in paramsMap) + { + clParamsMap[e.Key.components[0]] = e.Value; + } + } + + public override IList AllCategoryListParams + { + get + { + List vals = new List(clParamsMap.Values); + vals.Add(clParams); + return vals; + } + } + + public override CategoryListParams GetCategoryListParams(CategoryPath category) + { + if (category != null) + { + CategoryListParams clParams = clParamsMap[category.components[0]]; + if (clParams != null) + { + return clParams; + } + } + + return null; + } + } +} http://git-wip-us.apache.org/repos/asf/lucenenet/blob/5be61513/src/contrib/Facet/Params/PerDimensionOrdinalPolicy.cs ---------------------------------------------------------------------- diff --git a/src/contrib/Facet/Params/PerDimensionOrdinalPolicy.cs b/src/contrib/Facet/Params/PerDimensionOrdinalPolicy.cs new file mode 100644 index 0000000..021ecd1 --- /dev/null +++ b/src/contrib/Facet/Params/PerDimensionOrdinalPolicy.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Lucene.Net.Facet.Params +{ + public class PerDimensionOrdinalPolicy : CategoryListParams + { + private readonly IDictionary policies; + private readonly OrdinalPolicy defaultOP; + + public PerDimensionOrdinalPolicy(IDictionary policies) + : this(policies, DEFAULT_ORDINAL_POLICY) + { + } + + public PerDimensionOrdinalPolicy(IDictionary policies, OrdinalPolicy defaultOP) + { + this.defaultOP = defaultOP; + this.policies = policies; + } + + public override OrdinalPolicy GetOrdinalPolicy(string dimension) + { + OrdinalPolicy op = policies[dimension]; + return op == null ? defaultOP : op; + } + + public override string ToString() + { + return base.ToString() + @" policies=" + policies; + } + } +}