Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8F31A200CAD for ; Wed, 28 Jun 2017 18:57:12 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 8E2FC160BF7; Wed, 28 Jun 2017 16:57:12 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id ACBC9160BFF for ; Wed, 28 Jun 2017 18:57:11 +0200 (CEST) Received: (qmail 65811 invoked by uid 500); 28 Jun 2017 16:57:10 -0000 Mailing-List: contact commits-help@jena.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jena.apache.org Delivered-To: mailing list commits@jena.apache.org Received: (qmail 65716 invoked by uid 99); 28 Jun 2017 16:57:10 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jun 2017 16:57:10 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 76972E96BD; Wed, 28 Jun 2017 16:57:10 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: andy@apache.org To: commits@jena.apache.org Date: Wed, 28 Jun 2017 16:57:15 -0000 Message-Id: <9272f640c8e84af0b38cb169f933f057@git.apache.org> In-Reply-To: <25fbe96b005541e1b0a59cfe1e2706e4@git.apache.org> References: <25fbe96b005541e1b0a59cfe1e2706e4@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [06/18] jena git commit: added parameters of type org.apache.lucene.analysis.Analyzer archived-at: Wed, 28 Jun 2017 16:57:12 -0000 added parameters of type org.apache.lucene.analysis.Analyzer Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d2f0561b Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d2f0561b Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d2f0561b Branch: refs/heads/master Commit: d2f0561b99c957658261b3693e4a89892369a65a Parents: 8f1fa7c Author: Chris Tomlinson Authored: Sat Apr 22 12:29:04 2017 -0500 Committer: Chris Tomlinson Committed: Sat Apr 22 12:29:04 2017 -0500 ---------------------------------------------------------------------- .../assembler/GenericAnalyzerAssembler.java | 61 ++++++++++++++++---- 1 file changed, 50 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/d2f0561b/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java index 0fa706e..853fcb6 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java @@ -48,6 +48,7 @@ import org.apache.lucene.analysis.CharArraySet; * file java.io.FileReader * int int * boolean boolean + * analyzer org.apache.lucene.analysis.Analyzer * * * Although the list of types is not exhaustive it is a simple matter @@ -83,7 +84,7 @@ import org.apache.lucene.analysis.CharArraySet; * A parameter of type string, file, boolean, or * int must have a single text:paramValue of the appropriate type. *

- * Example: + * Examples: *

     text:map (
          [ text:field "text" ; 
@@ -101,6 +102,23 @@ import org.apache.lucene.analysis.CharArraySet;
                     )
            ] .
  * 
+ *
+    text:map (
+         [ text:field "text" ; 
+           text:predicate rdfs:label;
+           text:analyzer [
+               a text:GenericAnalyzer ;
+               text:class "org.apache.lucene.analysis.shingle.ShingleAnalyzerWrapper" ;
+               text:params (
+                    [ text:paramName "defaultAnalyzer" ;
+                      text:paramType "analyzer" ;
+                      text:paramValue [ a text:SimpleAnalyzer ] ]
+                    [ text:paramName "maxShingleSize" ;
+                      text:paramType "int" ;
+                      text:paramValue 3 ]
+                    )
+           ] .
+ * 
*/ public class GenericAnalyzerAssembler extends AssemblerBase { /* @@ -121,7 +139,14 @@ public class GenericAnalyzerAssembler extends AssemblerBase { ] . */ - @Override + public static final String TYPE_ANALYZER = "analyzer"; + public static final String TYPE_BOOL = "boolean"; + public static final String TYPE_FILE = "file"; + public static final String TYPE_INT = "int"; + public static final String TYPE_SET = "set"; + public static final String TYPE_STRING = "string"; + + @Override public Analyzer open(Assembler a, Resource root, Mode mode) { if (root.hasProperty(TextVocab.pClass)) { // text:class is expected to be a string literal @@ -242,7 +267,7 @@ public class GenericAnalyzerAssembler extends AssemblerBase { switch (type) { // String - case "string": { + case TYPE_STRING: { if (value == null) { throw new TextIndexException("Value for string param: " + name + " must not be empty!"); } @@ -250,8 +275,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase { return new ParamSpec(name, value, String.class); } - // "java.io.FileReader": - case "file": { + // java.io.FileReader + case TYPE_FILE: { if (value == null) { throw new TextIndexException("Value for file param must exist and must contain a file name."); @@ -267,8 +292,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase { } } - // "org.apache.lucene.analysis.util.CharArraySet": - case "set": { + // org.apache.lucene.analysis.util.CharArraySet + case TYPE_SET: { if (valueStmt == null) { throw new TextIndexException("A set param spec must have a text:paramValue:" + node); } @@ -283,8 +308,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase { return new ParamSpec(name, new CharArraySet(values, false), CharArraySet.class); } - // "int": - case "int": + // int + case TYPE_INT: if (value == null) { throw new TextIndexException("Value for int param: " + name + " must not be empty!"); } @@ -292,8 +317,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase { int n = ((Literal) valueStmt.getObject()).getInt(); return new ParamSpec(name, n, int.class); - // "boolean": - case "boolean": + // boolean + case TYPE_BOOL: if (value == null) { throw new TextIndexException("Value for boolean param: " + name + " must not be empty!"); } @@ -301,6 +326,20 @@ public class GenericAnalyzerAssembler extends AssemblerBase { boolean b = ((Literal) valueStmt.getObject()).getBoolean(); return new ParamSpec(name, b, boolean.class); + // org.apache.lucene.analysis.Analyzer + case TYPE_ANALYZER: + if (valueStmt == null) { + throw new TextIndexException("Analyzer param spec must have a text:paramValue:" + node); + } + + RDFNode valueNode = valueStmt.getObject(); + if (!valueNode.isResource()) { + throw new TextIndexException("Analyzer param spec text:paramValue must be an analyzer spec resource: " + valueNode); + } + + Analyzer analyzer = (Analyzer) Assembler.general.open((Resource) valueNode); + return new ParamSpec(name, analyzer, Analyzer.class); + default: // there was no match Log.error(this, "Unknown parameter type: " + type + " for param: " + name + " with value: " + value);