Hi Chetan

Would it not make sense to give the configuration node an extension,
i.e. tika/config.xml (tika/config.xml/jcr:content/@jcr:data)?

That way tika configs that are edited via WebDAV (or installed as part
of a content-package) could benefit from the XML support of
text-editors.

Regards
Julian

On Mon, Feb 2, 2015 at 7:51 AM,  <[email protected]> wrote:
> Author: chetanm
> Date: Mon Feb  2 06:51:39 2015
> New Revision: 1656394
>
> URL: http://svn.apache.org/r1656394
> Log:
> OAK-2463 - Provide support for providing custom Tika config
>
> Move Tika related to config to 'tika' node. So config file is now defined at 
> tika/config/jcr:content/@jcr:data
>
> Modified:
>     
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
>     
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java
>     
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
>     
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
>
> Modified: 
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
> URL: 
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1656394&r1=1656393&r2=1656394&view=diff
> ==============================================================================
> --- 
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
>  (original)
> +++ 
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
>  Mon Feb  2 06:51:39 2015
> @@ -88,6 +88,7 @@ import static org.apache.jackrabbit.oak.
>  import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.ORDERED_PROP_NAMES;
>  import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.PROP_NAME;
>  import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.PROP_NODE;
> +import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.TIKA;
>  import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.TIKA_CONFIG;
>  import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.PropertyDefinition.DEFAULT_BOOST;
>  import static 
> org.apache.jackrabbit.oak.plugins.index.lucene.util.ConfigUtil.getOptionalValue;
> @@ -235,7 +236,7 @@ class IndexDefinition implements Aggrega
>          this.indexesAllTypes = areAllTypesIndexed();
>          this.analyzers = collectAnalyzers(defn);
>          this.analyzer = createAnalyzer();
> -        this.hasCustomTikaConfig = defn.getChildNode(TIKA_CONFIG).exists();
> +        this.hasCustomTikaConfig = getTikaConfigNode().exists();
>      }
>
>      public boolean isFullTextEnabled() {
> @@ -321,7 +322,7 @@ class IndexDefinition implements Aggrega
>      }
>
>      public InputStream getTikaConfig(){
> -        return ConfigUtil.getBlob(definition.getChildNode(TIKA_CONFIG), 
> TIKA_CONFIG).getNewStream();
> +        return ConfigUtil.getBlob(getTikaConfigNode(), 
> TIKA_CONFIG).getNewStream();
>      }
>
>      @Override
> @@ -982,6 +983,10 @@ class IndexDefinition implements Aggrega
>
>      //~---------------------------------------------< utility >
>
> +    private NodeState getTikaConfigNode() {
> +        return definition.getChildNode(TIKA).getChildNode(TIKA_CONFIG);
> +    }
> +
>      private Codec createCodec() {
>          String codecName = getOptionalValue(definition, 
> LuceneIndexConstants.CODEC_NAME, null);
>          Codec codec = null;
>
> Modified: 
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java
> URL: 
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java?rev=1656394&r1=1656393&r2=1656394&view=diff
> ==============================================================================
> --- 
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java
>  (original)
> +++ 
> jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java
>  Mon Feb  2 06:51:39 2015
> @@ -201,5 +201,13 @@ public interface LuceneIndexConstants {
>      String ANL_NAME = "name";
>      String ANL_LUCENE_MATCH_VERSION = 
> AbstractAnalysisFactory.LUCENE_MATCH_VERSION_PARAM;
>
> -    String TIKA_CONFIG = "tikaConfig";
> +    /**
> +     * Config node which include Tika related configuration
> +     */
> +    String TIKA = "tika";
> +
> +    /**
> +     * nt:file node under 'tika' node which refers to the config xml file
> +     */
> +    String TIKA_CONFIG = "config";
>  }
>
> Modified: 
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
> URL: 
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java?rev=1656394&r1=1656393&r2=1656394&view=diff
> ==============================================================================
> --- 
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
>  (original)
> +++ 
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
>  Mon Feb  2 06:51:39 2015
> @@ -492,7 +492,8 @@ public class IndexDefinitionTest {
>          IndexDefinition defn = new IndexDefinition(root, 
> defnb.getNodeState());
>          assertFalse(defn.hasCustomTikaConfig());
>
> -        defnb.child(LuceneIndexConstants.TIKA_CONFIG)
> +        defnb.child(LuceneIndexConstants.TIKA)
> +                .child(LuceneIndexConstants.TIKA_CONFIG)
>                  .child(JcrConstants.JCR_CONTENT)
>                  .setProperty(JcrConstants.JCR_DATA, "hello".getBytes());
>          defn = new IndexDefinition(root, defnb.getNodeState());
>
> Modified: 
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
> URL: 
> http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java?rev=1656394&r1=1656393&r2=1656394&view=diff
> ==============================================================================
> --- 
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
>  (original)
> +++ 
> jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
>  Mon Feb  2 06:51:39 2015
> @@ -969,7 +969,10 @@ public class LucenePropertyIndexTest ext
>                  "  </parsers>\n" +
>                  "</properties>";
>
> -        
> idx.addChild(LuceneIndexConstants.TIKA_CONFIG).addChild(JCR_CONTENT).setProperty(JCR_DATA,
>  tikaConfig.getBytes());
> +        idx.addChild(LuceneIndexConstants.TIKA)
> +                .addChild(LuceneIndexConstants.TIKA_CONFIG)
> +                .addChild(JCR_CONTENT)
> +                .setProperty(JCR_DATA, tikaConfig.getBytes());
>          idx.setProperty(IndexConstants.REINDEX_PROPERTY_NAME, true);
>          root.commit();
>
>
>

Reply via email to