This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers in repository https://gitbox.apache.org/repos/asf/camel.git
commit e61fe3ed5b567d7acd1d7945bc96b9ce2d077fcc Author: Nicolas Filotto <[email protected]> AuthorDate: Thu Mar 31 11:11:40 2022 +0200 CAMEL-17792: Add doc about the message headers of camel-lucene --- .../org/apache/camel/component/lucene/lucene.json | 4 +++ .../src/main/docs/lucene-component.adoc | 20 ++++--------- .../camel/component/lucene/LuceneConstants.java | 34 ++++++++++++++++++++++ .../camel/component/lucene/LuceneEndpoint.java | 2 +- .../component/lucene/LuceneQueryProducer.java | 4 +-- .../processor/lucene/LuceneQueryProcessor.java | 5 ++-- .../lucene/LuceneIndexAndQueryProducerIT.java | 10 +++---- .../processor/lucene/LuceneQueryProcessorIT.java | 7 +++-- 8 files changed, 58 insertions(+), 28 deletions(-) diff --git a/components/camel-lucene/src/generated/resources/org/apache/camel/component/lucene/lucene.json b/components/camel-lucene/src/generated/resources/org/apache/camel/component/lucene/lucene.json index df69160..44f33a7 100644 --- a/components/camel-lucene/src/generated/resources/org/apache/camel/component/lucene/lucene.json +++ b/components/camel-lucene/src/generated/resources/org/apache/camel/component/lucene/lucene.json @@ -30,6 +30,10 @@ "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] "config": { "kind": "property", "displayName": "Config", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.lucene.LuceneConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared lucene configuration" } }, + "headers": { + "QUERY": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Lucene Query to performed on the index. The query may include\nwildcards and phrases." }, + "RETURN_LUCENE_DOCS": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Set this header to true to include the actual Lucene\ndocumentation when returning hit information." } + }, "properties": { "host": { "kind": "path", "displayName": "Host", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.lucene.LuceneConfiguration", "configurationField": "config", "description": "The URL to the lucene server" }, "operation": { "kind": "path", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.lucene.LuceneOperation", "enum": [ "insert", "query" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.lucene.LuceneConfiguration", "configurationField": "config", "description": "Operation to do such as insert or query." }, diff --git a/components/camel-lucene/src/main/docs/lucene-component.adoc b/components/camel-lucene/src/main/docs/lucene-component.adoc index fe0e20a..43215d6 100644 --- a/components/camel-lucene/src/main/docs/lucene-component.adoc +++ b/components/camel-lucene/src/main/docs/lucene-component.adoc @@ -62,22 +62,12 @@ include::partial$component-endpoint-options.adoc[] // endpoint options: END +// component headers: START +include::partial$component-endpoint-headers.adoc[] +// component headers: END == Sending/Receiving Messages to/from the cache -=== Message Headers - -[width="100%",cols="10%,90%",options="header",] -|======================================================================= -|Header |Description - -|`QUERY` |The Lucene Query to performed on the index. The query may include -wildcards and phrases - -|`RETURN_LUCENE_DOCS` |Set this header to true to include the actual Lucene -documentation when returning hit information. -|======================================================================= - === Lucene Producers This component supports 2 producer endpoints. @@ -131,7 +121,7 @@ registry.bind("whitespaceAnalyzer", new WhitespaceAnalyzer()); RouteBuilder builder = new RouteBuilder() { public void configure() { from("direct:start"). - setHeader("QUERY", constant("Seinfeld")). + setHeader(LuceneConstants.HEADER_QUERY, constant("Seinfeld")). to("lucene:searchIndex:query? analyzer=#whitespaceAnalyzer&indexDir=#whitespace&maxHits=20"). to("direct:next"); @@ -163,7 +153,7 @@ RouteBuilder builder = new RouteBuilder() { public void configure() { try { from("direct:start"). - setHeader("QUERY", constant("Rodney Dangerfield")). + setHeader(LuceneConstants.HEADER_QUERY, constant("Rodney Dangerfield")). process(new LuceneQueryProcessor("target/stdindexDir", analyzer, null, 20)). to("direct:next"); } catch (Exception e) { diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConstants.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConstants.java new file mode 100644 index 0000000..bbbf416 --- /dev/null +++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConstants.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.lucene; + +import org.apache.camel.spi.Metadata; + +public final class LuceneConstants { + + @Metadata(description = "The Lucene Query to performed on the index. The query may include\n" + + "wildcards and phrases.", + javaType = "String") + public static final String HEADER_QUERY = "QUERY"; + @Metadata(description = "Set this header to true to include the actual Lucene\n" + + "documentation when returning hit information.", + javaType = "String") + public static final String HEADER_RETURN_LUCENE_DOCS = "RETURN_LUCENE_DOCS"; + + private LuceneConstants() { + } +} diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneEndpoint.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneEndpoint.java index 6631596..2ef4f04 100644 --- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneEndpoint.java +++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneEndpoint.java @@ -29,7 +29,7 @@ import org.apache.camel.support.DefaultEndpoint; * Perform inserts or queries against Apache Lucene databases. */ @UriEndpoint(firstVersion = "2.2.0", scheme = "lucene", title = "Lucene", syntax = "lucene:host:operation", producerOnly = true, - category = { Category.DATABASE, Category.SEARCH }) + category = { Category.DATABASE, Category.SEARCH }, headersClass = LuceneConstants.class) public class LuceneEndpoint extends DefaultEndpoint { @UriParam LuceneConfiguration config; diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java index 7a7e9db..9da9bea 100644 --- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java +++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java @@ -56,8 +56,8 @@ public class LuceneQueryProducer extends DefaultProducer { public void process(Exchange exchange) throws Exception { Hits hits; - String phrase = exchange.getIn().getHeader("QUERY", String.class); - String returnLuceneDocs = exchange.getIn().getHeader("RETURN_LUCENE_DOCS", String.class); + String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class); + String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class); boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true"); if (phrase != null) { diff --git a/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java b/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java index 8caae9f..00e5e02 100644 --- a/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java +++ b/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java @@ -20,6 +20,7 @@ import java.io.File; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import org.apache.camel.component.lucene.LuceneConstants; import org.apache.camel.component.lucene.LuceneSearcher; import org.apache.camel.processor.lucene.support.Hits; import org.apache.lucene.analysis.Analyzer; @@ -45,8 +46,8 @@ public class LuceneQueryProcessor implements Processor { public void process(Exchange exchange) throws Exception { Hits hits; - String phrase = exchange.getIn().getHeader("QUERY", String.class); - String returnLuceneDocs = exchange.getIn().getHeader("RETURN_LUCENE_DOCS", String.class); + String phrase = exchange.getIn().getHeader(LuceneConstants.HEADER_QUERY, String.class); + String returnLuceneDocs = exchange.getIn().getHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, String.class); boolean isReturnLuceneDocs = returnLuceneDocs != null && returnLuceneDocs.equalsIgnoreCase("true"); if (phrase != null) { diff --git a/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerIT.java b/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerIT.java index a633f4a..a72f841 100644 --- a/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerIT.java +++ b/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerIT.java @@ -86,7 +86,7 @@ public class LuceneIndexAndQueryProducerIT extends CamelTestSupport { // Set the property of the charset encoding exchange.setProperty(Exchange.CHARSET_NAME, "UTF-8"); Message in = exchange.getIn(); - in.setHeader("QUERY", ""); + in.setHeader(LuceneConstants.HEADER_QUERY, ""); } }); } @@ -122,7 +122,7 @@ public class LuceneIndexAndQueryProducerIT extends CamelTestSupport { context.addRoutes(new RouteBuilder() { public void configure() { - from("direct:start").setHeader("QUERY", constant("Seinfeld")) + from("direct:start").setHeader(LuceneConstants.HEADER_QUERY, constant("Seinfeld")) .to("lucene:searchIndex:query?analyzer=#whitespaceAnalyzer&indexDir=#whitespace&maxHits=20") .to("direct:next"); @@ -158,7 +158,7 @@ public class LuceneIndexAndQueryProducerIT extends CamelTestSupport { context.addRoutes(new RouteBuilder() { public void configure() { - from("direct:start").setHeader("QUERY", constant("Grouc?? Marx")) + from("direct:start").setHeader(LuceneConstants.HEADER_QUERY, constant("Grouc?? Marx")) .to("lucene:searchIndex:query?analyzer=#stdAnalyzer&indexDir=#std&maxHits=20").to("direct:next"); from("direct:next").process(new Processor() { @@ -192,8 +192,8 @@ public class LuceneIndexAndQueryProducerIT extends CamelTestSupport { context.addRoutes(new RouteBuilder() { public void configure() { - from("direct:start").setHeader("QUERY", constant("Grouc?? Marx")) - .setHeader("RETURN_LUCENE_DOCS", constant("true")) + from("direct:start").setHeader(LuceneConstants.HEADER_QUERY, constant("Grouc?? Marx")) + .setHeader(LuceneConstants.HEADER_RETURN_LUCENE_DOCS, constant("true")) .to("lucene:searchIndex:query?analyzer=#stdAnalyzer&indexDir=#std&maxHits=20").to("direct:next"); from("direct:next").process(new Processor() { diff --git a/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorIT.java b/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorIT.java index 34e897d..9c2adcb 100644 --- a/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorIT.java +++ b/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorIT.java @@ -20,6 +20,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.lucene.LuceneConstants; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.processor.lucene.support.Hits; import org.apache.camel.test.junit5.CamelTestSupport; @@ -44,7 +45,7 @@ public class LuceneQueryProcessorIT extends CamelTestSupport { // Set the property of the charset encoding exchange.setProperty(Exchange.CHARSET_NAME, "UTF-8"); Message in = exchange.getIn(); - in.setHeader("QUERY", ""); + in.setHeader(LuceneConstants.HEADER_QUERY, ""); } }); } @@ -59,7 +60,7 @@ public class LuceneQueryProcessorIT extends CamelTestSupport { public void configure() { try { - from("direct:start").setHeader("QUERY", constant("Rodney Dangerfield")) + from("direct:start").setHeader(LuceneConstants.HEADER_QUERY, constant("Rodney Dangerfield")) .process(new LuceneQueryProcessor("target/stdindexDir", analyzer, null, 20)).to("direct:next"); } catch (Exception e) { LOG.warn("Unhandled exception: {}", e.getMessage(), e); @@ -101,7 +102,7 @@ public class LuceneQueryProcessorIT extends CamelTestSupport { public void configure() { try { - from("direct:start").setHeader("QUERY", constant("Carl*")) + from("direct:start").setHeader(LuceneConstants.HEADER_QUERY, constant("Carl*")) .process(new LuceneQueryProcessor("target/simpleindexDir", analyzer, null, 20)) .to("direct:next"); } catch (Exception e) {
